diff --git a/src/amd/common/ac_nir.c b/src/amd/common/ac_nir.c index 875895ca17a..8c006838306 100644 --- a/src/amd/common/ac_nir.c +++ b/src/amd/common/ac_nir.c @@ -170,7 +170,9 @@ lower_intrinsic_to_arg(nir_builder *b, nir_instr *instr, void *state) } else { return false; } - + break; + case nir_intrinsic_load_pixel_coord: + replacement = nir_unpack_32_2x16(b, ac_nir_load_arg(b, s->args, s->args->pos_fixed_pt)); break; default: return false; diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 2938141ff3f..4dcf149c6d4 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -8158,12 +8158,6 @@ 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 4d81ad0c9c1..740f94810a4 100644 --- a/src/amd/compiler/aco_instruction_selection_setup.cpp +++ b/src/amd/compiler/aco_instruction_selection_setup.cpp @@ -561,7 +561,6 @@ init_context(isel_context* ctx, nir_shader* shader) case nir_intrinsic_load_interpolated_input: case nir_intrinsic_load_front_face_fsign: 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: diff --git a/src/amd/llvm/ac_nir_to_llvm.c b/src/amd/llvm/ac_nir_to_llvm.c index eade2c46537..d3982ac9c90 100644 --- a/src/amd/llvm/ac_nir_to_llvm.c +++ b/src/amd/llvm/ac_nir_to_llvm.c @@ -2883,14 +2883,6 @@ emit_load_frag_coord(struct ac_nir_context *ctx) return ac_to_integer(&ctx->ac, ac_build_gather_values(&ctx->ac, values, 4)); } -static LLVMValueRef -emit_load_pixel_coord(struct ac_nir_context *ctx) -{ - LLVMValueRef value = ac_get_arg(&ctx->ac, ctx->args->pos_fixed_pt); - - return LLVMBuildBitCast(ctx->ac.builder, value, ctx->ac.v2i16, ""); -} - static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *instr) { LLVMValueRef result = NULL; @@ -3035,9 +3027,6 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins case nir_intrinsic_load_frag_coord: result = emit_load_frag_coord(ctx); break; - case nir_intrinsic_load_pixel_coord: - result = emit_load_pixel_coord(ctx); - break; case nir_intrinsic_load_frag_shading_rate: result = emit_load_frag_shading_rate(ctx); break;