diff options
| -rw-r--r-- | src/video_core/shader/shader_jit_x64.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/video_core/shader/shader_jit_x64.cpp b/src/video_core/shader/shader_jit_x64.cpp index 5083d7e54..1c700fca7 100644 --- a/src/video_core/shader/shader_jit_x64.cpp +++ b/src/video_core/shader/shader_jit_x64.cpp | |||
| @@ -644,7 +644,8 @@ void JitCompiler::Compile_MAD(Instruction instr) { | |||
| 644 | } | 644 | } |
| 645 | 645 | ||
| 646 | void JitCompiler::Compile_IF(Instruction instr) { | 646 | void JitCompiler::Compile_IF(Instruction instr) { |
| 647 | ASSERT_MSG(instr.flow_control.dest_offset > *offset_ptr, "Backwards if-statements not supported"); | 647 | ASSERT_MSG(instr.flow_control.dest_offset > *offset_ptr, "Backwards if-statements (%d -> %d) not supported", |
| 648 | *offset_ptr, instr.flow_control.dest_offset.Value()); | ||
| 648 | 649 | ||
| 649 | // Evaluate the "IF" condition | 650 | // Evaluate the "IF" condition |
| 650 | if (instr.opcode.Value() == OpCode::Id::IFU) { | 651 | if (instr.opcode.Value() == OpCode::Id::IFU) { |
| @@ -675,7 +676,8 @@ void JitCompiler::Compile_IF(Instruction instr) { | |||
| 675 | } | 676 | } |
| 676 | 677 | ||
| 677 | void JitCompiler::Compile_LOOP(Instruction instr) { | 678 | void JitCompiler::Compile_LOOP(Instruction instr) { |
| 678 | ASSERT_MSG(instr.flow_control.dest_offset > *offset_ptr, "Backwards loops not supported"); | 679 | ASSERT_MSG(instr.flow_control.dest_offset > *offset_ptr, "Backwards loops (%d -> %d) not supported", |
| 680 | *offset_ptr, instr.flow_control.dest_offset.Value()); | ||
| 679 | ASSERT_MSG(!looping, "Nested loops not supported"); | 681 | ASSERT_MSG(!looping, "Nested loops not supported"); |
| 680 | 682 | ||
| 681 | looping = true; | 683 | looping = true; |
| @@ -703,7 +705,8 @@ void JitCompiler::Compile_LOOP(Instruction instr) { | |||
| 703 | } | 705 | } |
| 704 | 706 | ||
| 705 | void JitCompiler::Compile_JMP(Instruction instr) { | 707 | void JitCompiler::Compile_JMP(Instruction instr) { |
| 706 | ASSERT_MSG(instr.flow_control.dest_offset > *offset_ptr, "Backwards jumps not supported"); | 708 | ASSERT_MSG(instr.flow_control.dest_offset > *offset_ptr, "Backwards jumps (%d -> %d) not supported", |
| 709 | *offset_ptr, instr.flow_control.dest_offset.Value()); | ||
| 707 | 710 | ||
| 708 | if (instr.opcode.Value() == OpCode::Id::JMPC) | 711 | if (instr.opcode.Value() == OpCode::Id::JMPC) |
| 709 | Compile_EvaluateCondition(instr); | 712 | Compile_EvaluateCondition(instr); |
| @@ -747,7 +750,7 @@ void JitCompiler::Compile_NextInstr(unsigned* offset) { | |||
| 747 | } else { | 750 | } else { |
| 748 | // Unhandled instruction | 751 | // Unhandled instruction |
| 749 | LOG_CRITICAL(HW_GPU, "Unhandled instruction: 0x%02x (0x%08x)", | 752 | LOG_CRITICAL(HW_GPU, "Unhandled instruction: 0x%02x (0x%08x)", |
| 750 | instr.opcode.Value().EffectiveOpCode(), instr.hex); | 753 | instr.opcode.Value().EffectiveOpCode(), instr.hex); |
| 751 | } | 754 | } |
| 752 | } | 755 | } |
| 753 | 756 | ||