/third_party/mesa3d/src/amd/compiler/ |
D | aco_print_ir.cpp | 367 const MUBUF_instruction& mubuf = instr->mubuf(); in print_instr_format_specific() local 368 if (mubuf.offset) in print_instr_format_specific() 369 fprintf(output, " offset:%u", mubuf.offset); in print_instr_format_specific() 370 if (mubuf.offen) in print_instr_format_specific() 372 if (mubuf.idxen) in print_instr_format_specific() 374 if (mubuf.addr64) in print_instr_format_specific() 376 if (mubuf.glc) in print_instr_format_specific() 378 if (mubuf.dlc) in print_instr_format_specific() 380 if (mubuf.slc) in print_instr_format_specific() 382 if (mubuf.tfe) in print_instr_format_specific() [all …]
|
D | aco_assembler.cpp | 379 MUBUF_instruction& mubuf = instr->mubuf(); in emit_instruction() local 382 encoding |= (mubuf.lds ? 1 : 0) << 16; in emit_instruction() 383 encoding |= (mubuf.glc ? 1 : 0) << 14; in emit_instruction() 384 encoding |= (mubuf.idxen ? 1 : 0) << 13; in emit_instruction() 385 assert(!mubuf.addr64 || ctx.gfx_level <= GFX7); in emit_instruction() 387 encoding |= (mubuf.addr64 ? 1 : 0) << 15; in emit_instruction() 388 encoding |= (mubuf.offen ? 1 : 0) << 12; in emit_instruction() 390 assert(!mubuf.dlc); /* Device-level coherent is not supported on GFX9 and lower */ in emit_instruction() 391 encoding |= (mubuf.slc ? 1 : 0) << 17; in emit_instruction() 393 encoding |= (mubuf.dlc ? 1 : 0) << 15; in emit_instruction() [all …]
|
D | aco_instruction_selection.cpp | 4436 aco_ptr<MUBUF_instruction> mubuf{create_instruction<MUBUF_instruction>(op, Format::MUBUF, 3, 1)}; in mubuf_load_callback() local 4437 mubuf->operands[0] = Operand(info.resource); in mubuf_load_callback() 4438 mubuf->operands[1] = vaddr; in mubuf_load_callback() 4439 mubuf->operands[2] = soffset; in mubuf_load_callback() 4440 mubuf->offen = (offset.type() == RegType::vgpr); in mubuf_load_callback() 4441 mubuf->glc = info.glc; in mubuf_load_callback() 4442 mubuf->dlc = in mubuf_load_callback() 4444 mubuf->slc = info.slc; in mubuf_load_callback() 4445 mubuf->sync = info.sync; in mubuf_load_callback() 4446 mubuf->offset = const_offset; in mubuf_load_callback() [all …]
|
D | aco_spill.cpp | 1512 bld.mubuf(aco_opcode::buffer_store_dword, ctx.scratch_rsrc, Operand(v1), in spill_vgpr() 1514 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in spill_vgpr() 1521 Instruction* instr = bld.mubuf(aco_opcode::buffer_store_dword, ctx.scratch_rsrc, Operand(v1), in spill_vgpr() 1523 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in spill_vgpr() 1553 bld.mubuf(aco_opcode::buffer_load_dword, Definition(tmp), ctx.scratch_rsrc, in reload_vgpr() 1555 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in reload_vgpr() 1563 Instruction* instr = bld.mubuf(aco_opcode::buffer_load_dword, def, ctx.scratch_rsrc, in reload_vgpr() 1565 instr->mubuf().sync = memory_sync_info(storage_vgpr_spill, semantic_private); in reload_vgpr()
|
D | aco_opt_value_numbering.cpp | 261 MUBUF_instruction& aM = a->mubuf(); in operator ()() 262 MUBUF_instruction& bM = b->mubuf(); in operator ()()
|
D | aco_ir.cpp | 191 case Format::MUBUF: return instr->mubuf().sync; in get_sync_info() 888 a->isMUBUF() ? a->mubuf().vtx_binding : (a->isMTBUF() ? a->mtbuf().vtx_binding : 0); in should_form_clause() 890 b->isMUBUF() ? b->mubuf().vtx_binding : (b->isMTBUF() ? b->mtbuf().vtx_binding : 0); in should_form_clause()
|
D | aco_optimizer.cpp | 1409 MUBUF_instruction& mubuf = instr->mubuf(); in label_instruction() local 1421 bool vaddr_prevent_overflow = mubuf.swizzled && ctx.program->gfx_level < GFX9; in label_instruction() 1423 if (mubuf.offen && i == 1 && info.is_constant_or_literal(32) && in label_instruction() 1424 mubuf.offset + info.val < 4096) { in label_instruction() 1425 assert(!mubuf.idxen); in label_instruction() 1427 mubuf.offset += info.val; in label_instruction() 1428 mubuf.offen = false; in label_instruction() 1430 } else if (i == 2 && info.is_constant_or_literal(32) && mubuf.offset + info.val < 4096) { in label_instruction() 1432 mubuf.offset += info.val; in label_instruction() 1434 } else if (mubuf.offen && i == 1 && in label_instruction() [all …]
|
D | aco_ir.h | 1138 MUBUF_instruction& mubuf() noexcept in mubuf() function 1143 const MUBUF_instruction& mubuf() const noexcept in mubuf() function
|
D | aco_insert_NOPs.cpp | 828 uint32_t offset = instr->isMUBUF() ? instr->mubuf().offset : instr->mtbuf().offset; in handle_instruction_gfx10()
|
D | aco_insert_exec_mask.cpp | 94 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 | 22.1.0.rst | 3088 - aco: don't expand smem/mubuf global loads
|
D | 20.3.0.rst | 4104 - aco: use mubuf helper in select_gs_copy_shader
|
D | 22.2.0.rst | 5238 - aco: make flat access latency match mtbuf/mubuf/mimg
|