From: Rob Clark Date: Fri, 15 May 2020 23:44:29 +0000 (-0700) Subject: freedreno/ir3: fix mismatched flags on split X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3db5d146e97e132e17fe7e3aca306c3523d14279;p=mesa.git 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: --- 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; + } } }