aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno/ir3/ir3_print.c
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-02-11 11:39:43 -0500
committerRob Clark <[email protected]>2019-02-16 16:28:00 -0500
commitc1a27ba9baf7c1d6ce15a3c9b2d9cb1eafa72918 (patch)
treef13746e33871f7ea0d9d66e5a936e30457bac3e9 /src/freedreno/ir3/ir3_print.c
parent947848524dbc145400a960347079286ffa84c58a (diff)
freedreno/ir3: HIGH reg w/a for a6xx
It seems like some instructions (noticed this w/ cat3), cannot read HIGH regs.. cat1 (mov/cov) can, and possibly some/all of cat2. The blob seems to stick w/ an extra mov into low regs. So lets do the same. This fixes WGID on a6xx, which unsurprisingly is related to a lot of deqp compute fails. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/freedreno/ir3/ir3_print.c')
-rw-r--r--src/freedreno/ir3/ir3_print.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/freedreno/ir3/ir3_print.c b/src/freedreno/ir3/ir3_print.c
index b6ef6e4b5a7..415024b985f 100644
--- a/src/freedreno/ir3/ir3_print.c
+++ b/src/freedreno/ir3/ir3_print.c
@@ -125,6 +125,8 @@ static void print_reg_name(struct ir3_register *reg)
else
printf("\x1b[0;31mr<a0.x + %d>\x1b[0m (%u)", reg->array.offset, reg->size);
} else {
+ if (reg->flags & IR3_REG_HIGH)
+ printf("H");
if (reg->flags & IR3_REG_HALF)
printf("h");
if (reg->flags & IR3_REG_CONST)