Lines Matching refs:args
5149 get_arg(ctx, ctx->args->ac.merged_wave_info), Operand::c32(24u | (4u << 16)));
5308 if (ctx->args->ac.frag_pos[i].used)
5309 vec->operands[i] = Operand(get_arg(ctx, ctx->args->ac.frag_pos[i]));
5316 bld.vop1(aco_opcode::v_rcp_f32, bld.def(v1), get_arg(ctx, ctx->args->ac.frag_pos[3]));
5337 Temp x_rate = bld.vop3(aco_opcode::v_bfe_u32, bld.def(v1), get_arg(ctx, ctx->args->ac.ancillary),
5339 Temp y_rate = bld.vop3(aco_opcode::v_bfe_u32, bld.def(v1), get_arg(ctx, ctx->args->ac.ancillary),
5362 Temp prim_mask = get_arg(ctx, ctx->args->ac.prim_mask);
5465 Temp input = get_arg(ctx, ctx->args->vs_inputs[location]);
5491 convert_pointer_to_64_bit(ctx, get_arg(ctx, ctx->args->ac.vertex_buffers));
5519 Temp start_instance = get_arg(ctx, ctx->args->ac.start_instance);
5521 Temp instance_id = get_arg(ctx, ctx->args->ac.instance_id);
5533 index = bld.vadd32(bld.def(v1), get_arg(ctx, ctx->args->ac.base_vertex),
5534 get_arg(ctx, ctx->args->ac.vertex_id));
5697 Temp prim_mask = get_arg(ctx, ctx->args->ac.prim_mask);
5775 Operand tes_u(get_arg(ctx, ctx->args->ac.tes_u));
5776 Operand tes_v(get_arg(ctx, ctx->args->ac.tes_v));
5846 if ((ctx->args->ac.inline_push_const_mask | mask) == ctx->args->ac.inline_push_const_mask &&
5847 start + count <= (sizeof(ctx->args->ac.inline_push_const_mask) * 8u)) {
5852 util_bitcount64(ctx->args->ac.inline_push_const_mask & BITFIELD64_MASK(start));
5854 elems[i] = get_arg(ctx, ctx->args->ac.inline_push_consts[arg_index++]);
5868 Temp ptr = convert_pointer_to_64_bit(ctx, get_arg(ctx, ctx->args->ac.push_constants));
6092 std::vector<Temp> args;
6093 args.push_back(emit_extract_vector(ctx, node, 0, v1));
6094 args.push_back(emit_extract_vector(ctx, node, 1, v1));
6095 args.push_back(as_vgpr(ctx, tmax));
6096 args.push_back(emit_extract_vector(ctx, origin, 0, v1));
6097 args.push_back(emit_extract_vector(ctx, origin, 1, v1));
6098 args.push_back(emit_extract_vector(ctx, origin, 2, v1));
6099 args.push_back(emit_extract_vector(ctx, dir, 0, v1));
6100 args.push_back(emit_extract_vector(ctx, dir, 1, v1));
6101 args.push_back(emit_extract_vector(ctx, dir, 2, v1));
6102 args.push_back(emit_extract_vector(ctx, inv_dir, 0, v1));
6103 args.push_back(emit_extract_vector(ctx, inv_dir, 1, v1));
6104 args.push_back(emit_extract_vector(ctx, inv_dir, 2, v1));
6107 resource, Operand(s4), args);
7769 mubuf->operands[2] = Operand(get_arg(ctx, ctx->args->ac.gs2vs_offset));
8237 return get_arg(ctx, linear ? ctx->args->ac.linear_center : ctx->args->ac.persp_center);
8242 return get_arg(ctx, linear ? ctx->args->ac.linear_sample : ctx->args->ac.persp_sample);
8263 Temp model = get_arg(ctx, ctx->args->ac.pull_model);
8385 Operand::zero(), get_arg(ctx, ctx->args->ac.front_face));
8390 bld.copy(Definition(dst), Operand(get_arg(ctx, ctx->args->ac.view_index)));
8401 Temp posx = get_arg(ctx, ctx->args->ac.frag_pos[0]);
8402 Temp posy = get_arg(ctx, ctx->args->ac.frag_pos[1]);
8488 if (ctx->args->load_grid_size_from_user_sgpr) {
8489 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.num_work_groups));
8491 Temp addr = get_arg(ctx, ctx->args->ac.num_work_groups);
8502 Temp addr = get_arg(ctx, ctx->args->ac.ray_launch_size_addr);
8515 get_arg(ctx, ctx->args->ac.local_invocation_ids),
8522 bld.copy(Definition(dst), Operand(get_arg(ctx, ctx->args->ac.local_invocation_ids)));
8530 const struct ac_arg* ids = ctx->args->ac.workgroup_ids;
8547 get_arg(ctx, ctx->args->ac.tcs_wave_id), Operand::c32(0u | (5u << 16)));
8556 get_arg(ctx, ctx->args->ac.vs_rel_patch_id));
8576 Operand::c32(0xfc0u), get_arg(ctx, ctx->args->ac.tg_size));
8583 get_arg(ctx, ctx->args->ac.tg_size), Operand::c32(0x6u | (0x6u << 16)));
8592 bld.def(s1, scc), get_arg(ctx, ctx->args->ac.tg_size),
8597 bld.def(s1, scc), get_arg(ctx, ctx->args->ac.merged_wave_info),
8611 bld.def(s1, scc), Operand::c32(0x3fu), get_arg(ctx, ctx->args->ac.tg_size));
8614 bld.def(s1, scc), get_arg(ctx, ctx->args->ac.merged_wave_info),
8703 get_arg(ctx, ctx->args->ac.ancillary), Operand::c32(8u), Operand::c32(4u));
9114 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.vertex_id));
9119 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.base_vertex));
9124 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.start_instance));
9129 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.instance_id));
9134 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.draw_id));
9143 get_arg(ctx, ctx->args->ac.gs_invocation_id));
9145 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.gs_invocation_id));
9147 bld.vop3(aco_opcode::v_bfe_u32, Definition(dst), get_arg(ctx, ctx->args->ac.tcs_rel_ids),
9160 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.gs_prim_id));
9163 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.tcs_patch_id));
9166 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.tes_patch_id));
9172 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.gs_prim_id));
9175 bld.copy(Definition(dst), get_arg(ctx, ctx->args->ac.vs_prim_id));
9236 Temp addr = get_arg(ctx, ctx->args->ac.sbt_descriptors);
9243 ctx->arg_temps[ctx->args->ac.vertex_id.arg_index] = get_ssa_temp(ctx, instr->src[0].ssa);
9244 ctx->arg_temps[ctx->args->ac.instance_id.arg_index] = get_ssa_temp(ctx, instr->src[1].ssa);
9248 ctx->arg_temps[ctx->args->ac.tes_u.arg_index] = get_ssa_temp(ctx, instr->src[0].ssa);
9249 ctx->arg_temps[ctx->args->ac.tes_v.arg_index] = get_ssa_temp(ctx, instr->src[1].ssa);
9250 ctx->arg_temps[ctx->args->ac.tes_rel_patch_id.arg_index] =
9252 ctx->arg_temps[ctx->args->ac.tes_patch_id.arg_index] = get_ssa_temp(ctx, instr->src[3].ssa);
9257 get_arg(ctx, ctx->args->ac.force_vrs_rates));
9262 assert(nir_intrinsic_base(instr) < ctx->args->ac.arg_count);
9837 std::vector<Temp> args;
9840 wqm_mask |= u_bit_consecutive(args.size(), 1);
9841 args.emplace_back(offset);
9844 args.emplace_back(emit_pack_v1(ctx, {bias})[0]);
9846 args.emplace_back(compare);
9848 args.insert(args.end(), derivs.begin(), derivs.end());
9850 wqm_mask |= u_bit_consecutive(args.size(), wqm_coord_count);
9851 args.insert(args.end(), coords.begin(), coords.end());
9861 emit_mimg(bld, op, Definition(tmp_dst), resource, Operand(s4), args, 0, vdata);
10031 args, implicit_derivs ? wqm_mask : 0, vdata);
11398 Temp continue_pc = convert_pointer_to_64_bit(ctx, get_arg(ctx, ctx->args->ps_epilog_pc));
11511 get_arg(ctx, ctx->args->ac.streamout_config), Operand::c32(0x70010u));
11523 bld.vadd32(bld.def(v1), get_arg(ctx, ctx->args->ac.streamout_write_index), tid);
11527 Temp buf_ptr = convert_pointer_to_64_bit(ctx, get_arg(ctx, ctx->args->streamout_buffers));
11539 get_arg(ctx, ctx->args->ac.streamout_write_index),
11540 get_arg(ctx, ctx->args->ac.streamout_offset[i]));
11548 get_arg(ctx, ctx->args->ac.streamout_offset[i]));
11569 for (unsigned i = 0; i < ctx->args->ac.arg_count; i++) {
11570 if (ctx->args->ac.args[i].skip)
11572 unsigned align = MIN2(4, util_next_power_of_two(ctx->args->ac.args[i].size));
11573 if (ctx->args->ac.args[i].file == AC_ARG_SGPR && ctx->args->ac.args[i].offset % align)
11574 def_count += ctx->args->ac.args[i].size;
11582 for (unsigned i = 0, arg = 0; i < ctx->args->ac.arg_count; i++) {
11583 if (ctx->args->ac.args[i].skip)
11586 enum ac_arg_regfile file = ctx->args->ac.args[i].file;
11587 unsigned size = ctx->args->ac.args[i].size;
11588 unsigned reg = ctx->args->ac.args[i].offset;
11610 ctx->program->private_segment_buffer = get_arg(ctx, ctx->args->ring_offsets);
11612 ctx->program->scratch_offset = get_arg(ctx, ctx->args->ac.scratch_offset);
11626 Definition def(get_arg(ctx, ctx->args->vs_inputs[i]));
11628 unsigned idx = ctx->args->vs_inputs[i].arg_index;
11629 def.setFixed(PhysReg(256 + ctx->args->ac.args[idx].offset));
11645 get_arg(ctx, ctx->args->ac.merged_wave_info),
11652 bld.vop2(aco_opcode::v_cndmask_b32, bld.def(v1), get_arg(ctx, ctx->args->ac.vertex_id),
11653 get_arg(ctx, ctx->args->ac.instance_id), ls_has_nonzero_hs_threads);
11655 bld.vop2(aco_opcode::v_cndmask_b32, bld.def(v1), get_arg(ctx, ctx->args->ac.tcs_rel_ids),
11656 get_arg(ctx, ctx->args->ac.vs_rel_patch_id), ls_has_nonzero_hs_threads);
11658 bld.vop2(aco_opcode::v_cndmask_b32, bld.def(v1), get_arg(ctx, ctx->args->ac.tcs_patch_id),
11659 get_arg(ctx, ctx->args->ac.vertex_id), ls_has_nonzero_hs_threads);
11661 ctx->arg_temps[ctx->args->ac.instance_id.arg_index] = instance_id;
11662 ctx->arg_temps[ctx->args->ac.vs_rel_patch_id.arg_index] = vs_rel_patch_id;
11663 ctx->arg_temps[ctx->args->ac.vertex_id.arg_index] = vertex_id;
11692 ctx->persp_centroid = get_arg(ctx, ctx->args->ac.persp_centroid);
11694 ctx->linear_centroid = get_arg(ctx, ctx->args->ac.linear_centroid);
11698 get_arg(ctx, ctx->args->ac.prim_mask), Operand::zero());
11704 emit_extract_vector(ctx, get_arg(ctx, ctx->args->ac.persp_centroid), i, v1);
11706 emit_extract_vector(ctx, get_arg(ctx, ctx->args->ac.persp_center), i, v1);
11720 emit_extract_vector(ctx, get_arg(ctx, ctx->args->ac.linear_centroid), i, v1);
11722 emit_extract_vector(ctx, get_arg(ctx, ctx->args->ac.linear_center), i, v1);
11836 ? get_arg(ctx, ctx->args->ac.merged_wave_info)
11838 get_arg(ctx, ctx->args->ac.merged_wave_info), Operand::c32(i * 8u));
11913 const struct radv_shader_args* args)
11915 isel_context ctx = setup_isel_context(program, shader_count, shaders, config, options, info, args, false, false);
11986 get_arg(&ctx, args->ac.merged_wave_info), Operand::c32(2u),
11990 ctx.gs_wave_id = get_arg(&ctx, args->ac.gs_wave_id);
12042 const struct radv_shader_args* args)
12044 isel_context ctx = setup_isel_context(program, 1, &gs_shader, config, options, info, args, true, false);
12059 get_arg(&ctx, ctx.args->ac.streamout_config), Operand::c32(0x20018u));
12062 get_arg(&ctx, ctx.args->ac.vertex_id));
12141 const struct radv_shader_args* args)
12150 ctx.args = args;
12199 get_arg_fixed(const struct radv_shader_args* args, struct ac_arg arg)
12203 enum ac_arg_regfile file = args->ac.args[arg.arg_index].file;
12204 unsigned size = args->ac.args[arg.arg_index].size;
12205 unsigned reg = args->ac.args[arg.arg_index].offset;
12241 calc_nontrivial_instance_id(Builder& bld, const struct radv_shader_args* args, unsigned index,
12246 get_arg_fixed(args, args->prolog_inputs), Operand::c32(8u + index * 8u));
12305 const struct radv_shader_args* args, unsigned* num_preserved_sgprs)
12340 Operand start_instance = get_arg_fixed(args, args->ac.start_instance);
12341 Operand instance_id = get_arg_fixed(args, args->ac.instance_id);
12343 PhysReg attributes_start(256 + args->ac.num_vgprs_used);
12352 get_arg_fixed(args, args->ac.vertex_buffers));
12376 Operand count = get_arg_fixed(args, args->ac.merged_wave_info);
12395 bld.vadd32(Definition(vertex_index, v1), get_arg_fixed(args, args->ac.base_vertex),
12396 get_arg_fixed(args, args->ac.vertex_id), false, Operand(s2), true);
12419 bld, args, index, instance_id, start_instance, prolog_input,
12509 Operand continue_pc = get_arg_fixed(args, args->prolog_inputs);
12512 get_arg_fixed(args, args->prolog_inputs), Operand::c32(0u));
12530 const struct radv_shader_args* args)
12532 isel_context ctx = setup_isel_context(program, 0, NULL, config, options, info, args, false, true);
12559 Temp inputs = get_arg(&ctx, ctx.args->ps_epilog_inputs[i]);