/third_party/mesa3d/src/amd/compiler/ |
D | aco_print_ir.cpp | 365 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 …]
|
D | aco_assembler.cpp | 381 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 …]
|
D | aco_instruction_selection.cpp | 4067 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 …]
|
D | aco_optimizer.cpp | 1094 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 …]
|
D | aco_ir.cpp | 173 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()
|
D | aco_spill.cpp | 1682 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()
|
D | aco_opt_value_numbering.cpp | 252 MUBUF_instruction& aM = a->mubuf(); in operator ()() 253 MUBUF_instruction& bM = b->mubuf(); in operator ()()
|
D | aco_ir.h | 1120 MUBUF_instruction& mubuf() noexcept in mubuf() function 1125 const MUBUF_instruction& mubuf() const noexcept in mubuf() function
|
D | aco_insert_NOPs.cpp | 802 uint32_t offset = instr->isMUBUF() ? instr->mubuf().offset : instr->mtbuf().offset; in handle_instruction_gfx10()
|
D | aco_insert_exec_mask.cpp | 103 return instr->mubuf().disable_wqm; in needs_exact()
|
/third_party/mesa3d/src/amd/compiler/tests/ |
D | test_hard_clause.cpp | 33 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()
|
D | test_insert_nops.cpp | 30 bld.mubuf(aco_opcode::buffer_load_dword, Definition(PhysReg(256), v1), Operand(PhysReg(0), s4), in create_mubuf()
|
/third_party/mesa3d/docs/relnotes/ |
D | 20.3.0.rst | 4104 - aco: use mubuf helper in select_gs_copy_shader
|