Browse Source

shader: Fix dangling labels

pull/15/merge
ReinUsesLisp 5 years ago
committed by ameerj
parent
commit
233e39bb7b
  1. 5
      src/shader_recompiler/frontend/maxwell/control_flow.cpp

5
src/shader_recompiler/frontend/maxwell/control_flow.cpp

@ -518,6 +518,11 @@ Block* CFG::AddLabel(Block* block, Stack stack, Location pc, FunctionId function
}
return &*it;
}
// Make sure we don't insert the same layer twice
const auto label_it{std::ranges::find(function.labels, pc, &Label::address)};
if (label_it != function.labels.end()) {
return label_it->block;
}
Block* const new_block{block_pool.Create(Block{
.begin{pc},
.end{pc},

Loading…
Cancel
Save