summaryrefslogtreecommitdiff
path: root/src/shader_recompiler/frontend/maxwell
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-02-24 05:21:30 -0300
committerGravatar ameerj2021-07-22 21:51:22 -0400
commite87a502da2d5a8356a639d53c0a16a77890de4c7 (patch)
tree00fd1a9a32c0334c49189098829b782a37533c46 /src/shader_recompiler/frontend/maxwell
parentshader: Implement more of XMAD and FFMA32I and fix XMAD.CBCC (diff)
downloadyuzu-e87a502da2d5a8356a639d53c0a16a77890de4c7.tar.gz
yuzu-e87a502da2d5a8356a639d53c0a16a77890de4c7.tar.xz
yuzu-e87a502da2d5a8356a639d53c0a16a77890de4c7.zip
shader: Fix control flow
Diffstat (limited to 'src/shader_recompiler/frontend/maxwell')
-rw-r--r--src/shader_recompiler/frontend/maxwell/control_flow.cpp2
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/impl.h2
-rw-r--r--src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp4
3 files changed, 4 insertions, 4 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/control_flow.cpp b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
index e766b555b..52be41b84 100644
--- a/src/shader_recompiler/frontend/maxwell/control_flow.cpp
+++ b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
@@ -354,7 +354,7 @@ void CFG::AnalyzeCondInst(Block* block, FunctionId function_id, Location pc,
354 // Impersonate the visited block with a virtual block 354 // Impersonate the visited block with a virtual block
355 *block = std::move(virtual_block); 355 *block = std::move(virtual_block);
356 // Set the end properties of the conditional instruction 356 // Set the end properties of the conditional instruction
357 conditional_block->end = pc; 357 conditional_block->end = pc + 1;
358 conditional_block->end_class = insn_end_class; 358 conditional_block->end_class = insn_end_class;
359 // Add a label to the instruction after the conditional instruction 359 // Add a label to the instruction after the conditional instruction
360 Block* const endif_block{AddLabel(conditional_block, block->stack, pc + 1, function_id)}; 360 Block* const endif_block{AddLabel(conditional_block, block->stack, pc + 1, function_id)};
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/impl.h b/src/shader_recompiler/frontend/maxwell/translate/impl/impl.h
index 4e722e205..672e140b2 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/impl.h
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/impl.h
@@ -209,7 +209,7 @@ public:
209 void P2R_cbuf(u64 insn); 209 void P2R_cbuf(u64 insn);
210 void P2R_imm(u64 insn); 210 void P2R_imm(u64 insn);
211 void PBK(); 211 void PBK();
212 void PCNT(u64 insn); 212 void PCNT();
213 void PEXIT(u64 insn); 213 void PEXIT(u64 insn);
214 void PIXLD(u64 insn); 214 void PIXLD(u64 insn);
215 void PLONGJMP(u64 insn); 215 void PLONGJMP(u64 insn);
diff --git a/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp b/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp
index 4114e10be..3f6dedfdd 100644
--- a/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp
+++ b/src/shader_recompiler/frontend/maxwell/translate/impl/not_implemented.cpp
@@ -637,8 +637,8 @@ void TranslatorVisitor::PBK() {
637 // PBK is a no-op 637 // PBK is a no-op
638} 638}
639 639
640void TranslatorVisitor::PCNT(u64) { 640void TranslatorVisitor::PCNT() {
641 ThrowNotImplemented(Opcode::PCNT); 641 // PCNT is a no-op
642} 642}
643 643
644void TranslatorVisitor::PEXIT(u64) { 644void TranslatorVisitor::PEXIT(u64) {