From bf955d5f0a3590b05f8949cb5858dcd9a36043c4 Mon Sep 17 00:00:00 2001 From: Bas Nieuwenhuizen Date: Fri, 18 Sep 2020 03:09:19 +0200 Subject: [PATCH] amd/llvm: Add VK_KHR_shader_terminate_invocation support. Reviewed-by: Samuel Pitoiset Part-of: --- src/amd/llvm/ac_nir_to_llvm.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c index ed26f2771ac..6fef028bc3a 100644 --- a/src/amd/llvm/ac_nir_to_llvm.c +++ b/src/amd/llvm/ac_nir_to_llvm.c @@ -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: