diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 1d9d3241..22c4439f 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -1521,7 +1521,15 @@ namespace dxvk { bool extentMatches = align(extent.width, alignment) == align(rtSize.width, alignment) && align(extent.height, alignment) == align(rtSize.height, alignment); - bool rtSizeMatchesClearSize = offset.x == 0 && offset.y == 0 && extentMatches; + bool dsMatches = true; + if (depthAspectMask) { + auto dsSize = m_state.depthStencil->GetSurfaceExtent(); + + dsMatches = align(extent.width, alignment) == align(dsSize.width, alignment) + && align(extent.height, alignment) == align(dsSize.height, alignment); + } + + bool rtSizeMatchesClearSize = offset.x == 0 && offset.y == 0 && extentMatches && dsMatches; if (likely(!Count && rtSizeMatchesClearSize)) { // Fast path w/ ClearRenderTarget for when