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