nir,ac/nir,aco,radv: replace has_input_*_amd with more general intrinsics
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-by: Qiang Yu <yuq825@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19228>
This commit is contained in:
@@ -4283,16 +4283,10 @@ static bool visit_intrinsic(struct ac_nir_context *ctx, nir_intrinsic_instr *ins
|
||||
else
|
||||
result = ctx->ac.i32_0;
|
||||
break;
|
||||
case nir_intrinsic_has_input_vertex_amd: {
|
||||
LLVMValueRef num =
|
||||
ac_unpack_param(&ctx->ac, ac_get_arg(&ctx->ac, ctx->args->merged_wave_info), 0, 8);
|
||||
result = LLVMBuildICmp(ctx->ac.builder, LLVMIntULT, ac_get_thread_id(&ctx->ac), num, "");
|
||||
break;
|
||||
}
|
||||
case nir_intrinsic_has_input_primitive_amd: {
|
||||
LLVMValueRef num =
|
||||
ac_unpack_param(&ctx->ac, ac_get_arg(&ctx->ac, ctx->args->merged_wave_info), 8, 8);
|
||||
result = LLVMBuildICmp(ctx->ac.builder, LLVMIntULT, ac_get_thread_id(&ctx->ac), num, "");
|
||||
case nir_intrinsic_is_subgroup_invocation_lt_amd: {
|
||||
LLVMValueRef count = LLVMBuildAnd(ctx->ac.builder, get_src(ctx, instr->src[0]),
|
||||
LLVMConstInt(ctx->ac.i32, 0xff, 0), "");
|
||||
result = LLVMBuildICmp(ctx->ac.builder, LLVMIntULT, ac_get_thread_id(&ctx->ac), count, "");
|
||||
break;
|
||||
}
|
||||
case nir_intrinsic_load_workgroup_num_input_vertices_amd:
|
||||
|
||||
Reference in New Issue
Block a user