Lines Matching defs:bld

813 get_mesh_urb_handle(const fs_builder &bld, nir_intrinsic_op op)
816 if (bld.shader->stage == MESA_SHADER_TASK) {
819 assert(bld.shader->stage == MESA_SHADER_MESH);
823 fs_builder ubld8 = bld.group(8, 0).exec_all();
842 adjust_handle_and_offset(const fs_builder &bld,
852 fs_builder ubld8 = bld.group(8, 0).exec_all();
859 emit_urb_direct_writes(const fs_builder &bld, nir_intrinsic_instr *instr,
867 fs_reg urb_handle = get_mesh_urb_handle(bld, instr->intrinsic);
892 adjust_handle_and_offset(bld, urb_handle, urb_global_offset);
895 for (unsigned q = 0; q < bld.dispatch_width() / 8; q++) {
896 fs_builder bld8 = bld.group(8, q);
905 payload_srcs[length++] = quarter(offset(src, bld, c), q);
910 srcs[URB_LOGICAL_SRC_DATA] = fs_reg(VGRF, bld.shader->alloc.allocate(length),
924 adjust_handle_and_offset(bld, urb_handle, urb_global_offset);
926 for (unsigned q = 0; q < bld.dispatch_width() / 8; q++) {
927 fs_builder bld8 = bld.group(8, q);
933 payload_srcs[length++] = quarter(offset(src, bld, c + first_comps), q);
938 srcs[URB_LOGICAL_SRC_DATA] = fs_reg(VGRF, bld.shader->alloc.allocate(length),
952 emit_urb_indirect_writes(const fs_builder &bld, nir_intrinsic_instr *instr,
960 fs_reg urb_handle = get_mesh_urb_handle(bld, instr->intrinsic);
975 fs_reg src_comp = offset(src, bld, c);
977 for (unsigned q = 0; q < bld.dispatch_width() / 8; q++) {
978 fs_builder bld8 = bld.group(8, q);
1004 srcs[URB_LOGICAL_SRC_DATA] = fs_reg(VGRF, bld.shader->alloc.allocate(length),
1017 emit_urb_direct_reads(const fs_builder &bld, nir_intrinsic_instr *instr,
1029 fs_reg urb_handle = get_mesh_urb_handle(bld, instr->intrinsic);
1036 adjust_handle_and_offset(bld, urb_handle, urb_global_offset);
1041 fs_builder ubld8 = bld.group(8, 0).exec_all();
1054 fs_reg dest_comp = offset(dest, bld, c);
1056 bld.MOV(retype(dest_comp, BRW_REGISTER_TYPE_UD), data_comp);
1061 emit_urb_indirect_reads(const fs_builder &bld, nir_intrinsic_instr *instr,
1072 fs_builder ubld8 = bld.group(8, 0).exec_all();
1080 fs_reg urb_handle = get_mesh_urb_handle(bld, instr->intrinsic);
1086 for (unsigned q = 0; q < bld.dispatch_width() / 8; q++) {
1087 fs_builder bld8 = bld.group(8, q);
1114 fs_reg dest_comp = offset(dest, bld, c);
1125 fs_visitor::emit_task_mesh_store(const fs_builder &bld, nir_intrinsic_instr *instr)
1136 emit_urb_direct_writes(bld, instr, src);
1138 emit_urb_indirect_writes(bld, instr, src, get_nir_src(*offset_nir_src));
1142 fs_visitor::emit_task_mesh_load(const fs_builder &bld, nir_intrinsic_instr *instr)
1153 emit_urb_direct_reads(bld, instr, dest);
1155 emit_urb_indirect_reads(bld, instr, dest, get_nir_src(*offset_nir_src));
1159 fs_visitor::nir_emit_task_intrinsic(const fs_builder &bld,
1167 emit_task_mesh_store(bld, instr);
1172 emit_task_mesh_load(bld, instr);
1176 nir_emit_task_mesh_intrinsic(bld, instr);
1182 fs_visitor::nir_emit_mesh_intrinsic(const fs_builder &bld,
1191 emit_task_mesh_store(bld, instr);
1198 emit_task_mesh_load(bld, instr);
1202 nir_emit_task_mesh_intrinsic(bld, instr);
1208 fs_visitor::nir_emit_task_mesh_intrinsic(const fs_builder &bld,
1221 bld.MOV(dest, retype(brw_vec1_grf(payload.num_regs - 1,
1228 bld.MOV(dest, brw_vec1_grf(0, 3));
1235 bld.MOV(dest, retype(brw_vec8_grf(1, 0), BRW_REGISTER_TYPE_UW));
1238 bld.MOV(offset(dest, bld, 1), brw_imm_uw(0));
1239 bld.MOV(offset(dest, bld, 2), brw_imm_uw(0));
1244 nir_emit_cs_intrinsic(bld, instr);