From fe09ea29b9f5f16d039a733604db73db368e5e8d Mon Sep 17 00:00:00 2001 From: Job Noorman Date: Thu, 15 Aug 2024 08:46:35 +0200 Subject: [PATCH] ir3: fix counting of repeated registers (r) registers also have their wrmask set so the instruction's rpt field should not be taken into account. Signed-off-by: Job Noorman Part-of: --- src/freedreno/ir3/ir3.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/freedreno/ir3/ir3.c b/src/freedreno/ir3/ir3.c index 9153d5ea7ca..0e59c341a35 100644 --- a/src/freedreno/ir3/ir3.c +++ b/src/freedreno/ir3/ir3.c @@ -89,7 +89,6 @@ collect_reg_info(struct ir3_instruction *instr, struct ir3_register *reg, struct ir3_info *info) { struct ir3_shader_variant *v = info->data; - unsigned repeat = instr->repeat; if (reg->flags & IR3_REG_IMMED) { /* nothing to do */ @@ -100,10 +99,6 @@ collect_reg_info(struct ir3_instruction *instr, struct ir3_register *reg, if (is_shared_consts(v->compiler, ir3_const_state(v), reg)) return; - if (!(reg->flags & IR3_REG_R)) { - repeat = 0; - } - unsigned components; int16_t max; @@ -112,7 +107,7 @@ collect_reg_info(struct ir3_instruction *instr, struct ir3_register *reg, max = (reg->array.base + components - 1); } else { components = util_last_bit(reg->wrmask); - max = (reg->num + repeat + components - 1); + max = (reg->num + components - 1); } if (reg->flags & IR3_REG_CONST) {