From 0fdde6a94e13e17be015794bc059ee9eecbb251a Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 7 Mar 2018 00:22:40 +0100 Subject: [PATCH] [dxbc] Fix hull shader barrier issue --- src/dxbc/dxbc_compiler.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/dxbc/dxbc_compiler.cpp b/src/dxbc/dxbc_compiler.cpp index 40f8c4614..8672c0891 100644 --- a/src/dxbc/dxbc_compiler.cpp +++ b/src/dxbc/dxbc_compiler.cpp @@ -5341,7 +5341,7 @@ namespace dxvk { // Fork/join phases. We cannot run this in parallel // because synchronizing per-patch outputs does not // work. We don't need to synchronize after this. -// this->emitHsInvocationBlockBegin(1); + this->emitHsInvocationBlockBegin(1); for (const auto& phase : m_hs.forkPhases) this->emitHsForkJoinPhase(phase); @@ -5349,10 +5349,13 @@ namespace dxvk { for (const auto& phase : m_hs.joinPhases) this->emitHsForkJoinPhase(phase); - // Output setup phase + this->emitHsInvocationBlockEnd(); this->emitHsPhaseBarrier(); + + // Output setup phase + this->emitHsInvocationBlockBegin(1); this->emitOutputSetup(); -// this->emitHsInvocationBlockEnd(); + this->emitHsInvocationBlockEnd(); this->emitMainFunctionEnd(); }