From 78c46f444ab95688ffbabd03492541d4b6e9893d Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 31 Jan 2018 16:39:47 +0100 Subject: [PATCH] [d3d11] Added missing CS thread sync for non-discard Map() --- src/d3d11/d3d11_context.cpp | 2 +- src/d3d11/d3d11_context_imm.cpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index aab7dd52f..a362f6c31 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -1655,7 +1655,7 @@ namespace dxvk { // submit the current command buffer in order to keep the GPU busy. // This also helps keep the command buffers at a reasonable size. if (m_drawCount >= 500) - this->Flush(); + Flush(); for (UINT i = 0; i < m_state.om.renderTargetViews.size(); i++) { D3D11RenderTargetView* view = nullptr; diff --git a/src/d3d11/d3d11_context_imm.cpp b/src/d3d11/d3d11_context_imm.cpp index f98802368..d6e068bde 100644 --- a/src/d3d11/d3d11_context_imm.cpp +++ b/src/d3d11/d3d11_context_imm.cpp @@ -121,6 +121,7 @@ namespace dxvk { return DXGI_ERROR_WAS_STILL_DRAWING; Flush(); + SynchronizeCsThread(); SynchronizeDevice(); } }