mirror of
https://github.com/doitsujin/dxvk.git
synced 2025-03-06 20:58:37 +01:00
[dxbc] Added support for oDepthGe/oDepthLe
This commit is contained in:
parent
b3ba401503
commit
59be5b72e8
1 changed files with 22 additions and 0 deletions
|
@ -444,6 +444,26 @@ namespace dxvk {
|
|||
"oDepth");
|
||||
} break;
|
||||
|
||||
case DxbcOperandType::OutputDepthGe: {
|
||||
m_module.setExecutionMode(m_entryPointId, spv::ExecutionModeDepthReplacing);
|
||||
m_module.setExecutionMode(m_entryPointId, spv::ExecutionModeDepthGreater);
|
||||
m_ps.builtinDepth = emitNewBuiltinVariable({
|
||||
{ DxbcScalarType::Float32, 1, 0 },
|
||||
spv::StorageClassOutput },
|
||||
spv::BuiltInFragDepth,
|
||||
"oDepthGe");
|
||||
} break;
|
||||
|
||||
case DxbcOperandType::OutputDepthLe: {
|
||||
m_module.setExecutionMode(m_entryPointId, spv::ExecutionModeDepthReplacing);
|
||||
m_module.setExecutionMode(m_entryPointId, spv::ExecutionModeDepthLess);
|
||||
m_ps.builtinDepth = emitNewBuiltinVariable({
|
||||
{ DxbcScalarType::Float32, 1, 0 },
|
||||
spv::StorageClassOutput },
|
||||
spv::BuiltInFragDepth,
|
||||
"oDepthLe");
|
||||
} break;
|
||||
|
||||
default:
|
||||
Logger::err(str::format(
|
||||
"DxbcCompiler: Unsupported operand type declaration: ",
|
||||
|
@ -3770,6 +3790,8 @@ namespace dxvk {
|
|||
m_ps.builtinSampleMaskOut };
|
||||
|
||||
case DxbcOperandType::OutputDepth:
|
||||
case DxbcOperandType::OutputDepthGe:
|
||||
case DxbcOperandType::OutputDepthLe:
|
||||
return DxbcRegisterPointer {
|
||||
{ DxbcScalarType::Float32, 1 },
|
||||
m_ps.builtinDepth };
|
||||
|
|
Loading…
Add table
Reference in a new issue