Module: Mesa Branch: main Commit: 14a1925727a36db1f895ff9fef43fadac6c47cf9 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=14a1925727a36db1f895ff9fef43fadac6c47cf9
Author: Rhys Perry <[email protected]> Date: Wed Oct 19 15:25:51 2022 +0100 aco: don't split swizzled store_buffer_amd on GFX9+ This isn't necessary. Signed-off-by: Rhys Perry <[email protected]> Reviewed-by: Daniel Schürmann <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19228> --- src/amd/compiler/aco_instruction_selection.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp index 91d8c5c69d0..393fbf6d6e4 100644 --- a/src/amd/compiler/aco_instruction_selection.cpp +++ b/src/amd/compiler/aco_instruction_selection.cpp @@ -5157,8 +5157,9 @@ store_vmem_mubuf(isel_context* ctx, Temp src, Temp descriptor, Temp voffset, Tem unsigned write_count = 0; Temp write_datas[32]; unsigned offsets[32]; - split_buffer_store(ctx, NULL, false, RegType::vgpr, src, write_mask, swizzled ? 4 : 16, - &write_count, write_datas, offsets); + split_buffer_store(ctx, NULL, false, RegType::vgpr, src, write_mask, + swizzled && ctx->program->gfx_level <= GFX8 ? 4 : 16, &write_count, + write_datas, offsets); for (unsigned i = 0; i < write_count; i++) { unsigned const_offset = offsets[i] + base_const_offset;
