From f0e9138886468e610910d601111d6791b23f0a6d Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Wed, 30 Oct 2024 00:28:07 +0100 Subject: [PATCH] [d3d11] Fix error return on MAP_WRITE_NO_OVERWRITE on deferred context Fixes a wine test. --- src/d3d11/d3d11_context_def.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/d3d11/d3d11_context_def.cpp b/src/d3d11/d3d11_context_def.cpp index 66f78a40a..95f7fd25f 100644 --- a/src/d3d11/d3d11_context_def.cpp +++ b/src/d3d11/d3d11_context_def.cpp @@ -216,7 +216,7 @@ namespace dxvk { : MapImage (pResource, Subresource, &mapInfo); if (unlikely(FAILED(status))) { - *pMappedResource = D3D11_MAPPED_SUBRESOURCE(); + pMappedResource->pData = nullptr; return status; } @@ -229,8 +229,8 @@ namespace dxvk { auto entry = FindMapEntry(pResource, Subresource); if (unlikely(!entry)) { - *pMappedResource = D3D11_MAPPED_SUBRESOURCE(); - return E_INVALIDARG; + pMappedResource->pData = nullptr; + return D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD; } // Return same memory region as earlier @@ -238,7 +238,7 @@ namespace dxvk { return S_OK; } else { // Not allowed on deferred contexts - *pMappedResource = D3D11_MAPPED_SUBRESOURCE(); + pMappedResource->pData = nullptr; return E_INVALIDARG; } }