From 53fca5143f43bc806749ed52d8f94e4459bb4c18 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sun, 24 Nov 2019 00:08:06 +0100 Subject: [PATCH] [d3d11] Ignore D3D11_COPY_DISCARD Various truck simulations are broken and set this on every CopySubresourceRegion call, which, if we were to implement DiscardBuffer for non-mappable resources again, would break them. This flag seemingly has no effect on native D3D11. --- src/d3d11/d3d11_context.cpp | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/d3d11/d3d11_context.cpp b/src/d3d11/d3d11_context.cpp index 6d984a57..59fc305c 100644 --- a/src/d3d11/d3d11_context.cpp +++ b/src/d3d11/d3d11_context.cpp @@ -351,9 +351,6 @@ namespace dxvk { auto dstBuffer = static_cast(pDstResource)->GetBufferSlice(); auto srcBuffer = static_cast(pSrcResource)->GetBufferSlice(); - if (CopyFlags & D3D11_COPY_DISCARD) - DiscardBuffer(static_cast(pDstResource)); - VkDeviceSize dstOffset = DstX; VkDeviceSize srcOffset = 0; VkDeviceSize regLength = srcBuffer.length(); @@ -1174,9 +1171,6 @@ namespace dxvk { std::memcpy(reinterpret_cast(mappedSr.pData) + offset, pSrcData, size); Unmap(pDstResource, 0); } else { - if (CopyFlags & D3D11_COPY_DISCARD) - DiscardBuffer(bufferResource); - DxvkDataSlice dataSlice = AllocUpdateBufferSlice(size); std::memcpy(dataSlice.ptr(), pSrcData, size);