From e1f032acc3630bb179db12007cb628b855f546bb Mon Sep 17 00:00:00 2001 From: Emma Anholt Date: Thu, 1 Sep 2022 11:05:33 -0700 Subject: [PATCH] zink: Don't lower indirect derefs of temp arrays. nir_to_spirv can handle it. Cuts instructions in a turnip CS shader on Aztec Ruins from 36k to 3k. Part of #6115 Reviewed-by: Mike Blumenkrantz Part-of: --- src/gallium/drivers/zink/zink_compiler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/zink/zink_compiler.c b/src/gallium/drivers/zink/zink_compiler.c index 335eaaee328..180a1905a89 100644 --- a/src/gallium/drivers/zink/zink_compiler.c +++ b/src/gallium/drivers/zink/zink_compiler.c @@ -2998,7 +2998,7 @@ zink_shader_create(struct zink_screen *screen, struct nir_shader *nir, ret->programs = _mesa_pointer_set_create(NULL); simple_mtx_init(&ret->lock, mtx_plain); - nir_variable_mode indirect_derefs_modes = nir_var_function_temp; + nir_variable_mode indirect_derefs_modes = 0; if (nir->info.stage == MESA_SHADER_TESS_CTRL || nir->info.stage == MESA_SHADER_TESS_EVAL) indirect_derefs_modes |= nir_var_shader_in | nir_var_shader_out;