diff options
author | Rob Clark <[email protected]> | 2015-03-18 09:51:57 -0400 |
---|---|---|
committer | Rob Clark <[email protected]> | 2015-03-18 10:42:33 -0400 |
commit | aee26d292f165438577426f5e62a62ec2a1514c9 (patch) | |
tree | 2c263cc03bb3bb22dc4d65a4c5e8c5e750a221da /src | |
parent | 62cc003b7d2031c2321f4698bd5b97cc97261c07 (diff) |
freedreno/ir3: fix infinite recursion in sched
One more case we need to handle. One of the src instructions for the
indirect could also end up being ourself.
Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/gallium/drivers/freedreno/ir3/ir3_sched.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_sched.c b/src/gallium/drivers/freedreno/ir3/ir3_sched.c index c1921d04e4e..94237c33ff8 100644 --- a/src/gallium/drivers/freedreno/ir3/ir3_sched.c +++ b/src/gallium/drivers/freedreno/ir3/ir3_sched.c @@ -283,7 +283,7 @@ static int trysched(struct ir3_sched_ctx *ctx, * on ourself (ie. avoid infinite recursion): */ foreach_ssa_src(src, indirect) { - if (src == instr) + if ((src == instr) || (src->address == instr)) continue; delay = trysched(ctx, src); if (delay) |