Enable filtering depth only formats
Exposing GL_OES_depth_texture requires that at least
depth only format are filterable, so making sure at
least D16_UNORM and D32_SFLOAT can be filtered.
Tests: dEQP-VK.*d16_unorm*
Tests: dEQP-VK.*d32_sfloat*
Bug: b/146563038
Change-Id: I2c5a10b03eab19d179c005e2f0f8f22a4921830c
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/39748
Presubmit-Ready: Alexis Hétu <sugoi@google.com>
Tested-by: Alexis Hétu <sugoi@google.com>
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/Vulkan/VkPhysicalDevice.cpp b/src/Vulkan/VkPhysicalDevice.cpp
index ebb66d7..3517cca 100644
--- a/src/Vulkan/VkPhysicalDevice.cpp
+++ b/src/Vulkan/VkPhysicalDevice.cpp
@@ -497,6 +497,8 @@
case VK_FORMAT_EAC_R11_SNORM_BLOCK:
case VK_FORMAT_EAC_R11G11_UNORM_BLOCK:
case VK_FORMAT_EAC_R11G11_SNORM_BLOCK:
+ case VK_FORMAT_D16_UNORM:
+ case VK_FORMAT_D32_SFLOAT:
pFormatProperties->optimalTilingFeatures |=
VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT;
// Fall through
@@ -524,8 +526,6 @@
case VK_FORMAT_R32G32B32A32_UINT:
case VK_FORMAT_R32G32B32A32_SINT:
case VK_FORMAT_S8_UINT:
- case VK_FORMAT_D16_UNORM:
- case VK_FORMAT_D32_SFLOAT:
case VK_FORMAT_D32_SFLOAT_S8_UINT:
pFormatProperties->optimalTilingFeatures |=
VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT |