Module: Mesa Branch: main Commit: e1f032acc3630bb179db12007cb628b855f546bb URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1f032acc3630bb179db12007cb628b855f546bb
Author: Emma Anholt <[email protected]> Date: Thu Sep 1 11:05:33 2022 -0700 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 <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18374> --- 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;
