1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-11-29 10:24:10 +01:00

[d3d9] Fix parital DS clears with full RT clear

This commit is contained in:
Georg Lehmann 2021-08-15 17:59:44 +02:00 committed by Joshie
parent a2330b89d2
commit a75cf2f39d

View File

@ -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