Mesa (main): lavapipe: expose more storage-image features

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Jul 12 16:54:07 UTC 2021


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

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Wed Apr 21 09:49:05 2021 +0200

lavapipe: expose more storage-image features

I believe these Gallium caps imply these Vulkan features. If they don't,
then we got things wrong on the Zink side as well ;)

While we're at it, query shaderStorageImageWriteWithoutFormat based on
the PIPE_SHADER_CAP_MAX_SHADER_IMAGES cap. This matches what the gallium
OpenGL frontend does.

This brings Zink on Lavapipe up to OpenGL 4.5.

For some reason, a bunch of PBO tests starts failing on CI for Zink, but
that doesn't seem like a Lavapipe problem...

Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz at gmail.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10467>

---

 .../drivers/zink/ci/deqp-zink-lvp-fails.txt        |  16 ++
 .../drivers/zink/ci/piglit-zink-lvp-fails.txt      | 285 +++++++++++++++++++++
 .../drivers/zink/ci/piglit-zink-lvp-skips.txt      |   7 +
 src/gallium/frontends/lavapipe/lvp_device.c        |   6 +-
 4 files changed, 311 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt b/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt
index 6f4e4b8c93b..794d5cb07f7 100644
--- a/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt
+++ b/src/gallium/drivers/zink/ci/deqp-zink-lvp-fails.txt
@@ -32,3 +32,19 @@ dEQP-GLES2.functional.rasterization.interpolation.projected.line_strip_wide,Fail
 dEQP-GLES2.functional.rasterization.interpolation.projected.lines_wide,Fail
 dEQP-GLES3.functional.clipping.line.wide_line_clip_viewport_corner,Fail
 dEQP-GLES3.functional.rasterization.interpolation.projected.line_loop_wide,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.r16i,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.r16ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.r32i,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.r32ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.r8ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rg16i,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rg16ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rg32i,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rg32ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rg8ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rgb10_a2ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rgba16i,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rgba16ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rgba32i,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rgba32ui,Fail
+KHR-GL32.packed_pixels.pbo_rectangle.rgba8ui,Fail
diff --git a/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt b/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt
index d9320e9ff8f..ae3d4276522 100644
--- a/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt
+++ b/src/gallium/drivers/zink/ci/piglit-zink-lvp-fails.txt
@@ -531,3 +531,288 @@ spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb,Fail
 spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb at sRGB decode,Fail
 spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp,Fail
 spec at khr_texture_compression_astc@sliced-3d-miptree-gles srgb-fp at sRGB decode full precision,Fail
+spec@!opengl 3.0 at clearbuffer-depth-cs-probe,Fail
+spec at arb_post_depth_coverage@arb_post_depth_coverage-multisampling,Fail
+spec at arb_shader_image_load_store@early-z,Fail
+spec at arb_shader_image_load_store@early-z at occlusion query test/early-z pass,Fail
+spec at arb_shader_image_load_store@indexing,Fail
+spec at arb_shader_image_load_store@indexing at Compute shader/dynamically uniform indexing test,Fail
+spec at arb_shader_image_load_store@indexing at Fragment shader/dynamically uniform indexing test,Fail
+spec at arb_shader_image_load_store@indexing at Geometry shader/dynamically uniform indexing test,Fail
+spec at arb_shader_image_load_store@indexing at Tessellation control shader/dynamically uniform indexing test,Fail
+spec at arb_shader_image_load_store@indexing at Tessellation evaluation shader/dynamically uniform indexing test,Fail
+spec at arb_shader_image_load_store@indexing at Vertex shader/dynamically uniform indexing test,Fail
+spec at arb_shader_image_load_store@invalid,Fail
+spec at arb_shader_image_load_store@invalid at imageLoad/incompatible format test/imageBuffer,Fail
+spec at khr_texture_compression_astc@array-gles,Fail
+spec at khr_texture_compression_astc@array-gles at 12x12 Block Dim,Fail
+spec at khr_texture_compression_astc@array-gles at 5x5 Block Dim,Fail
+spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3,Fail
+spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageLoad,Fail
+spec at oes_egl_image_external_essl3@oes_egl_image_external_essl3 at oes_egl_image_external_essl3_imageStore,Fail
+spec at oes_texture_view@rendering-formats,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16 as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16 as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16 as GL_R16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16 as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16 as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16 as GL_RG8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16 as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16F as GL_R16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16F as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16F as GL_RG8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16F as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16I as GL_R16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16I as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16I as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16I as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16I as GL_RG8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16I as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16I as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16UI as GL_R16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16UI as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16UI as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16UI as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16UI as GL_RG8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16UI as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16UI as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_R16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_R16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_RG8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_RG8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R16_SNORM as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32F as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32I as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R32UI as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8 as GL_R8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8 as GL_R8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8 as GL_R8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8I as GL_R8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8I as GL_R8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8I as GL_R8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8UI as GL_R8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8UI as GL_R8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8UI as GL_R8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8_SNORM as GL_R8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8_SNORM as GL_R8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_R8_SNORM as GL_R8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_R32UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RG16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RGB10_A2UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RGBA8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16 as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16F as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16F as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16F as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16F as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16F as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16F as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16I as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16UI as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_R32UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RG16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RGB10_A2UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RGBA8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG16_SNORM as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32F as GL_RGBA16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32F as GL_RGBA16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32F as GL_RGBA16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32F as GL_RGBA16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32I as GL_RGBA16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32I as GL_RGBA16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32I as GL_RGBA16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32I as GL_RGBA16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32UI as GL_RGBA16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32UI as GL_RGBA16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32UI as GL_RGBA16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG32UI as GL_RGBA16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8 as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8 as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8 as GL_R16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8 as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8 as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8 as GL_RG8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8 as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8I as GL_R16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8I as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8I as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8I as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8I as GL_RG8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8I as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8I as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8UI as GL_R16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8UI as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8UI as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8UI as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8UI as GL_RG8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8UI as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8UI as GL_RG8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_R16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_R16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_R16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_R16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_R16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_RG8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_RG8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RG8_SNORM as GL_RG8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_R32UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RG16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RGB10_A2UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RGBA8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2 as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB10_A2UI as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16 as GL_RGB16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16F as GL_RGB16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16F as GL_RGB16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16I as GL_RGB16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16I as GL_RGB16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16UI as GL_RGB16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16UI as GL_RGB16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB16_SNORM as GL_RGB16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB8I as GL_RGB8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB8UI as GL_RGB8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGB8_SNORM as GL_RGB8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16 as GL_RG32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16 as GL_RG32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16 as GL_RG32UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16 as GL_RGBA16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16 as GL_RGBA16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16 as GL_RGBA16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16 as GL_RGBA16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16F as GL_RG32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16F as GL_RGBA16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16F as GL_RGBA16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16I as GL_RG32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16I as GL_RG32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16I as GL_RGBA16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16I as GL_RGBA16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16I as GL_RGBA16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16I as GL_RGBA16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16UI as GL_RG32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16UI as GL_RG32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16UI as GL_RGBA16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16UI as GL_RGBA16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16UI as GL_RGBA16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16UI as GL_RGBA16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16_SNORM as GL_RG32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16_SNORM as GL_RG32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16_SNORM as GL_RG32UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16_SNORM as GL_RGBA16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16_SNORM as GL_RGBA16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16_SNORM as GL_RGBA16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA16_SNORM as GL_RGBA16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_R32UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RG16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RGB10_A2UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RGBA8UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8 as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8I as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8UI as GL_RGBA8_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_R32F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_R32I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_R32UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RG16,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RG16F,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RG16I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RG16UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RG16_SNORM,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RGB10_A2,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RGB10_A2UI,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RGBA8,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RGBA8I,Fail
+spec at oes_texture_view@rendering-formats at clear GL_RGBA8_SNORM as GL_RGBA8UI,Fail
diff --git a/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt b/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt
index a5ce1b08bd0..3120f9c8443 100644
--- a/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt
+++ b/src/gallium/drivers/zink/ci/piglit-zink-lvp-skips.txt
@@ -21,3 +21,10 @@ spec at egl_ext_protected_content@conformance
 # has a race where probes periodically return black
 # cf. https://gitlab.freedesktop.org/mesa/mesa/-/jobs/10624521
 glx at glx-multi-context-single-window
+
+# This one takes too long, but passes. There's other tests that don't
+# try all the combinations, so that's probably enough.
+spec at arb_compute_shader@local-id-explosion
+
+# Disabled to prevent a flaky failure, see https://gitlab.freedesktop.org/mesa/mesa/-/issues/5050
+spec at arb_shader_image_load_store@invalid
diff --git a/src/gallium/frontends/lavapipe/lvp_device.c b/src/gallium/frontends/lavapipe/lvp_device.c
index 0ba888a443f..3360d91e6f1 100644
--- a/src/gallium/frontends/lavapipe/lvp_device.c
+++ b/src/gallium/frontends/lavapipe/lvp_device.c
@@ -419,14 +419,14 @@ VKAPI_ATTR void VKAPI_CALL lvp_GetPhysicalDeviceFeatures(
       .fragmentStoresAndAtomics                 = (pdevice->pscreen->get_shader_param(pdevice->pscreen, PIPE_SHADER_FRAGMENT, PIPE_SHADER_CAP_MAX_SHADER_BUFFERS) != 0),
       .shaderTessellationAndGeometryPointSize   = true,
       .shaderImageGatherExtended                = true,
-      .shaderStorageImageExtendedFormats        = false,
+      .shaderStorageImageExtendedFormats        = (min_shader_param(pdevice->pscreen, PIPE_SHADER_CAP_MAX_SHADER_IMAGES) != 0),
       .shaderStorageImageMultisample            = (pdevice->pscreen->get_param(pdevice->pscreen, PIPE_CAP_TEXTURE_MULTISAMPLE) != 0),
       .shaderUniformBufferArrayDynamicIndexing  = indirect,
       .shaderSampledImageArrayDynamicIndexing   = indirect,
       .shaderStorageBufferArrayDynamicIndexing  = indirect,
       .shaderStorageImageArrayDynamicIndexing   = indirect,
-      .shaderStorageImageReadWithoutFormat      = false,
-      .shaderStorageImageWriteWithoutFormat     = true,
+      .shaderStorageImageReadWithoutFormat      = (pdevice->pscreen->get_param(pdevice->pscreen, PIPE_CAP_IMAGE_LOAD_FORMATTED) != 0),
+      .shaderStorageImageWriteWithoutFormat     = (min_shader_param(pdevice->pscreen, PIPE_SHADER_CAP_MAX_SHADER_IMAGES) != 0),
       .shaderClipDistance                       = true,
       .shaderCullDistance                       = (pdevice->pscreen->get_param(pdevice->pscreen, PIPE_CAP_CULL_DISTANCE) == 1),
       .shaderFloat64                            = (pdevice->pscreen->get_param(pdevice->pscreen, PIPE_CAP_DOUBLES) == 1),



More information about the mesa-commit mailing list