ir3: set progress for nir_opt_large_constants

I guess the original intention was that ir3_nir_lower_load_constant will
always make progress if nir_opt_large_constants made progress,
but this is not the case with the small constant arrays optimizations.

Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/33002>
This commit is contained in:
Georg Lehmann 2026-03-17 22:50:48 +01:00 committed by Marge Bot
parent 402bd37f9d
commit 023e3554e9

View file

@ -1497,8 +1497,8 @@ ir3_nir_lower_variant(struct ir3_shader_variant *so,
* straddling loads. Align everything to vec4 to avoid that, though we
* could theoretically do better.
*/
OPT(s, nir_opt_large_constants, glsl_get_vec4_size_align_bytes,
32 /* bytes */);
progress |= OPT(s, nir_opt_large_constants, glsl_get_vec4_size_align_bytes,
32 /* bytes */);
progress |= OPT(s, ir3_nir_lower_load_constant, so);
/* Lower large temporaries to scratch, which in Qualcomm terms is private