freedreno/ir3: fix missing recursion into block condition
authorRob Clark <robdclark@gmail.com>
Wed, 13 Jun 2018 14:50:37 +0000 (10:50 -0400)
committerRob Clark <robdclark@gmail.com>
Tue, 19 Jun 2018 17:02:28 +0000 (13:02 -0400)
Fixes a problem seen with dEQP-GLES31.functional.ssbo.layout.single_basic_array.shared.row_major_mat4

Signed-off-by: Rob Clark <robdclark@gmail.com>
src/gallium/drivers/freedreno/ir3/ir3_group.c

index fecb89ff34b827f12d6471ec5bafd9fb818da85b..c85903409a3ce58daa277d7e1678bcb2058a6b6f 100644 (file)
@@ -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);
        }
 }