pan/bi: Vectorize SSBOs when not robust

Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Reviewed-by: Lorenzo Rossi <lorenzo.rossi@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40576>
This commit is contained in:
Faith Ekstrand 2026-03-23 15:44:03 -04:00 committed by Marge Bot
parent 3c1a1d2006
commit f09f080835
2 changed files with 5 additions and 1 deletions

View file

@ -84,7 +84,6 @@ shaders@point-vertex-id gl_vertexid,Fail
shaders@point-vertex-id gl_vertexid gl_instanceid divisor,Fail
shaders@point-vertex-id gl_vertexid gl_instanceid,Fail
spec@arb_arrays_of_arrays@execution@atomic_counters@fs-indirect-index,Fail
spec@arb_arrays_of_arrays@execution@atomic_counters@fs-simple-inc-dec-read,Fail
spec@arb_point_sprite@arb_point_sprite-mipmap,Fail
spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgradcube,Fail
spec@arb_shader_texture_lod@execution@arb_shader_texture_lod-texgrad,Fail

View file

@ -5741,6 +5741,11 @@ bi_optimize_nir(nir_shader *nir, unsigned gpu_id, nir_variable_mode robust_modes
.callback = mem_vectorize_cb,
.robust_modes = robust_modes,
};
/* Only allow vectorization of SSBOs when no robustness2 is configured */
if (!(robust_modes & nir_var_mem_ssbo))
vectorize_opts.modes |= nir_var_mem_ssbo;
NIR_PASS(_, nir, nir_opt_load_store_vectorize, &vectorize_opts);
/* nir_lower_pack can generate split operations, execute algebraic again to