diff --git a/src/dxbc/dxbc_compiler.cpp b/src/dxbc/dxbc_compiler.cpp index ed5e7533c..0514e0afe 100644 --- a/src/dxbc/dxbc_compiler.cpp +++ b/src/dxbc/dxbc_compiler.cpp @@ -4009,7 +4009,6 @@ namespace dxvk { // Close the current 'case' block m_module.opBranch(block.b_switch.labelBreak); - m_module.opLabel (block.b_switch.labelBreak); // Insert the 'switch' statement. For that, we need to // gather all the literal-label pairs for the construct. @@ -4036,6 +4035,9 @@ namespace dxvk { while (caseLabel != nullptr) delete std::exchange(caseLabel, caseLabel->next); + + // Begin new block after switch blocks + m_module.opLabel(block.b_switch.labelBreak); }