Home
last modified time | relevance | path

Searched refs:mubuf (Results 1 – 13 of 13) sorted by relevance

/third_party/mesa3d/src/amd/compiler/
Daco_print_ir.cpp365 const MUBUF_instruction& mubuf = instr->mubuf(); in print_instr_format_specific() local
366 if (mubuf.offset) in print_instr_format_specific()
367 fprintf(output, " offset:%u", mubuf.offset); in print_instr_format_specific()
368 if (mubuf.offen) in print_instr_format_specific()
370 if (mubuf.idxen) in print_instr_format_specific()
372 if (mubuf.addr64) in print_instr_format_specific()
374 if (mubuf.glc) in print_instr_format_specific()
376 if (mubuf.dlc) in print_instr_format_specific()
378 if (mubuf.slc) in print_instr_format_specific()
380 if (mubuf.tfe) in print_instr_format_specific()
[all …]
Daco_assembler.cpp381 MUBUF_instruction& mubuf = instr->mubuf(); in emit_instruction() local
384 encoding |= (mubuf.lds ? 1 : 0) << 16; in emit_instruction()
385 encoding |= (mubuf.glc ? 1 : 0) << 14; in emit_instruction()
386 encoding |= (mubuf.idxen ? 1 : 0) << 13; in emit_instruction()
387 assert(!mubuf.addr64 || ctx.chip_class <= GFX7); in emit_instruction()
389 encoding |= (mubuf.addr64 ? 1 : 0) << 15; in emit_instruction()
390 encoding |= (mubuf.offen ? 1 : 0) << 12; in emit_instruction()
392 assert(!mubuf.dlc); /* Device-level coherent is not supported on GFX9 and lower */ in emit_instruction()
393 encoding |= (mubuf.slc ? 1 : 0) << 17; in emit_instruction()
395 encoding |= (mubuf.dlc ? 1 : 0) << 15; in emit_instruction()
[all …]
Daco_instruction_selection.cpp4067 aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 3, 1)}; in mubuf_load_callback() local
4068 mubuf->operands[0] = Operand(info.resource); in mubuf_load_callback()
4069 mubuf->operands[1] = vaddr; in mubuf_load_callback()
4070 mubuf->operands[2] = soffset; in mubuf_load_callback()
4071 mubuf->offen = (offset.type() == RegType::vgpr); in mubuf_load_callback()
4072 mubuf->glc = info.glc; in mubuf_load_callback()
4073 mubuf->dlc = info.glc && bld.program->chip_class >= GFX10; in mubuf_load_callback()
4074 mubuf->slc = info.slc; in mubuf_load_callback()
4075 mubuf->sync = info.sync; in mubuf_load_callback()
4076 mubuf->offset = const_offset; in mubuf_load_callback()
[all …]
Daco_optimizer.cpp1094 MUBUF_instruction& mubuf = instr->mubuf(); in label_instruction() local
1106 bool vaddr_prevent_overflow = mubuf.swizzled && ctx.program->chip_class < GFX9; in label_instruction()
1107 bool saddr_prevent_overflow = mubuf.swizzled; in label_instruction()
1109 if (mubuf.offen && i == 1 && info.is_constant_or_literal(32) && in label_instruction()
1110 mubuf.offset + info.val < 4096) { in label_instruction()
1111 assert(!mubuf.idxen); in label_instruction()
1113 mubuf.offset += info.val; in label_instruction()
1114 mubuf.offen = false; in label_instruction()
1116 } else if (i == 2 && info.is_constant_or_literal(32) && mubuf.offset + info.val < 4096) { in label_instruction()
1118 mubuf.offset += info.val; in label_instruction()
[all …]
Daco_ir.cpp173 case Format::MUBUF: return instr->mubuf().sync; in get_sync_info()
806 a->isMUBUF() ? a->mubuf().vtx_binding : (a->isMTBUF() ? a->mtbuf().vtx_binding : 0); in should_form_clause()
808 b->isMUBUF() ? b->mubuf().vtx_binding : (b->isMTBUF() ? b->mtbuf().vtx_binding : 0); in should_form_clause()
Daco_spill.cpp1682 bld.mubuf(opcode, scratch_rsrc, Operand(v1), scratch_offset, in assign_spill_slots()
1684 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in assign_spill_slots()
1687 Instruction* instr = bld.mubuf(opcode, scratch_rsrc, Operand(v1), scratch_offset, in assign_spill_slots()
1689 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in assign_spill_slots()
1766 bld.mubuf(opcode, Definition(tmp), scratch_rsrc, Operand(v1), in assign_spill_slots()
1768 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in assign_spill_slots()
1772 Instruction* instr = bld.mubuf(opcode, def, scratch_rsrc, Operand(v1), in assign_spill_slots()
1774 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in assign_spill_slots()
Daco_opt_value_numbering.cpp252 MUBUF_instruction& aM = a->mubuf(); in operator ()()
253 MUBUF_instruction& bM = b->mubuf(); in operator ()()
Daco_ir.h1120 MUBUF_instruction& mubuf() noexcept in mubuf() function
1125 const MUBUF_instruction& mubuf() const noexcept in mubuf() function
Daco_insert_NOPs.cpp802 uint32_t offset = instr->isMUBUF() ? instr->mubuf().offset : instr->mtbuf().offset; in handle_instruction_gfx10()
Daco_insert_exec_mask.cpp103 return instr->mubuf().disable_wqm; in needs_exact()
/third_party/mesa3d/src/amd/compiler/tests/
Dtest_hard_clause.cpp33 bld.mubuf(aco_opcode::buffer_load_dword, Definition(PhysReg(256), v1), desc_op, in create_mubuf()
35 .instr->mubuf() in create_mubuf()
41 bld.mubuf(aco_opcode::buffer_store_dword, Operand(PhysReg(0), s4), Operand(PhysReg(256), v1), in create_mubuf_store()
Dtest_insert_nops.cpp30 bld.mubuf(aco_opcode::buffer_load_dword, Definition(PhysReg(256), v1), Operand(PhysReg(0), s4), in create_mubuf()
/third_party/mesa3d/docs/relnotes/
D20.3.0.rst4104 - aco: use mubuf helper in select_gs_copy_shader