amd/llvm: Add VK_KHR_shader_terminate_invocation support.

Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7226>
This commit is contained in:
Bas Nieuwenhuizen 2020-09-18 03:09:19 +02:00 committed by Marge Bot
parent 76421667ec
commit bf955d5f0a
1 changed files with 4 additions and 1 deletions

View File

@ -2761,7 +2761,8 @@ static void emit_discard(struct ac_nir_context *ctx, const nir_intrinsic_instr *
{
LLVMValueRef cond;
if (instr->intrinsic == nir_intrinsic_discard_if) {
if (instr->intrinsic == nir_intrinsic_discard_if ||
instr->intrinsic == nir_intrinsic_terminate_if) {
cond = LLVMBuildNot(ctx->ac.builder, get_src(ctx, instr->src[0]), "");
} else {
assert(instr->intrinsic == nir_intrinsic_discard);
@ -3505,6 +3506,8 @@ static void visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
break;
case nir_intrinsic_discard:
case nir_intrinsic_discard_if:
case nir_intrinsic_terminate:
case nir_intrinsic_terminate_if:
emit_discard(ctx, instr);
break;
case nir_intrinsic_demote: