summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/freedreno/ir3
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2018-06-13 10:50:37 -0400
committerRob Clark <[email protected]>2018-06-19 13:02:28 -0400
commit658f1f6003e8adc6129370e8ed7582fdbdd31291 (patch)
treea99c4547bd5add22f94226d14f528f88ed0ea358 /src/gallium/drivers/freedreno/ir3
parent1a6150207c3d28adf8ebf51cc12d44bd3e830beb (diff)
freedreno/ir3: fix missing recursion into block condition
Fixes a problem seen with dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared.row_major_mat4 Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/gallium/drivers/freedreno/ir3')
-rw-r--r--src/gallium/drivers/freedreno/ir3/ir3_group.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_group.c b/src/gallium/drivers/freedreno/ir3/ir3_group.c
index fecb89ff34b..c85903409a3 100644
--- a/src/gallium/drivers/freedreno/ir3/ir3_group.c
+++ b/src/gallium/drivers/freedreno/ir3/ir3_group.c
@@ -263,6 +263,10 @@ find_neighbors(struct ir3 *ir)
struct ir3_instruction *instr = block->keeps[i];
instr_find_neighbors(instr);
}
+
+ /* We also need to account for if-condition: */
+ if (block->condition)
+ instr_find_neighbors(block->condition);
}
}