summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/shader_jit_x64.cpp
diff options
context:
space:
mode:
authorYuri Kunde Schlesner <yuriks@yuriks.net>2016-01-25 05:20:39 +0100
committerYuri Kunde Schlesner <yuriks@yuriks.net>2016-01-25 05:29:06 +0100
commit083d2d89a5ef0d5f61de60bd241e65f43289a381 (patch)
treea763dde5a7df8470d076997ae277fbaef73b6388 /src/video_core/shader/shader_jit_x64.cpp
parentMerge pull request #1334 from tfarley/hw-depth-modifiers (diff)
downloadyuzu-083d2d89a5ef0d5f61de60bd241e65f43289a381.tar
yuzu-083d2d89a5ef0d5f61de60bd241e65f43289a381.tar.gz
yuzu-083d2d89a5ef0d5f61de60bd241e65f43289a381.tar.bz2
yuzu-083d2d89a5ef0d5f61de60bd241e65f43289a381.tar.lz
yuzu-083d2d89a5ef0d5f61de60bd241e65f43289a381.tar.xz
yuzu-083d2d89a5ef0d5f61de60bd241e65f43289a381.tar.zst
yuzu-083d2d89a5ef0d5f61de60bd241e65f43289a381.zip
Diffstat (limited to 'src/video_core/shader/shader_jit_x64.cpp')
-rw-r--r--src/video_core/shader/shader_jit_x64.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp
index 00415e402..6554830b2 100644
--- a/src/video_core/shader/shader_jit_x64.cpp
+++ b/src/video_core/shader/shader_jit_x64.cpp
@@ -710,7 +710,9 @@ void JitCompiler::Compile_JMP(Instruction instr) {
else
UNREACHABLE();
- FixupBranch b = J_CC(CC_NZ, true);
+ bool inverted_condition = (instr.opcode.Value() == OpCode::Id::JMPU) &&
+ (instr.flow_control.num_instructions & 1);
+ FixupBranch b = J_CC(inverted_condition ? CC_Z : CC_NZ, true);
Compile_Block(instr.flow_control.dest_offset);