Home
last modified time | relevance | path

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

/third_party/mesa3d/src/amd/compiler/
Daco_print_ir.cpp367 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 …]
Daco_assembler.cpp379 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 …]
Daco_instruction_selection.cpp4436 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 …]
Daco_spill.cpp1512 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()
Daco_opt_value_numbering.cpp261 MUBUF_instruction& aM = a->mubuf(); in operator ()()
262 MUBUF_instruction& bM = b->mubuf(); in operator ()()
Daco_ir.cpp191 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()
Daco_optimizer.cpp1409 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 …]
Daco_ir.h1138 MUBUF_instruction& mubuf() noexcept in mubuf() function
1143 const MUBUF_instruction& mubuf() const noexcept in mubuf() function
Daco_insert_NOPs.cpp828 uint32_t offset = instr->isMUBUF() ? instr->mubuf().offset : instr->mtbuf().offset; in handle_instruction_gfx10()
Daco_insert_exec_mask.cpp94 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/
D22.1.0.rst3088 - aco: don't expand smem/mubuf global loads
D20.3.0.rst4104 - aco: use mubuf helper in select_gs_copy_shader
D22.2.0.rst5238 - aco: make flat access latency match mtbuf/mubuf/mimg