Mesa (main): tu: Do not expose storage image/buffer features for PACK16 formats

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Jun 22 15:14:06 UTC 2022


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

Author: Danylo Piliaiev <dpiliaiev at igalia.com>
Date:   Tue Jun 21 18:33:15 2022 +0300

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 <dpiliaiev at igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17168>

---

 src/freedreno/vulkan/tu_formats.c                  |  9 ++++++
 src/gallium/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



More information about the mesa-commit mailing list