From 90dabe5a1831af92a7fce2b9f5a0253b68b3ab3f Mon Sep 17 00:00:00 2001 From: Connor Abbott Date: Tue, 21 Feb 2023 16:56:39 +0100 Subject: [PATCH] ir3: Fix lowering shared parallel copies with immed src We need to look at the destination to determine whether the copy should be classed as shared, because the source may be an immediate. Part-of: --- src/freedreno/ir3/ir3_lower_parallelcopy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/freedreno/ir3/ir3_lower_parallelcopy.c b/src/freedreno/ir3/ir3_lower_parallelcopy.c index 433f6442832..08d257cd7e0 100644 --- a/src/freedreno/ir3/ir3_lower_parallelcopy.c +++ b/src/freedreno/ir3/ir3_lower_parallelcopy.c @@ -528,7 +528,7 @@ ir3_lower_copies(struct ir3_shader_variant *v) for (unsigned i = 0; i < instr->dsts_count; i++) { struct ir3_register *dst = instr->dsts[i]; struct ir3_register *src = instr->srcs[i]; - unsigned flags = src->flags & (IR3_REG_HALF | IR3_REG_SHARED); + unsigned flags = dst->flags & (IR3_REG_HALF | IR3_REG_SHARED); unsigned dst_physreg = ra_reg_get_physreg(dst); for (unsigned j = 0; j < reg_elems(dst); j++) { array_insert(