From 256a1849c750df658a805fd236645a15dce23ecf Mon Sep 17 00:00:00 2001 From: Nicolai Hähnle Date: Tue, 4 Jul 2017 11:09:24 +0200 Subject: ac/nir: implement load_frag_coord intrinsic --- src/amd/common/ac_nir_to_llvm.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/amd/common/ac_nir_to_llvm.c b/src/amd/common/ac_nir_to_llvm.c index 9bb1904e54..5a972b798a 100644 --- a/src/amd/common/ac_nir_to_llvm.c +++ b/src/amd/common/ac_nir_to_llvm.c @@ -3986,6 +3986,16 @@ static void visit_intrinsic(struct ac_nir_context *ctx, case nir_intrinsic_load_sample_mask_in: result = ctx->abi->sample_coverage; break; + case nir_intrinsic_load_frag_coord: { + LLVMValueRef values[4] = { + ctx->abi->frag_pos[0], + ctx->abi->frag_pos[1], + ctx->abi->frag_pos[2], + ac_build_fdiv(&ctx->ac, ctx->ac.f32_1, ctx->abi->frag_pos[3]) + }; + result = ac_build_gather_values(&ctx->ac, values, 4); + break; + } case nir_intrinsic_load_front_face: result = ctx->abi->front_face; break; -- cgit v1.2.3