Mesa (master): freedreno/ir3: 'keeps' need neighbors found too

Rob Clark robclark at kemper.freedesktop.org
Wed Aug 12 22:40:09 UTC 2015


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

Author: Rob Clark <robclark at freedesktop.org>
Date:   Tue Aug 11 16:11:04 2015 -0400

freedreno/ir3: 'keeps' need neighbors found too

This shows up with a glamor shader, which does a TXF and uses the result
for conditional kill.  Before we wouldn't group the fanin (collect)
neighbors which need to be allocated adjacently at RA, resulting in
badness.

Signed-off-by: Rob Clark <robclark at freedesktop.org>

---

 src/gallium/drivers/freedreno/ir3/ir3_group.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/gallium/drivers/freedreno/ir3/ir3_group.c b/src/gallium/drivers/freedreno/ir3/ir3_group.c
index 70d9b08..ca28aef 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_group.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_group.c
@@ -236,6 +236,11 @@ find_neighbors(struct ir3 *ir)
 			instr_find_neighbors(instr);
 		}
 	}
+
+	for (i = 0; i < ir->keeps_count; i++) {
+		struct ir3_instruction *instr = ir->keeps[i];
+		instr_find_neighbors(instr);
+	}
 }
 
 void




More information about the mesa-commit mailing list