From d0c2addf915c1d12a4a19c9c60d35405fc068281 Mon Sep 17 00:00:00 2001 From: raven02 Date: Thu, 21 May 2015 22:34:51 +0800 Subject: [PATCH] gl: Fix IFE instruction This fixes the rsx_fp_static_test4.ppu.elf --- rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp b/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp index d2f591f08f..3b9939707a 100644 --- a/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp +++ b/rpcs3/Emu/RSX/GL/GLFragmentProgram.cpp @@ -524,7 +524,8 @@ void GLFragmentDecompilerThread::Task() case RSX_FP_OPCODE_FENCB: forced_unit = FORCE_SCB; break; case RSX_FP_OPCODE_IFE: AddCode("if($cond)"); - m_else_offsets.push_back(src1.else_offset << 2); + if (src2.end_offset != src1.else_offset) + m_else_offsets.push_back(src1.else_offset << 2); m_end_offsets.push_back(src2.end_offset << 2); AddCode("{"); m_code_level++;