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:
@@ -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;
|
||||
}
|
||||
|
@@ -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);
|
||||
|
@@ -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:
|
||||
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user