From e0046671f1d5c1c1652b5e0baf3a75f23c5a036e Mon Sep 17 00:00:00 2001 From: DH Date: Sat, 7 Jun 2014 18:52:25 +0300 Subject: [PATCH] Improved Fragment Shader Decompiler - Fixed KIL - Added all regs to reg_table --- rpcs3/Emu/GS/GL/GLFragmentProgram.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp index 7acdc9c1ae..1382e2ce36 100644 --- a/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp +++ b/rpcs3/Emu/GS/GL/GLFragmentProgram.cpp @@ -183,7 +183,7 @@ std::string GLFragmentDecompilerThread::GetCond() template std::string GLFragmentDecompilerThread::GetSRC(T src) { - std::string ret = ""; + std::string ret; switch(src.reg_type) { @@ -198,7 +198,8 @@ template std::string GLFragmentDecompilerThread::GetSRC(T src) "gl_Position", "col0", "col1", "fogc", - "tc0", "tc1", "tc2", "tc3", "tc4", "tc5", "tc6", "tc7" + "tc0", "tc1", "tc2", "tc3", "tc4", "tc5", "tc6", "tc7", "tc8", "tc9", + "ssa" }; switch(dst.src_attr_reg_num) @@ -341,7 +342,7 @@ void GLFragmentDecompilerThread::Task() case 0x10: SetDst("fract($0)"); break; // FRC case 0x11: SetDst("floor($0)"); break; // FLR - case 0x12: SetDst("discard"); break; // KIL (kill fragment) + case 0x12: SetDst("discard", false); break; // KIL (kill fragment) //case 0x13: break; // PK4 (pack four signed 8-bit values) //case 0x14: break; // UP4 (unpack four signed 8-bit values) case 0x15: SetDst("dFdx($0)"); break; // DDX