GPU Shader Translator: Add cases for memexport registers
This commit is contained in:
parent
cfc65a0197
commit
8bfe22bbd7
|
@ -1130,6 +1130,16 @@ void ShaderTranslator::ParseAluVectorInstruction(
|
|||
: InstructionStorageAddressingMode::kStatic;
|
||||
} else if (is_vertex_shader()) {
|
||||
switch (dest_num) {
|
||||
case 32:
|
||||
case 33:
|
||||
case 34:
|
||||
case 35:
|
||||
case 36:
|
||||
case 37:
|
||||
// TODO: Memexport registers
|
||||
i.result.storage_target = InstructionStorageTarget::kNone;
|
||||
i.result.storage_index = 0;
|
||||
break;
|
||||
case 62:
|
||||
i.result.storage_target = InstructionStorageTarget::kPosition;
|
||||
break;
|
||||
|
@ -1171,9 +1181,26 @@ void ShaderTranslator::ParseAluVectorInstruction(
|
|||
i.result.storage_target = InstructionStorageTarget::kColorTarget;
|
||||
i.result.storage_index = 3;
|
||||
break;
|
||||
case 32:
|
||||
case 33:
|
||||
case 34:
|
||||
case 35:
|
||||
case 36:
|
||||
case 37:
|
||||
// TODO: Memexport registers
|
||||
i.result.storage_target = InstructionStorageTarget::kNone;
|
||||
i.result.storage_index = 0;
|
||||
break;
|
||||
case 61:
|
||||
i.result.storage_target = InstructionStorageTarget::kDepth;
|
||||
break;
|
||||
default:
|
||||
XELOGE(
|
||||
"ShaderTranslator::ParseAluVectorInstruction: Unsupported write "
|
||||
"to export %d",
|
||||
dest_num);
|
||||
i.result.storage_target = InstructionStorageTarget::kNone;
|
||||
i.result.storage_index = 0;
|
||||
}
|
||||
}
|
||||
if (op.is_export()) {
|
||||
|
|
Loading…
Reference in New Issue