Module: Mesa
Branch: master
Commit: a64fe5ae5bbaf4eb3684363ea94e44046a58a5d5
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a64fe5ae5bbaf4eb3684363ea94e44046a58a5d5

Author: Mike Blumenkrantz <[email protected]>
Date:   Fri Dec 11 18:56:26 2020 -0500

zink: add spirv interfaces for bo and image/sampler/push variables

Reviewed-by: Hoe Hao Cheng <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8985>

---

 src/gallium/drivers/zink/nir_to_spirv/nir_to_spirv.c | 10 +++++++++-
 1 file changed, 9 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 592af34f9a8..4dde01a1e7a 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
@@ -434,8 +434,12 @@ input_var_init(struct ntv_context *ctx, struct 
nir_variable *var)
 
    if (var->name)
       spirv_builder_emit_name(&ctx->builder, var_id, var->name);
-   if (var->data.mode == nir_var_mem_push_const)
+   if (var->data.mode == nir_var_mem_push_const) {
       ctx->push_const_var = var_id;
+
+      assert(ctx->num_entry_ifaces < ARRAY_SIZE(ctx->entry_ifaces));
+      ctx->entry_ifaces[ctx->num_entry_ifaces++] = var_id;
+   }
    return var_id;
 }
 
@@ -829,6 +833,8 @@ emit_image(struct ntv_context *ctx, struct nir_variable 
*var)
       _mesa_hash_table_insert(ctx->image_vars, key, var);
       emit_access_decorations(ctx, var, var_id);
    }
+   assert(ctx->num_entry_ifaces < ARRAY_SIZE(ctx->entry_ifaces));
+   ctx->entry_ifaces[ctx->num_entry_ifaces++] = var_id;
 
    spirv_builder_emit_descriptor_set(&ctx->builder, var_id, 0);
    int binding = zink_binding(ctx->stage,
@@ -949,6 +955,8 @@ emit_bo(struct ntv_context *ctx, struct nir_variable *var)
          assert(ctx->num_ubos < ARRAY_SIZE(ctx->ubos));
          ctx->ubos[ctx->num_ubos++] = var_id;
       }
+      assert(ctx->num_entry_ifaces < ARRAY_SIZE(ctx->entry_ifaces));
+      ctx->entry_ifaces[ctx->num_entry_ifaces++] = var_id;
 
       spirv_builder_emit_descriptor_set(&ctx->builder, var_id, 0);
       int binding = zink_binding(ctx->stage,

_______________________________________________
mesa-commit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to