From 1b1ce85b326d66af43e97e91845acf3ed79df0e2 Mon Sep 17 00:00:00 2001 From: DH Date: Sat, 7 Jun 2014 18:32:15 +0300 Subject: [PATCH] Fixed small error in Fragment Shader Decompiler --- rpcs3/Emu/GS/GL/GLFragmentProgram.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp index c3113353e3..7acdc9c1ae 100644 --- a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp +++ b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp @@ -79,9 +79,6 @@ std::string GLFragmentDecompilerThread::GetMask() std::string GLFragmentDecompilerThread::AddReg(u32 index, int fp16) { return m_parr.AddParam(PARAM_NONE, "vec4", std::string(fp16 ? "h" : "r") + std::to_string(index), "vec4(0.0, 0.0, 0.0, 0.0)"); - - //return m_parr.AddParam((index >= 2 && index <= 4) ? PARAM_OUT : PARAM_NONE, "vec4", - // std::string(fp16 ? "h" : "r") + std::to_string(index), (fp16 || !index) ? -1 : ((index >= 2 && index <= 4) ? (index - 1) : -1)); } bool GLFragmentDecompilerThread::HasReg(u32 index, int fp16) @@ -292,9 +289,9 @@ void GLFragmentDecompilerThread::Task() while(true) { - auto finded = std::find(m_end_offsets.begin(), m_end_offsets.end(), m_size); - - if (finded != m_end_offsets.end()) + for (auto finded = std::find(m_end_offsets.begin(), m_end_offsets.end(), m_size); + finded != m_end_offsets.end(); + finded = std::find(m_end_offsets.begin(), m_end_offsets.end(), m_size)) { m_end_offsets.erase(finded); m_code_level--; @@ -302,9 +299,9 @@ void GLFragmentDecompilerThread::Task() m_loop_count--; } - finded = std::find(m_else_offsets.begin(), m_else_offsets.end(), m_size); - - if (finded != m_else_offsets.end()) + for (auto finded = std::find(m_else_offsets.begin(), m_else_offsets.end(), m_size); + finded != m_else_offsets.end(); + finded = std::find(m_else_offsets.begin(), m_else_offsets.end(), m_size)) { m_else_offsets.erase(finded); m_code_level--;