diff options
author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2016-01-24 11:10:56 +0100 |
---|---|---|
committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2016-01-24 11:15:56 +0100 |
commit | c1071c1ff7701e2e31dd8909a1cc58fee34c9db9 (patch) | |
tree | d20f4fd5bc59ed41a807d989ca552545bea4218e | |
parent | Merge pull request #1334 from tfarley/hw-depth-modifiers (diff) | |
download | yuzu-c1071c1ff7701e2e31dd8909a1cc58fee34c9db9.tar yuzu-c1071c1ff7701e2e31dd8909a1cc58fee34c9db9.tar.gz yuzu-c1071c1ff7701e2e31dd8909a1cc58fee34c9db9.tar.bz2 yuzu-c1071c1ff7701e2e31dd8909a1cc58fee34c9db9.tar.lz yuzu-c1071c1ff7701e2e31dd8909a1cc58fee34c9db9.tar.xz yuzu-c1071c1ff7701e2e31dd8909a1cc58fee34c9db9.tar.zst yuzu-c1071c1ff7701e2e31dd8909a1cc58fee34c9db9.zip |
-rw-r--r-- | src/video_core/shader/shader_jit_x64.cpp | 10 | ||||
-rw-r--r-- | src/video_core/shader/shader_jit_x64.h | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp index 00415e402..09a127032 100644 --- a/src/video_core/shader/shader_jit_x64.cpp +++ b/src/video_core/shader/shader_jit_x64.cpp @@ -653,7 +653,7 @@ void JitCompiler::Compile_IF(Instruction instr) { FixupBranch b = J_CC(CC_Z, true); // Compile the code that corresponds to the condition evaluating as true - Compile_Block(instr.flow_control.dest_offset - 1); + Compile_Block(instr.flow_control.dest_offset); // If there isn't an "ELSE" condition, we are done here if (instr.flow_control.num_instructions == 0) { @@ -667,7 +667,7 @@ void JitCompiler::Compile_IF(Instruction instr) { // This code corresponds to the "ELSE" condition // Comple the code that corresponds to the condition evaluating as false - Compile_Block(instr.flow_control.dest_offset + instr.flow_control.num_instructions - 1); + Compile_Block(instr.flow_control.dest_offset + instr.flow_control.num_instructions); SetJumpTarget(b2); } @@ -691,7 +691,7 @@ void JitCompiler::Compile_LOOP(Instruction instr) { auto loop_start = GetCodePtr(); - Compile_Block(instr.flow_control.dest_offset); + Compile_Block(instr.flow_control.dest_offset + 1); ADD(32, R(LOOPCOUNT_REG), R(LOOPINC)); // Increment LOOPCOUNT_REG by Z-component SUB(32, R(LOOPCOUNT), Imm8(1)); // Increment loop count by 1 @@ -717,12 +717,12 @@ void JitCompiler::Compile_JMP(Instruction instr) { SetJumpTarget(b); } -void JitCompiler::Compile_Block(unsigned stop) { +void JitCompiler::Compile_Block(unsigned end) { // Save current offset pointer unsigned* prev_offset_ptr = offset_ptr; unsigned offset = *prev_offset_ptr; - while (offset <= stop) + while (offset < end) Compile_NextInstr(&offset); // Restore current offset pointer diff --git a/src/video_core/shader/shader_jit_x64.h b/src/video_core/shader/shader_jit_x64.h index 3afbceccf..5ad2d9606 100644 --- a/src/video_core/shader/shader_jit_x64.h +++ b/src/video_core/shader/shader_jit_x64.h @@ -61,7 +61,7 @@ public: void Compile_MAD(Instruction instr); private: - void Compile_Block(unsigned stop); + void Compile_Block(unsigned end); void Compile_NextInstr(unsigned* offset); void Compile_SwizzleSrc(Instruction instr, unsigned src_num, SourceRegister src_reg, Gen::X64Reg dest); |