From dcb764b0f0ac620180b2ebfd8ca7d8843ebc0108 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Wed, 13 Sep 2023 16:21:27 -0700 Subject: [PATCH] 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: --- 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;