From a58d2b59e9ed5d9db9b493d0e8b6a36e78cb87ec Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Sun, 27 Oct 2024 12:53:50 +0100 Subject: [PATCH] aco: implement load_pixel_coord MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Timur Kristóf Reviewed-by: Alyssa Rosenzweig Part-of: --- src/amd/compiler/aco_instruction_selection.cpp | 6 ++++++ src/amd/compiler/aco_instruction_selection_setup.cpp | 1 + 2 files changed, 7 insertions(+) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 2f2430af893..0f4568dff7c 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -8362,6 +8362,12 @@ visit_intrinsic(isel_context* ctx, nir_intrinsic_instr* instr) emit_load_frag_coord(ctx, get_ssa_temp(ctx, &instr->def), 4); break; } + case nir_intrinsic_load_pixel_coord: { + Temp dst = get_ssa_temp(ctx, &instr->def); + bld.copy(Definition(dst), get_arg(ctx, ctx->args->pos_fixed_pt)); + emit_split_vector(ctx, dst, 2); + break; + } case nir_intrinsic_load_frag_shading_rate: emit_load_frag_shading_rate(ctx, get_ssa_temp(ctx, &instr->def)); break; diff --git a/src/amd/compiler/aco_instruction_selection_setup.cpp b/src/amd/compiler/aco_instruction_selection_setup.cpp index 28708503c6b..6caf3619d59 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -558,6 +558,7 @@ init_context(isel_context* ctx, nir_shader* shader) case nir_intrinsic_load_barycentric_at_offset: case nir_intrinsic_load_interpolated_input: case nir_intrinsic_load_frag_coord: + case nir_intrinsic_load_pixel_coord: case nir_intrinsic_load_frag_shading_rate: case nir_intrinsic_load_sample_pos: case nir_intrinsic_load_local_invocation_id: