From 2401bd8e0a585c2e368112558595cb875fa0ccf4 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Thu, 12 Mar 2026 06:49:47 -0400 Subject: [PATCH] zink: run opt_combine_stores when optimizing this ensures stores to mesh builtins are vectorized, as required by spec cc: mesa-stable (cherry picked from commit 20c65db45d1fb1d779c0031e9550dcf0bc2bc47a) Part-of: --- .pick_status.json | 2 +- src/gallium/drivers/zink/zink_compiler.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 8592d24dcf2..e123a9ce373 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1964,7 +1964,7 @@ "description": "zink: run opt_combine_stores when optimizing", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 61492cf4314..1dd1750258d 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -1578,6 +1578,7 @@ optimize_nir(struct nir_shader *s, struct zink_shader *zs, bool can_shrink) NIR_PASS(progress, s, nir_lower_alu_to_scalar, filter_pack_instr, NULL); NIR_PASS(progress, s, nir_opt_copy_prop_vars); NIR_PASS(progress, s, nir_opt_copy_prop); + NIR_PASS(progress, s, nir_opt_combine_stores, nir_var_all); NIR_PASS(progress, s, nir_opt_remove_phis); if (s->options->lower_int64_options) { NIR_PASS(progress, s, nir_lower_64bit_phis);