Module: Mesa
Branch: main
Commit: dcb764b0f0ac620180b2ebfd8ca7d8843ebc0108
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=dcb764b0f0ac620180b2ebfd8ca7d8843ebc0108

Author: Chia-I Wu <[email protected]>
Date:   Wed Sep 13 16:21:27 2023 -0700

radv: hard code format features for emulated formats

The format features are known.  No need to rely on
radv_is_sampler_format_supported which will not work for ASTC.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25071>

---

 src/amd/vulkan/radv_formats.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/src/amd/vulkan/radv_formats.c b/src/amd/vulkan/radv_formats.c
index 148acab7720..4e7fa800969 100644
--- a/src/amd/vulkan/radv_formats.c
+++ b/src/amd/vulkan/radv_formats.c
@@ -649,8 +649,13 @@ radv_physical_device_get_format_properties(struct 
radv_physical_device *physical
       return;
    }
 
-   if (desc->layout == UTIL_FORMAT_LAYOUT_ETC && 
!radv_device_supports_etc(physical_device) &&
-       !physical_device->emulate_etc2) {
+   if (desc->layout == UTIL_FORMAT_LAYOUT_ETC && 
!radv_device_supports_etc(physical_device)) {
+      if (radv_is_format_emulated(physical_device, format)) {
+         /* required features for compressed formats */
+         tiled = VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT | 
VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT |
+                 VK_FORMAT_FEATURE_2_TRANSFER_SRC_BIT | 
VK_FORMAT_FEATURE_2_TRANSFER_DST_BIT |
+                 VK_FORMAT_FEATURE_2_BLIT_SRC_BIT;
+      }
       out_properties->linearTilingFeatures = linear;
       out_properties->optimalTilingFeatures = tiled;
       out_properties->bufferFeatures = buffer;

Reply via email to