Mesa (master): freedreno/ir3: fix use_count refcnt'ing issue

Rob Clark robclark at kemper.freedesktop.org
Tue Feb 20 18:44:07 UTC 2018


Module: Mesa
Branch: master
Commit: 4c4e6232ee2e6dd4c19f526c06df05b829174240
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c4e6232ee2e6dd4c19f526c06df05b829174240

Author: Rob Clark <robdclark at gmail.com>
Date:   Tue Feb 20 13:40:46 2018 -0500

freedreno/ir3: fix use_count refcnt'ing issue

Was hitting an assert with vs-varying-array-mat4-index-col-row-wr.shader_test

When eliminating a copy, we were dropping the use_count of the mov that
is skipped, but not increasing the use_count of it's src instruction.

Fixes: 76440fcca91 freedreno/ir3: clean up dangling false-dep's
Signed-off-by: Rob Clark <robdclark at gmail.com>

---

 src/gallium/drivers/freedreno/ir3/ir3_cp.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_cp.c b/src/gallium/drivers/freedreno/ir3/ir3_cp.c
index 7713c645e0..391e94ca44 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_cp.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_cp.c
@@ -361,6 +361,7 @@ reg_cp(struct ir3_cp_ctx *ctx, struct ir3_instruction *instr,
 			instr->barrier_conflict |= src->barrier_conflict;
 
 			unuse(src);
+			reg->instr->use_count++;
 		}
 
 	} else if (is_same_type_mov(src) &&




More information about the mesa-commit mailing list