Răsfoiți Sursa

gl_shader_decompiler: F2F_R instruction: Implement abs.

bunnei 8 ani în urmă
părinte
comite
6fcc7e9c36
1 a modificat fișierele cu 7 adăugiri și 1 ștergeri
  1. 7 1
      src/video_core/renderer_opengl/gl_shader_decompiler.cpp

+ 7 - 1
src/video_core/renderer_opengl/gl_shader_decompiler.cpp

@@ -853,7 +853,13 @@ private:
                 break;
             }
             case OpCode::Id::F2F_R: {
-                regs.SetRegisterToFloat(instr.gpr0, 0, regs.GetRegisterAsFloat(instr.gpr20), 1, 1);
+                std::string op_a = regs.GetRegisterAsFloat(instr.gpr20);
+
+                if (instr.conversion.abs_a) {
+                    op_a = "abs(" + op_a + ')';
+                }
+
+                regs.SetRegisterToFloat(instr.gpr0, 0, op_a, 1, 1);
                 break;
             }
             default: {