summaryrefslogtreecommitdiffstats
path: root/src/video_core
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-06-06 05:01:51 +0200
committerbunnei <bunneidev@gmail.com>2018-06-07 01:45:58 +0200
commit0a49c46353a54e018a6c435591c77bd191ec816a (patch)
tree43c6d72726e87ad9ff411ef04ad119cf0bda8093 /src/video_core
parentMerge pull request #534 from Subv/multitexturing (diff)
downloadyuzu-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')
-rw-r--r--src/video_core/renderer_opengl/gl_shader_decompiler.cpp17
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;