diff --git a/src/d3d11/d3d11_context_def.cpp b/src/d3d11/d3d11_context_def.cpp index 09206328..426167f5 100644 --- a/src/d3d11/d3d11_context_def.cpp +++ b/src/d3d11/d3d11_context_def.cpp @@ -31,6 +31,8 @@ namespace dxvk { void STDMETHODCALLTYPE D3D11DeferredContext::ExecuteCommandList( ID3D11CommandList* pCommandList, BOOL RestoreContextState) { + FlushCsChunk(); + static_cast(pCommandList)->EmitToCommandList(m_commandList.ptr()); if (RestoreContextState) @@ -43,6 +45,8 @@ namespace dxvk { HRESULT STDMETHODCALLTYPE D3D11DeferredContext::FinishCommandList( BOOL RestoreDeferredContextState, ID3D11CommandList **ppCommandList) { + FlushCsChunk(); + if (ppCommandList != nullptr) *ppCommandList = m_commandList.ref(); m_commandList = CreateCommandList(); diff --git a/src/d3d11/d3d11_context_imm.cpp b/src/d3d11/d3d11_context_imm.cpp index 1245fe07..4e86c98c 100644 --- a/src/d3d11/d3d11_context_imm.cpp +++ b/src/d3d11/d3d11_context_imm.cpp @@ -66,6 +66,8 @@ namespace dxvk { void STDMETHODCALLTYPE D3D11ImmediateContext::ExecuteCommandList( ID3D11CommandList* pCommandList, BOOL RestoreContextState) { + FlushCsChunk(); + static_cast(pCommandList)->EmitToCsThread(&m_csThread); if (RestoreContextState)