From 67462ed0147ace4247896491bed8b400e3c37695 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Wed, 17 Aug 2022 18:05:21 -0400 Subject: [PATCH] zink: add spirv builder function for terminate Part-of: --- src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c | 7 +++++++ src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h | 3 +++ 2 files changed, 10 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 0e74dec..7ad3767 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c +++ b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.c @@ -767,6 +767,13 @@ spirv_builder_emit_kill(struct spirv_builder *b) } void +spirv_builder_emit_terminate(struct spirv_builder *b) +{ + spirv_buffer_prepare(&b->instructions, b->mem_ctx, 1); + spirv_buffer_emit_word(&b->instructions, SpvOpTerminateInvocation | (1 << 16)); +} + +void spirv_builder_emit_demote(struct spirv_builder *b) { spirv_buffer_prepare(&b->instructions, b->mem_ctx, 1); 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 10eed69..10d2361 100644 --- a/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h +++ b/src/gallium/drivers/zink/nir_to_spirv/spirv_builder.h @@ -273,6 +273,9 @@ void spirv_builder_emit_kill(struct spirv_builder *b); void +spirv_builder_emit_terminate(struct spirv_builder *b); + +void spirv_builder_emit_demote(struct spirv_builder *b); SpvId -- 2.7.4