mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 02:38:04 +02:00
aco: use MUBUF to load subdword SSBO
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Reviewed-By: Timur Kristóf <timur.kristof@gmail.com> Tested-by: Marge Bot <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4002> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4002>
This commit is contained in:
parent
8cfddc9199
commit
1d293096d0
1 changed files with 2 additions and 2 deletions
|
|
@ -4481,7 +4481,7 @@ void load_buffer(isel_context *ctx, unsigned num_components, unsigned component_
|
|||
unsigned num_bytes = num_components * component_size;
|
||||
|
||||
aco_opcode op;
|
||||
if (dst.type() == RegType::vgpr || (ctx->options->chip_class < GFX8 && !readonly)) {
|
||||
if (dst.type() == RegType::vgpr || ((ctx->options->chip_class < GFX8 || component_size < 4) && !readonly)) {
|
||||
Operand vaddr = offset.type() == RegType::vgpr ? Operand(offset) : Operand(v1);
|
||||
Operand soffset = offset.type() == RegType::sgpr ? Operand(offset) : Operand((uint32_t) 0);
|
||||
unsigned const_offset = 0;
|
||||
|
|
@ -4558,7 +4558,7 @@ void load_buffer(isel_context *ctx, unsigned num_components, unsigned component_
|
|||
mubuf->offset = const_offset;
|
||||
aco_ptr<Instruction> instr = std::move(mubuf);
|
||||
|
||||
if (dst.regClass().is_subdword()) {
|
||||
if (component_size < 4) {
|
||||
Temp vec = num_bytes <= 4 ? bld.tmp(v1) : num_bytes <= 8 ? bld.tmp(v2) : bld.tmp(v3);
|
||||
instr->definitions[0] = Definition(vec);
|
||||
bld.insert(std::move(instr));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue