From f1c1b9687e8d58b62df5bc563c784cffda325611 Mon Sep 17 00:00:00 2001 From: Danylo Piliaiev Date: Tue, 21 Jun 2022 18:33:15 +0300 Subject: [PATCH] tu: Do not expose storage image/buffer features for PACK16 formats We don't support storing into them. Fixes GL CTS tests running through ZINK: KHR-GL46.packed_pixels.pbo_rectangle.* Signed-off-by: Danylo Piliaiev Part-of: --- src/freedreno/vulkan/tu_formats.c | 9 +++++ .../drivers/zink/ci/zink-tu-a630-fails.txt | 35 ------------------- 2 files changed, 9 insertions(+), 35 deletions(-) diff --git a/src/freedreno/vulkan/tu_formats.c b/src/freedreno/vulkan/tu_formats.c index e1c8fbbb4e8..3e4e6d5cd7b 100644 --- a/src/freedreno/vulkan/tu_formats.c +++ b/src/freedreno/vulkan/tu_formats.c @@ -269,6 +269,15 @@ tu_physical_device_get_format_properties( buffer = 0; } + /* We don't support writing into VK__FORMAT_*_PACK16 images/buffers */ + if (desc->nr_channels > 2 && desc->block.bits == 16) { + buffer &= VK_FORMAT_FEATURE_UNIFORM_TEXEL_BUFFER_BIT; + linear &= ~(VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT | + VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT); + optimal &= ~(VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT | + VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT); + } + /* All our depth formats support shadow comparisons. */ if (vk_format_has_depth(vk_format) && (optimal & VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT)) { optimal |= VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT; diff --git a/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt b/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt index 2804d7ef802..8a3043cee83 100644 --- a/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-tu-a630-fails.txt @@ -16,41 +16,6 @@ KHR-GL46.gpu_shader_fp64.builtin.mod_dvec2,Fail KHR-GL46.gpu_shader_fp64.builtin.mod_dvec3,Fail KHR-GL46.gpu_shader_fp64.builtin.mod_dvec4,Fail KHR-GL46.limits.max_fragment_input_components,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r11f_g11f_b10f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r16,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r16_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r16f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r32f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r3_g3_b2,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r8,Fail -KHR-GL46.packed_pixels.pbo_rectangle.r8_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.red,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rg,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rg16,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rg16_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rg16f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rg32f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rg8,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rg8_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb10_a2,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb12,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb16,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb16_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb16f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb5_a1,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb8,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb8_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgb9_e5,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba12,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba16,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba16_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba16f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba32f,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba4,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba8,Fail -KHR-GL46.packed_pixels.pbo_rectangle.rgba8_snorm,Fail -KHR-GL46.packed_pixels.pbo_rectangle.srgb8,Fail -KHR-GL46.packed_pixels.pbo_rectangle.srgb8_alpha8,Fail KHR-GL46.shader_image_load_store.multiple-uniforms,Fail KHR-GL46.texture_cube_map_array.image_op_geometry_sh,Fail KHR-GL46.texture_view.view_classes,Fail