break;
}
case nir_intrinsic_load_view_index: {
- if (ctx->stage.has(SWStage::VS) || ctx->stage.has(SWStage::GS) ||
- ctx->stage.has(SWStage::TCS) || ctx->stage.has(SWStage::TES)) {
- Temp dst = get_ssa_temp(ctx, &instr->dest.ssa);
- bld.copy(Definition(dst), Operand(get_arg(ctx, ctx->args->ac.view_index)));
- break;
- }
- FALLTHROUGH;
- }
- case nir_intrinsic_load_layer_id: {
- unsigned idx = nir_intrinsic_base(instr);
- bld.vintrp(aco_opcode::v_interp_mov_f32, Definition(get_ssa_temp(ctx, &instr->dest.ssa)),
- Operand::c32(2u), bld.m0(get_arg(ctx, ctx->args->ac.prim_mask)), idx, 0);
+ Temp dst = get_ssa_temp(ctx, &instr->dest.ssa);
+ bld.copy(Definition(dst), Operand(get_arg(ctx, ctx->args->ac.view_index)));
break;
}
case nir_intrinsic_load_frag_coord: {
case nir_intrinsic_load_frag_coord:
case nir_intrinsic_load_frag_shading_rate:
case nir_intrinsic_load_sample_pos:
- case nir_intrinsic_load_layer_id:
case nir_intrinsic_load_local_invocation_id:
case nir_intrinsic_load_local_invocation_index:
case nir_intrinsic_load_subgroup_invocation:
if (nir->info.stage == MESA_SHADER_FRAGMENT)
info->ps.layer_input = true;
break;
- case nir_intrinsic_load_layer_id:
- if (nir->info.stage == MESA_SHADER_FRAGMENT)
- info->ps.layer_input = true;
- break;
case nir_intrinsic_load_invocation_id:
info->uses_invocation_id = true;
break;