mirror of
https://github.com/EduApps-CDG/OpenDX
synced 2024-12-30 09:45:37 +01:00
[d3d11] Flush CS chunks when executing/finalizing command lists
Fixes rendering issues and validation errors in Kingdom Come: Deliverance.
This commit is contained in:
parent
fa78259459
commit
06cff50453
@ -31,6 +31,8 @@ namespace dxvk {
|
|||||||
void STDMETHODCALLTYPE D3D11DeferredContext::ExecuteCommandList(
|
void STDMETHODCALLTYPE D3D11DeferredContext::ExecuteCommandList(
|
||||||
ID3D11CommandList* pCommandList,
|
ID3D11CommandList* pCommandList,
|
||||||
BOOL RestoreContextState) {
|
BOOL RestoreContextState) {
|
||||||
|
FlushCsChunk();
|
||||||
|
|
||||||
static_cast<D3D11CommandList*>(pCommandList)->EmitToCommandList(m_commandList.ptr());
|
static_cast<D3D11CommandList*>(pCommandList)->EmitToCommandList(m_commandList.ptr());
|
||||||
|
|
||||||
if (RestoreContextState)
|
if (RestoreContextState)
|
||||||
@ -43,6 +45,8 @@ namespace dxvk {
|
|||||||
HRESULT STDMETHODCALLTYPE D3D11DeferredContext::FinishCommandList(
|
HRESULT STDMETHODCALLTYPE D3D11DeferredContext::FinishCommandList(
|
||||||
BOOL RestoreDeferredContextState,
|
BOOL RestoreDeferredContextState,
|
||||||
ID3D11CommandList **ppCommandList) {
|
ID3D11CommandList **ppCommandList) {
|
||||||
|
FlushCsChunk();
|
||||||
|
|
||||||
if (ppCommandList != nullptr)
|
if (ppCommandList != nullptr)
|
||||||
*ppCommandList = m_commandList.ref();
|
*ppCommandList = m_commandList.ref();
|
||||||
m_commandList = CreateCommandList();
|
m_commandList = CreateCommandList();
|
||||||
|
@ -66,6 +66,8 @@ namespace dxvk {
|
|||||||
void STDMETHODCALLTYPE D3D11ImmediateContext::ExecuteCommandList(
|
void STDMETHODCALLTYPE D3D11ImmediateContext::ExecuteCommandList(
|
||||||
ID3D11CommandList* pCommandList,
|
ID3D11CommandList* pCommandList,
|
||||||
BOOL RestoreContextState) {
|
BOOL RestoreContextState) {
|
||||||
|
FlushCsChunk();
|
||||||
|
|
||||||
static_cast<D3D11CommandList*>(pCommandList)->EmitToCsThread(&m_csThread);
|
static_cast<D3D11CommandList*>(pCommandList)->EmitToCsThread(&m_csThread);
|
||||||
|
|
||||||
if (RestoreContextState)
|
if (RestoreContextState)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user