From 0f9a042952bfd88f1d960584a357ed4b6cdf0cb3 Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Sat, 10 Sep 2022 14:25:45 +0200 Subject: [PATCH] [d3d11] Report Tiled Resources Tier 3 again Partially reverts df5756c9a52a30f58c7364499a3523385004ec82. Turns out that WARP does this, so we might as well expose it too. --- src/d3d11/d3d11_device.cpp | 3 ++- src/d3d11/d3d11_features.cpp | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/d3d11/d3d11_device.cpp b/src/d3d11/d3d11_device.cpp index d1c3c795c..eb6d9e679 100644 --- a/src/d3d11/d3d11_device.cpp +++ b/src/d3d11/d3d11_device.cpp @@ -299,7 +299,8 @@ namespace dxvk { if (FAILED(hr)) return hr; - if (desc.MiscFlags & D3D11_RESOURCE_MISC_TILED) + if ((desc.MiscFlags & D3D11_RESOURCE_MISC_TILED) + && (m_deviceFeatures.GetTiledResourcesTier() < D3D11_TILED_RESOURCES_TIER_3)) return E_INVALIDARG; if (!ppTexture3D) diff --git a/src/d3d11/d3d11_features.cpp b/src/d3d11/d3d11_features.cpp index 099435340..a3fe2cce0 100644 --- a/src/d3d11/d3d11_features.cpp +++ b/src/d3d11/d3d11_features.cpp @@ -231,7 +231,11 @@ namespace dxvk { || m_properties.core.properties.sparseProperties.residencyAlignedMipSize) return D3D11_TILED_RESOURCES_TIER_1; - return D3D11_TILED_RESOURCES_TIER_2; + if (!m_features.core.features.sparseResidencyImage3D + || !m_properties.core.properties.sparseProperties.residencyStandard3DBlockShape) + return D3D11_TILED_RESOURCES_TIER_2; + + return D3D11_TILED_RESOURCES_TIER_3; }