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

Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Sep 15 10:04:08 2022 -0400

zink: always set var used by get_ssbo_size to the 32bit var

avoid depending on iteration ordering

Reviewed-by: Erik Faye-Lund <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18144>

---

 src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c 
b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
index 1f737f58cb0..5f14f83969a 100644
--- a/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
+++ b/src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c
@@ -1069,7 +1069,8 @@ emit_bo(struct ntv_context *ctx, struct nir_variable *var)
    if (ssbo) {
       assert(!ctx->ssbos[idx]);
       ctx->ssbos[idx] = var_id;
-      ctx->ssbo_vars = var;
+      if (bitsize == 32)
+         ctx->ssbo_vars = var;
    } else {
       assert(!ctx->ubos[var->data.driver_location][idx]);
       ctx->ubos[var->data.driver_location][idx] = var_id;

Reply via email to