ReinUsesLisp 5 лет назад
Родитель
Сommit
233e39bb7b
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      src/shader_recompiler/frontend/maxwell/control_flow.cpp

+ 5 - 0
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},