From 741070785ad8b1cb9c40fb31f348e72d224bc839 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Sun, 28 Feb 2021 13:01:00 +0000 Subject: [PATCH] [d3d9] Allow implicit discard for all backed buffers --- src/d3d9/d3d9_device.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 2c754f9ad..c2b3a484c 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -4421,11 +4421,10 @@ namespace dxvk { quickRead || (boundsCheck && !pResource->DirtyRange().Overlaps(pResource->LockRange())); if (!skipWait) { - const bool managed = IsPoolManaged(desc.Pool); - const bool systemmem = desc.Pool == D3DPOOL_SYSTEMMEM; + const bool backed = pResource->GetMapMode() == D3D9_COMMON_BUFFER_MAP_MODE_BUFFER; const bool doNotWait = Flags & D3DLOCK_DONOTWAIT; - bool doImplicitDiscard = (managed || systemmem) && !doNotWait && pResource->GetLockCount() == 0; + bool doImplicitDiscard = backed && !doNotWait && pResource->GetLockCount() == 0; doImplicitDiscard = doImplicitDiscard && m_d3d9Options.allowImplicitDiscard;