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;

Reply via email to