From 34fef0911cc39f2998d822a7a44791416150742e Mon Sep 17 00:00:00 2001 From: Triang3l Date: Mon, 17 Sep 2018 07:35:56 +0300 Subject: [PATCH] [GPU] Fix dynamic GPR addressing check --- src/xenia/gpu/shader_translator.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/xenia/gpu/shader_translator.cc b/src/xenia/gpu/shader_translator.cc index 83d8bae5b..064cc1b42 100644 --- a/src/xenia/gpu/shader_translator.cc +++ b/src/xenia/gpu/shader_translator.cc @@ -266,7 +266,7 @@ void ShaderTranslator::GatherInstructionInformation( const auto& opcode_info = alu_vector_opcode_infos_[static_cast(op.vector_opcode())]; for (size_t i = 0; i < opcode_info.argument_count; ++i) { - if (op.src_is_temp(i) && (op.src_reg(i) & 0x40)) { + if (op.src_is_temp(i + 1) && (op.src_reg(i + 1) & 0x40)) { uses_register_dynamic_addressing_ = true; } } @@ -283,8 +283,8 @@ void ShaderTranslator::GatherInstructionInformation( if (op.has_scalar_op()) { const auto& opcode_info = alu_scalar_opcode_infos_[static_cast(op.scalar_opcode())]; - if (opcode_info.argument_count == 1 && op.src_is_temp(0) && - (op.src_reg(0) & 0x40)) { + if (opcode_info.argument_count == 1 && op.src_is_temp(3) && + (op.src_reg(3) & 0x40)) { uses_register_dynamic_addressing_ = true; } if (op.is_export()) {