diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c index d58b8689175..5fb48ca3324 100644 --- a/src/amd/llvm/ac_nir_to_llvm.c +++ b/src/amd/llvm/ac_nir_to_llvm.c @@ -4009,6 +4009,14 @@ static void visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins nir_intrinsic_io_semantics(instr).high_16bits); break; } + case nir_intrinsic_load_point_coord_maybe_flipped: { + LLVMValueRef interp_param = lookup_interp_param(ctx, INTERP_MODE_NONE, INTERP_CENTER); + /* Load point coordinates (x, y) which are written by the hw after the interpolated inputs */ + result = load_interpolated_input(ctx, interp_param, ctx->abi->num_interp, 2, + instr->dest.ssa.num_components, instr->dest.ssa.bit_size, + false); + break; + } case nir_intrinsic_emit_vertex: ctx->abi->emit_vertex(ctx->abi, nir_intrinsic_stream_id(instr), ctx->abi->outputs); break; diff --git a/src/compiler/nir/nir_divergence_analysis.c b/src/compiler/nir/nir_divergence_analysis.c index 6099e931b20..ca634d6e1c2 100644 --- a/src/compiler/nir/nir_divergence_analysis.c +++ b/src/compiler/nir/nir_divergence_analysis.c @@ -403,6 +403,7 @@ visit_intrinsic(nir_shader *shader, nir_intrinsic_instr *instr) case nir_intrinsic_load_sample_id_no_per_sample: case nir_intrinsic_load_sample_mask_in: case nir_intrinsic_load_interpolated_input: + case nir_intrinsic_load_point_coord_maybe_flipped: case nir_intrinsic_load_barycentric_pixel: case nir_intrinsic_load_barycentric_centroid: case nir_intrinsic_load_barycentric_sample: