panvk: Call nir_lower_io_arrays_to_elements_no_indirects
authorJason Ekstrand <jason.ekstrand@collabora.com>
Tue, 3 May 2022 18:08:29 +0000 (13:08 -0500)
committerMarge Bot <emma+marge@anholt.net>
Wed, 11 May 2022 14:47:33 +0000 (14:47 +0000)
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16309>

src/panfrost/vulkan/panvk_vX_shader.c

index 7b3c40b..45306d5 100644 (file)
@@ -586,8 +586,11 @@ panvk_per_arch(shader_create)(struct panvk_device *dev,
    NIR_PASS_V(nir, nir_opt_combine_stores, nir_var_all);
    NIR_PASS_V(nir, nir_opt_trivial_continues);
 
-   if (stage == MESA_SHADER_FRAGMENT)
+   if (stage == MESA_SHADER_FRAGMENT) {
+      /* This is required for nir_lower_blend */
+      NIR_PASS_V(nir, nir_lower_io_arrays_to_elements_no_indirects, true);
       panvk_lower_blend(pdev, nir, &inputs, blend_state, static_blend_constants);
+   }
 
    NIR_PASS_V(nir, nir_lower_uniforms_to_ubo, true, false);
    NIR_PASS_V(nir, nir_lower_explicit_io,