aboutsummaryrefslogtreecommitdiffstats
path: root/src/panfrost/bifrost
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2020-05-11 15:03:58 -0400
committerMarge Bot <[email protected]>2020-05-21 17:49:14 +0000
commit51582e54541a35b4eddd7dab98d8f676bcc46c53 (patch)
treeb820e70c351cb0b283e73c21f2960421922deed8 /src/panfrost/bifrost
parent0737080ba611f6703a2cec5f4aa3389fc42338a4 (diff)
pan/lcra: Allow per-variable bounds to be set
Different variables need to respect different bounds. In general, 16-bytes is okay, but for 4-channel 16-bit vectors, we can't cross 8 byte boundaries (else the swizzles will not be packable after), so we update LCRA to allow this more general form. Signed-off-by: Alyssa Rosenzweig <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5151>
Diffstat (limited to 'src/panfrost/bifrost')
-rw-r--r--src/panfrost/bifrost/bi_ra.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/panfrost/bifrost/bi_ra.c b/src/panfrost/bifrost/bi_ra.c
index b305afdf574..1936958c28f 100644
--- a/src/panfrost/bifrost/bi_ra.c
+++ b/src/panfrost/bifrost/bi_ra.c
@@ -67,7 +67,7 @@ bi_allocate_registers(bi_context *ctx, bool *success)
unsigned node_count = bi_max_temp(ctx);
struct lcra_state *l =
- lcra_alloc_equations(node_count, 16, 1);
+ lcra_alloc_equations(node_count, 1);
l->class_start[BI_REG_CLASS_WORK] = 0;
l->class_size[BI_REG_CLASS_WORK] = 64 * 4; /* R0 - R63, all 32-bit */
@@ -79,7 +79,7 @@ bi_allocate_registers(bi_context *ctx, bool *success)
continue;
l->class[dest] = BI_REG_CLASS_WORK;
- lcra_set_alignment(l, dest, 2); /* 2^2 = 4 */
+ lcra_set_alignment(l, dest, 2, 16); /* 2^2 = 4 */
lcra_restrict_range(l, dest, 4);
}