Fix BRI instruction, fixes #1165

This commit is contained in:
Raul Tambre 2015-09-06 15:49:02 +03:00 committed by Nekotekina
parent de97c8e20f
commit 4666f190db

View file

@ -574,10 +574,9 @@ std::string VertexProgramDecompiler::Decompile()
AddCode("}"); AddCode("}");
} }
break; break;
/* This triggers opengl driver lost connection error code 7
case RSX_SCA_OPCODE_BRI: // works differently (BRI o[1].x(TR) L0;) case RSX_SCA_OPCODE_BRI: // works differently (BRI o[1].x(TR) L0;)
{ {
uint jump_position; u32 jump_position = 1;
if (is_has_BRA) if (is_has_BRA)
{ {
@ -585,9 +584,8 @@ std::string VertexProgramDecompiler::Decompile()
} }
else else
{ {
int addr = GetAddr(); u32 addr = GetAddr();
jump_position = 0;
for (auto pos : m_jump_lvls) for (auto pos : m_jump_lvls)
{ {
if (addr == pos) if (addr == pos)
@ -606,7 +604,6 @@ std::string VertexProgramDecompiler::Decompile()
AddCode("}"); AddCode("}");
} }
break; break;
*/
case RSX_SCA_OPCODE_CAL: case RSX_SCA_OPCODE_CAL:
// works same as BRI // works same as BRI
AddCode("$ifcond $f(); //CAL"); AddCode("$ifcond $f(); //CAL");