diff options
author | bunnei <bunneidev@gmail.com> | 2018-06-06 05:01:51 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-06-07 01:45:58 +0200 |
commit | 0a49c46353a54e018a6c435591c77bd191ec816a (patch) | |
tree | 43c6d72726e87ad9ff411ef04ad119cf0bda8093 /src/video_core/renderer_opengl/gl_shader_decompiler.cpp | |
parent | Merge pull request #534 from Subv/multitexturing (diff) | |
download | yuzu-0a49c46353a54e018a6c435591c77bd191ec816a.tar yuzu-0a49c46353a54e018a6c435591c77bd191ec816a.tar.gz yuzu-0a49c46353a54e018a6c435591c77bd191ec816a.tar.bz2 yuzu-0a49c46353a54e018a6c435591c77bd191ec816a.tar.lz yuzu-0a49c46353a54e018a6c435591c77bd191ec816a.tar.xz yuzu-0a49c46353a54e018a6c435591c77bd191ec816a.tar.zst yuzu-0a49c46353a54e018a6c435591c77bd191ec816a.zip |
Diffstat (limited to 'src/video_core/renderer_opengl/gl_shader_decompiler.cpp')
-rw-r--r-- | src/video_core/renderer_opengl/gl_shader_decompiler.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp index 3067ce3b3..b6c6a4607 100644 --- a/src/video_core/renderer_opengl/gl_shader_decompiler.cpp +++ b/src/video_core/renderer_opengl/gl_shader_decompiler.cpp @@ -1278,16 +1278,17 @@ private: } case OpCode::Type::IntegerSetPredicate: { std::string op_a = regs.GetRegisterAsInteger(instr.gpr8, 0, instr.isetp.is_signed); + std::string op_b; - std::string op_b{}; - - ASSERT_MSG(!instr.is_b_imm, "ISETP_IMM not implemented"); - - if (instr.is_b_gpr) { - op_b += regs.GetRegisterAsInteger(instr.gpr20, 0, instr.isetp.is_signed); + if (instr.is_b_imm) { + op_b += '(' + std::to_string(instr.alu.GetSignedImm20_20()) + ')'; } else { - op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset, - GLSLRegister::Type::Integer); + if (instr.is_b_gpr) { + op_b += regs.GetRegisterAsInteger(instr.gpr20, 0, instr.isetp.is_signed); + } else { + op_b += regs.GetUniform(instr.cbuf34.index, instr.cbuf34.offset, + GLSLRegister::Type::Integer); + } } using Tegra::Shader::Pred; |