From 3db5d146e97e132e17fe7e3aca306c3523d14279 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 15 May 2020 16:44:29 -0700 Subject: [PATCH] freedreno/ir3: fix mismatched flags on split We have to fixup the meta:split half flag, because `ir3_split_dest()` is called before we fixup the dest type. But we should fixup both the split src and dest, as well as the thing it is splitting. Signed-off-by: Rob Clark Part-of: --- src/freedreno/ir3/ir3_context.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/freedreno/ir3/ir3_context.c b/src/freedreno/ir3/ir3_context.c index 6b6f485af05..527cd73a664 100644 --- a/src/freedreno/ir3/ir3_context.c +++ b/src/freedreno/ir3/ir3_context.c @@ -257,8 +257,10 @@ ir3_put_dst(struct ir3_context *ctx, nir_dest *dst) for (unsigned i = 0; i < ctx->last_dst_n; i++) { struct ir3_instruction *dst = ctx->last_dst[i]; dst->regs[0]->flags |= IR3_REG_HALF; - if (ctx->last_dst[i]->opc == OPC_META_SPLIT) + if (dst->opc == OPC_META_SPLIT) { dst->regs[1]->instr->regs[0]->flags |= IR3_REG_HALF; + dst->regs[1]->flags |= IR3_REG_HALF; + } } } -- 2.30.2