zink: add spirv builder function for demote

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18272>
This commit is contained in:
Mike Blumenkrantz
2022-08-17 18:05:21 -04:00
committed by Marge Bot
parent 944b08e597
commit 1bff203533
2 changed files with 10 additions and 0 deletions
@@ -758,6 +758,13 @@ spirv_builder_emit_kill(struct spirv_builder *b)
spirv_buffer_emit_word(&b->instructions, SpvOpKill | (1 << 16));
}
void
spirv_builder_emit_demote(struct spirv_builder *b)
{
spirv_buffer_prepare(&b->instructions, b->mem_ctx, 1);
spirv_buffer_emit_word(&b->instructions, SpvOpDemoteToHelperInvocation | (1 << 16));
}
SpvId
spirv_builder_emit_vote(struct spirv_builder *b, SpvOp op, SpvId src)
{
@@ -268,6 +268,9 @@ spirv_builder_set_phi_operand(struct spirv_builder *b, size_t position,
void
spirv_builder_emit_kill(struct spirv_builder *b);
void
spirv_builder_emit_demote(struct spirv_builder *b);
SpvId
spirv_builder_emit_vote(struct spirv_builder *b, SpvOp op, SpvId src);