From 047b95a8c36bd6a37fc9311b9e216be67d6810cc Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Sat, 23 Aug 2025 15:10:13 +0200 Subject: [PATCH] nir/shrink_vec_array_vars: detect zero init shared memory using constant initializer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit More consistent. Reviewed-by: Marek Olšák Part-of: --- src/compiler/nir/nir_split_vars.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/compiler/nir/nir_split_vars.c b/src/compiler/nir/nir_split_vars.c index 9dfd9ca7329..846b14d0e6c 100644 --- a/src/compiler/nir/nir_split_vars.c +++ b/src/compiler/nir/nir_split_vars.c @@ -1373,8 +1373,11 @@ shrink_vec_var_list(nir_shader *shader, if (!usage) continue; - /* Zero inited shared memory is always written. */ - bool zero_init = var->data.mode == nir_var_mem_shared && shader->info.zero_initialize_shared_memory; + /* Zero inited shared memory is always written. + * All other initializer should be lowered before this pass. + */ + assert(!var->constant_initializer || var->constant_initializer->is_null_constant); + bool zero_init = var->constant_initializer; assert(usage->comps_kept == 0); if (usage->has_external_copy || usage->has_complex_use) usage->comps_kept = usage->all_comps;