summaryrefslogtreecommitdiff
path: root/src/shader_recompiler
diff options
context:
space:
mode:
authorGravatar ReinUsesLisp2021-04-07 16:48:39 -0300
committerGravatar ameerj2021-07-22 21:51:26 -0400
commit233e39bb7b9ca7660c7a63a386e285aa5524bd20 (patch)
treec581fa0714f3b45c40e7a078dd3888ac5970b12f /src/shader_recompiler
parentshader: Interact texture buffers with buffer cache (diff)
downloadyuzu-233e39bb7b9ca7660c7a63a386e285aa5524bd20.tar.gz
yuzu-233e39bb7b9ca7660c7a63a386e285aa5524bd20.tar.xz
yuzu-233e39bb7b9ca7660c7a63a386e285aa5524bd20.zip
shader: Fix dangling labels
Diffstat (limited to 'src/shader_recompiler')
-rw-r--r--src/shader_recompiler/frontend/maxwell/control_flow.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/shader_recompiler/frontend/maxwell/control_flow.cpp b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
index 1a4ee4f6c..847bb1986 100644
--- a/src/shader_recompiler/frontend/maxwell/control_flow.cpp
+++ b/src/shader_recompiler/frontend/maxwell/control_flow.cpp
@@ -518,6 +518,11 @@ Block* CFG::AddLabel(Block* block, Stack stack, Location pc, FunctionId function
518 } 518 }
519 return &*it; 519 return &*it;
520 } 520 }
521 // Make sure we don't insert the same layer twice
522 const auto label_it{std::ranges::find(function.labels, pc, &Label::address)};
523 if (label_it != function.labels.end()) {
524 return label_it->block;
525 }
521 Block* const new_block{block_pool.Create(Block{ 526 Block* const new_block{block_pool.Create(Block{
522 .begin{pc}, 527 .begin{pc},
523 .end{pc}, 528 .end{pc},