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;

Reply via email to