Module: Mesa Branch: master Commit: 271067967ae24d0fc6deb96821824b2fc19cf2c8 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=271067967ae24d0fc6deb96821824b2fc19cf2c8
Author: Timothy Arceri <tarc...@itsqueeze.com> Date: Fri Jan 19 10:04:26 2018 +1100 ac: add support for gl_HelperInvocation Reviewed-by: Nicolai Hähnle <nicolai.haeh...@amd.com> --- src/amd/common/ac_nir_to_llvm.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 1e592db57a..b90c31320c 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -3916,6 +3916,17 @@ static void emit_discard(struct ac_nir_context *ctx, } static LLVMValueRef +visit_load_helper_invocation(struct ac_nir_context *ctx) +{ + LLVMValueRef result = ac_build_intrinsic(&ctx->ac, + "llvm.amdgcn.ps.live", + ctx->ac.i1, NULL, 0, + AC_FUNC_ATTR_READNONE); + result = LLVMBuildNot(ctx->ac.builder, result, ""); + return LLVMBuildSExt(ctx->ac.builder, result, ctx->ac.i32, ""); +} + +static LLVMValueRef visit_load_local_invocation_index(struct nir_to_llvm_context *ctx) { LLVMValueRef result; @@ -4354,6 +4365,9 @@ static void visit_intrinsic(struct ac_nir_context *ctx, case nir_intrinsic_load_front_face: result = ctx->abi->front_face; break; + case nir_intrinsic_load_helper_invocation: + result = visit_load_helper_invocation(ctx); + break; case nir_intrinsic_load_instance_id: result = ctx->abi->instance_id; break; _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit