Lines Matching refs:mubuf

4436    aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 3, 1)};
4437 mubuf->operands[0] = Operand(info.resource);
4438 mubuf->operands[1] = vaddr;
4439 mubuf->operands[2] = soffset;
4440 mubuf->offen = (offset.type() == RegType::vgpr);
4441 mubuf->glc = info.glc;
4442 mubuf->dlc =
4444 mubuf->slc = info.slc;
4445 mubuf->sync = info.sync;
4446 mubuf->offset = const_offset;
4447 mubuf->swizzled = info.swizzle_component_size != 0;
4450 mubuf->definitions[0] = Definition(val);
4451 bld.insert(std::move(mubuf));
4649 aco_ptr<MUBUF_instruction> mubuf{
4651 mubuf->operands[0] = Operand(get_gfx6_global_rsrc(bld, addr));
4652 mubuf->operands[1] = addr.type() == RegType::vgpr ? Operand(addr) : Operand(v1);
4653 mubuf->operands[2] = Operand(offset);
4654 mubuf->glc = info.glc;
4655 mubuf->dlc = false;
4656 mubuf->offset = const_offset;
4657 mubuf->addr64 = addr.type() == RegType::vgpr;
4658 mubuf->disable_wqm = false;
4659 mubuf->sync = info.sync;
4660 mubuf->definitions[0] = Definition(val);
4661 bld.insert(std::move(mubuf));
5087 bld.mubuf(op, Operand(descriptor), voffset_op, soffset_op, Operand(vdata), const_offset,
5092 r.instr->mubuf().sync = sync;
5635 Instruction* mubuf = bld.mubuf(opcode, Definition(fetch_dst), list, fetch_index,
5638 mubuf->mubuf().vtx_binding = attrib_binding + 1;
6528 aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(
6530 mubuf->operands[0] = Operand(resource);
6531 mubuf->operands[1] = Operand(vindex);
6532 mubuf->operands[2] = Operand::c32(0);
6533 mubuf->operands[3] = Operand(data);
6537 mubuf->definitions[0] = def;
6538 mubuf->offset = 0;
6539 mubuf->idxen = true;
6540 mubuf->glc = return_previous;
6541 mubuf->dlc = false; /* Not needed for atomics */
6542 mubuf->disable_wqm = true;
6543 mubuf->sync = sync;
6545 ctx->block->instructions.emplace_back(std::move(mubuf));
6817 aco_ptr<MUBUF_instruction> mubuf{
6819 mubuf->operands[0] = Operand(rsrc);
6820 mubuf->operands[1] = offset.type() == RegType::vgpr ? Operand(offset) : Operand(v1);
6821 mubuf->operands[2] = offset.type() == RegType::sgpr ? Operand(offset) : Operand::c32(0);
6822 mubuf->operands[3] = Operand(data);
6826 mubuf->definitions[0] = def;
6827 mubuf->offset = 0;
6828 mubuf->offen = (offset.type() == RegType::vgpr);
6829 mubuf->glc = return_previous;
6830 mubuf->dlc = false; /* Not needed for atomics */
6831 mubuf->disable_wqm = true;
6832 mubuf->sync = get_memory_sync_info(instr, storage_buffer, semantic_atomicrmw);
6834 ctx->block->instructions.emplace_back(std::move(mubuf));
6979 aco_ptr<MUBUF_instruction> mubuf{
6981 mubuf->operands[0] = Operand(rsrc);
6982 mubuf->operands[1] =
6984 mubuf->operands[2] = Operand(write_offset);
6985 mubuf->operands[3] = Operand(write_datas[i]);
6986 mubuf->glc = glc;
6987 mubuf->dlc = false;
6988 mubuf->offset = write_const_offset;
6989 mubuf->addr64 = write_address.type() == RegType::vgpr;
6990 mubuf->disable_wqm = true;
6991 mubuf->sync = sync;
6993 ctx->block->instructions.emplace_back(std::move(mubuf));
7159 aco_ptr<MUBUF_instruction> mubuf{
7161 mubuf->operands[0] = Operand(rsrc);
7162 mubuf->operands[1] = addr.type() == RegType::vgpr ? Operand(addr) : Operand(v1);
7163 mubuf->operands[2] = Operand(offset);
7164 mubuf->operands[3] = Operand(data);
7168 mubuf->definitions[0] = def;
7169 mubuf->glc = return_previous;
7170 mubuf->dlc = false;
7171 mubuf->offset = const_offset;
7172 mubuf->addr64 = addr.type() == RegType::vgpr;
7173 mubuf->disable_wqm = true;
7174 mubuf->sync = get_memory_sync_info(instr, storage_buffer, semantic_atomicrmw);
7176 ctx->block->instructions.emplace_back(std::move(mubuf));
7686 Instruction* mubuf = bld.mubuf(op, rsrc, offset, ctx->program->scratch_offset,
7688 mubuf->mubuf().sync = memory_sync_info(storage_scratch, semantic_private);
7765 aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(
7767 mubuf->operands[0] = Operand(gsvs_ring);
7768 mubuf->operands[1] = vaddr_offset;
7769 mubuf->operands[2] = Operand(get_arg(ctx, ctx->args->ac.gs2vs_offset));
7770 mubuf->operands[3] = Operand(ctx->outputs.temps[i * 4u + j]);
7771 mubuf->offen = !vaddr_offset.isUndefined();
7772 mubuf->offset = const_offset;
7773 mubuf->glc = ctx->program->gfx_level < GFX11;
7774 mubuf->slc = true;
7775 mubuf->sync = memory_sync_info(storage_vmem_output, semantic_can_reorder);
7776 bld.insert(std::move(mubuf));
9820 aco_ptr<MUBUF_instruction> mubuf{
9822 mubuf->operands[0] = Operand(resource);
9823 mubuf->operands[1] = Operand(coords[0]);
9824 mubuf->operands[2] = Operand::c32(0);
9825 mubuf->definitions[0] = Definition(tmp_dst);
9826 mubuf->idxen = true;
9827 mubuf->tfe = instr->is_sparse;
9828 if (mubuf->tfe)
9829 mubuf->operands[3] = emit_tfe_init(bld, tmp_dst);
9830 ctx->block->instructions.emplace_back(std::move(mubuf));
12445 bld.mubuf(aco_opcode::buffer_load_dword, Definition(dest.advance(j * 4u), v1),
12462 bld.mubuf(aco_opcode::buffer_load_format_xyzw, Definition(dest, v4),