Mesa (master): aco: fix shared subdword loads

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 12 14:09:23 UTC 2020


Module: Mesa
Branch: master
Commit: 1f98d8c804094fcda1c607234433f2ba2be2cf07
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f98d8c804094fcda1c607234433f2ba2be2cf07

Author: Daniel Schürmann <daniel at schuermann.dev>
Date:   Fri Jun 12 11:59:27 2020 +0100

aco: fix shared subdword loads

Shared subdword loads don't need byte alignment as they are split
into multiple loads if necessary.

Fixes: 5cde4989d3c8c25b0ba2a11ec450625e30092b16 ('aco: remove unnecessary split- and create_vector instructions for subdword loads')
Reviewed-by: Rhys Perry <pendingchaos02 at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5441>

---

 src/amd/compiler/aco_instruction_selection.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/amd/compiler/aco_instruction_selection.cpp b/src/amd/compiler/aco_instruction_selection.cpp
index ffe5f2e4619..38bf449c83b 100644
--- a/src/amd/compiler/aco_instruction_selection.cpp
+++ b/src/amd/compiler/aco_instruction_selection.cpp
@@ -3192,7 +3192,7 @@ void emit_load(isel_context *ctx, Builder& bld, const LoadEmitInfo *info)
       }
 
       /* shift result right if needed */
-      if (info->component_size < 4) {
+      if (info->component_size < 4 && byte_align_loads) {
          Operand align((uint32_t)byte_align);
          if (byte_align == -1) {
             if (offset.isConstant())



More information about the mesa-commit mailing list