Mesa (master): pan/midgard: Force address alignment

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Feb 27 21:31:27 UTC 2020


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Thu Feb 27 10:07:32 2020 -0500

pan/midgard: Force address alignment

I thought we already had this but... maybe not..

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3978>

---

 src/panfrost/midgard/midgard_ra.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/src/panfrost/midgard/midgard_ra.c b/src/panfrost/midgard/midgard_ra.c
index f2fd8384cb4..92dbc1fe63c 100644
--- a/src/panfrost/midgard/midgard_ra.c
+++ b/src/panfrost/midgard/midgard_ra.c
@@ -492,6 +492,16 @@ allocate_registers(compiler_context *ctx, bool *spilled)
                         }
                 }
 
+                if (ins->type == TAG_LOAD_STORE_4 && OP_HAS_ADDRESS(ins->load_store.op)) {
+                        mir_foreach_src(ins, v) {
+                                unsigned s = ins->src[v];
+                                unsigned size = mir_srcsize(ins, v);
+
+                                if (s < ctx->temp_count)
+                                        min_alignment[s] = (size == midgard_reg_mode_64) ? 3 : 2;
+                        }
+                }
+
                 if (ins->dest >= SSA_FIXED_MINIMUM) continue;
 
                 /* 0 for x, 1 for xy, 2 for xyz, 3 for xyzw */



More information about the mesa-commit mailing list