diff options
author | Rob Clark <[email protected]> | 2015-08-11 16:11:04 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2015-08-12 18:37:43 -0400 |
commit | aab3912f21508b0681962c68fdaca1435c06b2ea (patch) | |
tree | f5aa997400902d47ab895c059ce9ecd87a72a5c4 /src/gallium/drivers | |
parent | 6e04020dd7784bb44d5e04b41efce342f80840cf (diff) |
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 <[email protected]>
Diffstat (limited to 'src/gallium/drivers')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_group.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_group.c b/src/gallium/drivers/freedreno/ir3/ir3_group.c index 70d9b08e019..ca28aefd502 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 |