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

Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Aug 19 14:19:11 2020 -0400

zink: add spirv_builder wrapper for vote intrinsics

these are all going to use the same mechanics, so we can simplify a bit

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

---

 src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c | 7 +++++++
 src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h | 2 ++
 2 files changed, 9 insertions(+)

diff --git a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c 
b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c
index 2dba96dc8bc..171cd4ee58c 100644
--- a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c
+++ b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c
@@ -701,6 +701,13 @@ spirv_builder_emit_kill(struct spirv_builder *b)
    spirv_buffer_emit_word(&b->instructions, SpvOpKill | (1 << 16));
 }
 
+SpvId
+spirv_builder_emit_vote(struct spirv_builder *b, SpvOp op, SpvId src)
+{
+   return spirv_builder_emit_binop(b, op, spirv_builder_type_bool(b),
+                                   spirv_builder_const_uint(b, 32, 
SpvScopeWorkgroup), src);
+}
+
 SpvId
 spirv_builder_emit_image_sample(struct spirv_builder *b,
                                 SpvId result_type,
diff --git a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h 
b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h
index 8bc89df0f7e..61ccce624cc 100644
--- a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h
+++ b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h
@@ -256,6 +256,8 @@ spirv_builder_set_phi_operand(struct spirv_builder *b, 
size_t position,
 void
 spirv_builder_emit_kill(struct spirv_builder *b);
 
+SpvId
+spirv_builder_emit_vote(struct spirv_builder *b, SpvOp op, SpvId src);
 
 SpvId
 spirv_builder_emit_image_sample(struct spirv_builder *b,

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

Reply via email to