Module: Mesa
Branch: main
Commit: 8650aa056031e65f31e68ae8ca4d7fd1bb1629b5
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=8650aa056031e65f31e68ae8ca4d7fd1bb1629b5

Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Apr  7 09:18:00 2023 -0400

zink: don't run update_so_info if shader has no outputs

this probably means all outputs were eliminated by the linker,
but in any case it's not going to do anything

fixes [email protected]@execution@interface-blocks-api-access-members

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22725>

---

 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 29270702acb..06806b406a1 100644
--- a/src/gallium/drivers/zink/zink_compiler.c
+++ b/src/gallium/drivers/zink/zink_compiler.c
@@ -5083,7 +5083,7 @@ zink_shader_create(struct zink_screen *screen, struct 
nir_shader *nir,
    if (!nir->info.internal)
       nir_foreach_shader_out_variable(var, nir)
          var->data.explicit_xfb_buffer = 0;
-   if (so_info && so_info->num_outputs)
+   if (so_info && so_info->num_outputs && nir->info.outputs_written)
       update_so_info(ret, nir, so_info, nir->info.outputs_written, have_psiz);
    else if (have_psiz) {
       bool have_fake_psiz = false;

Reply via email to