Lines Matching refs:mubuf
3437 aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 3, 1)}; in mubuf_load_callback() local
3438 mubuf->operands[0] = Operand(info.resource); in mubuf_load_callback()
3439 mubuf->operands[1] = vaddr; in mubuf_load_callback()
3440 mubuf->operands[2] = soffset; in mubuf_load_callback()
3441 mubuf->offen = (offset.type() == RegType::vgpr); in mubuf_load_callback()
3442 mubuf->glc = info.glc; in mubuf_load_callback()
3443 mubuf->dlc = info.glc && bld.program->chip_class >= GFX10; in mubuf_load_callback()
3444 mubuf->slc = info.slc; in mubuf_load_callback()
3445 mubuf->sync = info.sync; in mubuf_load_callback()
3446 mubuf->offset = const_offset; in mubuf_load_callback()
3447 mubuf->swizzled = info.swizzle_component_size != 0; in mubuf_load_callback()
3450 mubuf->definitions[0] = Definition(val); in mubuf_load_callback()
3451 bld.insert(std::move(mubuf)); in mubuf_load_callback()
3475 bool mubuf = bld.program->chip_class == GFX6; in global_load_callback() local
3480 …op = mubuf ? aco_opcode::buffer_load_ubyte : global ? aco_opcode::global_load_ubyte : aco_opcode::… in global_load_callback()
3483 …op = mubuf ? aco_opcode::buffer_load_ushort : global ? aco_opcode::global_load_ushort : aco_opcode… in global_load_callback()
3486 …op = mubuf ? aco_opcode::buffer_load_dword : global ? aco_opcode::global_load_dword : aco_opcode::… in global_load_callback()
3489 …op = mubuf ? aco_opcode::buffer_load_dwordx2 : global ? aco_opcode::global_load_dwordx2 : aco_opco… in global_load_callback()
3490 } else if (bytes_needed <= 12 && !mubuf) { in global_load_callback()
3495 …op = mubuf ? aco_opcode::buffer_load_dwordx4 : global ? aco_opcode::global_load_dwordx4 : aco_opco… in global_load_callback()
3499 if (mubuf) { in global_load_callback()
3500 … aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 3, 1)}; in global_load_callback() local
3501 mubuf->operands[0] = Operand(get_gfx6_global_rsrc(bld, offset)); in global_load_callback()
3502 mubuf->operands[1] = offset.type() == RegType::vgpr ? Operand(offset) : Operand(v1); in global_load_callback()
3503 mubuf->operands[2] = Operand(0u); in global_load_callback()
3504 mubuf->glc = info.glc; in global_load_callback()
3505 mubuf->dlc = false; in global_load_callback()
3506 mubuf->offset = 0; in global_load_callback()
3507 mubuf->addr64 = offset.type() == RegType::vgpr; in global_load_callback()
3508 mubuf->disable_wqm = false; in global_load_callback()
3509 mubuf->sync = info.sync; in global_load_callback()
3510 mubuf->definitions[0] = Definition(val); in global_load_callback()
3511 bld.insert(std::move(mubuf)); in global_load_callback()
3927 …Builder::Result r = bld.mubuf(op, Operand(descriptor), voffset_op, soffset_op, Operand(vdata), con… in emit_single_mubuf_store()
4803 bld.mubuf(opcode, in visit_load_input()
6014 aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>( in visit_image_atomic() local
6016 mubuf->operands[0] = Operand(resource); in visit_image_atomic()
6017 mubuf->operands[1] = Operand(vindex); in visit_image_atomic()
6018 mubuf->operands[2] = Operand((uint32_t)0); in visit_image_atomic()
6019 mubuf->operands[3] = Operand(data); in visit_image_atomic()
6021 mubuf->definitions[0] = Definition(dst); in visit_image_atomic()
6022 mubuf->offset = 0; in visit_image_atomic()
6023 mubuf->idxen = true; in visit_image_atomic()
6024 mubuf->glc = return_previous; in visit_image_atomic()
6025 mubuf->dlc = false; /* Not needed for atomics */ in visit_image_atomic()
6026 mubuf->disable_wqm = true; in visit_image_atomic()
6027 mubuf->sync = sync; in visit_image_atomic()
6029 ctx->block->instructions.emplace_back(std::move(mubuf)); in visit_image_atomic()
6323 …aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 4, retur… in visit_atomic_ssbo() local
6324 mubuf->operands[0] = Operand(rsrc); in visit_atomic_ssbo()
6325 mubuf->operands[1] = offset.type() == RegType::vgpr ? Operand(offset) : Operand(v1); in visit_atomic_ssbo()
6326 mubuf->operands[2] = offset.type() == RegType::sgpr ? Operand(offset) : Operand((uint32_t) 0); in visit_atomic_ssbo()
6327 mubuf->operands[3] = Operand(data); in visit_atomic_ssbo()
6329 mubuf->definitions[0] = Definition(dst); in visit_atomic_ssbo()
6330 mubuf->offset = 0; in visit_atomic_ssbo()
6331 mubuf->offen = (offset.type() == RegType::vgpr); in visit_atomic_ssbo()
6332 mubuf->glc = return_previous; in visit_atomic_ssbo()
6333 mubuf->dlc = false; /* Not needed for atomics */ in visit_atomic_ssbo()
6334 mubuf->disable_wqm = true; in visit_atomic_ssbo()
6335 mubuf->sync = get_memory_sync_info(instr, storage_buffer, semantic_atomicrmw); in visit_atomic_ssbo()
6337 ctx->block->instructions.emplace_back(std::move(mubuf)); in visit_atomic_ssbo()
6459 … aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 4, 0)}; in visit_store_global() local
6460 mubuf->operands[0] = Operand(rsrc); in visit_store_global()
6461 mubuf->operands[1] = addr.type() == RegType::vgpr ? Operand(addr) : Operand(v1); in visit_store_global()
6462 mubuf->operands[2] = Operand(0u); in visit_store_global()
6463 mubuf->operands[3] = Operand(write_datas[i]); in visit_store_global()
6464 mubuf->glc = glc; in visit_store_global()
6465 mubuf->dlc = false; in visit_store_global()
6466 mubuf->offset = offsets[i]; in visit_store_global()
6467 mubuf->addr64 = addr.type() == RegType::vgpr; in visit_store_global()
6468 mubuf->disable_wqm = true; in visit_store_global()
6469 mubuf->sync = sync; in visit_store_global()
6471 ctx->block->instructions.emplace_back(std::move(mubuf)); in visit_store_global()
6617 …aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 4, retur… in visit_global_atomic() local
6618 mubuf->operands[0] = Operand(rsrc); in visit_global_atomic()
6619 mubuf->operands[1] = addr.type() == RegType::vgpr ? Operand(addr) : Operand(v1); in visit_global_atomic()
6620 mubuf->operands[2] = Operand(0u); in visit_global_atomic()
6621 mubuf->operands[3] = Operand(data); in visit_global_atomic()
6623 mubuf->definitions[0] = Definition(dst); in visit_global_atomic()
6624 mubuf->glc = return_previous; in visit_global_atomic()
6625 mubuf->dlc = false; in visit_global_atomic()
6626 mubuf->offset = 0; in visit_global_atomic()
6627 mubuf->addr64 = addr.type() == RegType::vgpr; in visit_global_atomic()
6628 mubuf->disable_wqm = true; in visit_global_atomic()
6629 mubuf->sync = get_memory_sync_info(instr, storage_buffer, semantic_atomicrmw); in visit_global_atomic()
6631 ctx->block->instructions.emplace_back(std::move(mubuf)); in visit_global_atomic()
6893 …Instruction *instr = bld.mubuf(op, rsrc, offset, ctx->program->scratch_offset, write_datas[i], off… in visit_store_scratch()
9067 … aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 3, 1)}; in visit_tex() local
9068 mubuf->operands[0] = Operand(resource); in visit_tex()
9069 mubuf->operands[1] = Operand(coords[0]); in visit_tex()
9070 mubuf->operands[2] = Operand((uint32_t) 0); in visit_tex()
9071 mubuf->definitions[0] = Definition(tmp_dst); in visit_tex()
9072 mubuf->idxen = true; in visit_tex()
9073 ctx->block->instructions.emplace_back(std::move(mubuf)); in visit_tex()
10654 bld.mubuf(aco_opcode::buffer_store_dword, in write_tcs_tess_factors()