panvk: Call nir_opt_trivial_continues
authorAlyssa Rosenzweig <alyssa@collabora.com>
Mon, 25 Apr 2022 20:54:11 +0000 (16:54 -0400)
committerMarge Bot <emma+marge@anholt.net>
Mon, 9 May 2022 13:40:17 +0000 (13:40 +0000)
Fixes
dEQP-VK.glsl.indexing.tmp_array.vec2_static_loop_write_static_loop_read_vertex
which otherwise fails due to nir_opt_sink being "clever" around unused
loop exit blocks.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16155>

src/panfrost/ci/deqp-panfrost-g52-vk.toml
src/panfrost/vulkan/panvk_vX_shader.c

index 80acaa1..b84161c 100644 (file)
@@ -18,7 +18,7 @@ include = [
     "dEQP-VK.glsl.builtin.precision.frexp.*",
     "dEQP-VK.glsl.builtin.precision.ldexp.*",
     "dEQP-VK.glsl.builtin_var.*",
-    "dEQP-VK.glsl.indexing.varying_array.*",
+    "dEQP-VK.glsl.indexing.*",
     "dEQP-VK.glsl.opaque_type_indexing.sampler.*",
     "dEQP-VK.glsl.conversions.*",
     "dEQP-VK.glsl.derivate.*.constant.*",
index be3a7d5..7b3c40b 100644 (file)
@@ -584,6 +584,7 @@ panvk_per_arch(shader_create)(struct panvk_device *dev,
 
    NIR_PASS_V(nir, nir_opt_copy_prop_vars);
    NIR_PASS_V(nir, nir_opt_combine_stores, nir_var_all);
+   NIR_PASS_V(nir, nir_opt_trivial_continues);
 
    if (stage == MESA_SHADER_FRAGMENT)
       panvk_lower_blend(pdev, nir, &inputs, blend_state, static_blend_constants);