amd: lower load_sample_id in NIR

Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32782>
This commit is contained in:
Marek Olšák
2024-12-25 12:44:59 -05:00
committed by Marge Bot
parent 684c8da553
commit 110e474b4f
4 changed files with 3 additions and 9 deletions

View File

@@ -247,6 +247,9 @@ lower_intrinsic_to_arg(nir_builder *b, nir_instr *instr, void *state)
unreachable("unexpected shader stage");
}
break;
case nir_intrinsic_load_sample_id:
replacement = ac_nir_unpack_arg(b, s->args, s->args->ancillary, 8, 4);
break;
default:
return false;
}

View File

@@ -8547,11 +8547,6 @@ visit_intrinsic(isel_context* ctx, nir_intrinsic_instr* instr)
set_wqm(ctx);
break;
}
case nir_intrinsic_load_sample_id: {
bld.vop3(aco_opcode::v_bfe_u32, Definition(get_ssa_temp(ctx, &instr->def)),
get_arg(ctx, ctx->args->ancillary), Operand::c32(8u), Operand::c32(4u));
break;
}
case nir_intrinsic_read_first_invocation: {
Temp src = get_ssa_temp(ctx, instr->src[0].ssa);
Temp dst = get_ssa_temp(ctx, &instr->def);

View File

@@ -543,7 +543,6 @@ init_context(isel_context* ctx, nir_shader* shader)
case nir_intrinsic_load_lds_ngg_gs_out_vertex_base_amd:
case nir_intrinsic_load_smem_amd:
case nir_intrinsic_unit_test_uniform_amd: type = RegType::sgpr; break;
case nir_intrinsic_load_sample_id:
case nir_intrinsic_load_input:
case nir_intrinsic_load_per_primitive_input:
case nir_intrinsic_load_output:

View File

@@ -2969,9 +2969,6 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
} else
fprintf(stderr, "Unknown primitive id intrinsic: %d", ctx->stage);
break;
case nir_intrinsic_load_sample_id:
result = ac_unpack_param(&ctx->ac, ac_get_arg(&ctx->ac, ctx->args->ancillary), 8, 4);
break;
case nir_intrinsic_load_sample_pos:
result = load_sample_pos(ctx);
break;