1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2025-02-20 19:54:19 +01:00

[dxbc] Use correct arrays for vicp/vocp in hull shaders

Fixes Heaven on RADV.
This commit is contained in:
Philip Rebohle 2018-03-07 09:52:24 +01:00
parent 6e981b91b6
commit 7ac0d413ad
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99

View File

@ -3921,12 +3921,14 @@ namespace dxvk {
switch (operand.type) {
case DxbcOperandType::InputControlPoint:
return m_version.type() == DxbcProgramType::HullShader
? InputArray { m_hs.outputPerVertex, spv::StorageClassOutput }
: InputArray { m_ds.inputPerVertex, spv::StorageClassInput };
? InputArray { m_vArray, spv::StorageClassPrivate }
: InputArray { m_ds.inputPerVertex, spv::StorageClassInput };
case DxbcOperandType::InputPatchConstant:
return m_version.type() == DxbcProgramType::HullShader
? InputArray { m_hs.outputPerPatch, spv::StorageClassOutput }
: InputArray { m_ds.inputPerPatch, spv::StorageClassInput };
case DxbcOperandType::OutputControlPoint:
return InputArray { m_hs.outputPerVertex, spv::StorageClassOutput };
default:
return { m_vArray, spv::StorageClassPrivate };
}
@ -4059,6 +4061,7 @@ namespace dxvk {
case DxbcOperandType::Input:
case DxbcOperandType::InputControlPoint:
case DxbcOperandType::InputPatchConstant:
case DxbcOperandType::OutputControlPoint:
return emitGetInputPtr(operand);
case DxbcOperandType::Output: