lima/gpir: Only try to place actual children
authorConnor Abbott <cwabbott0@gmail.com>
Tue, 10 Sep 2019 14:11:42 +0000 (21:11 +0700)
committerConnor Abbott <cwabbott0@gmail.com>
Tue, 24 Sep 2019 06:35:26 +0000 (08:35 +0200)
When picking a node to be scheduled, we try to schedule its children as
well. But we shouldn't try to schedule nodes which only have a fake
dependency on the original node, since this isn't the point of
scheduling children at the same time and can break some expectations of
the rest of the code.

Reviewed-by: Vasily Khoruzhick <anarsoul@gmail.com>
src/gallium/drivers/lima/ir/gp/scheduler.c

index 076794a48608f176f32d3a17ed149a04dc58a32d..3b490974fc03085f8e518359b09453d13f6bfc57 100644 (file)
@@ -706,7 +706,7 @@ static int _schedule_try_node(sched_ctx *ctx, gpir_node *node, bool speculative)
    int score = 0;
 
    gpir_node_foreach_pred(node, dep) {
-      if (!gpir_is_input_node(dep->pred))
+      if (dep->type != GPIR_DEP_INPUT)
          continue;
 
       int pred_score = INT_MIN;