Mesa (master): freedreno/ir3: fix infinite recursion in sched
Rob Clark
robclark at kemper.freedesktop.org
Wed Mar 18 14:48:59 UTC 2015
Module: Mesa
Branch: master
Commit: aee26d292f165438577426f5e62a62ec2a1514c9
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=aee26d292f165438577426f5e62a62ec2a1514c9
Author: Rob Clark <robclark at freedesktop.org>
Date: Wed Mar 18 09:51:57 2015 -0400
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 <robclark at freedesktop.org>
---
src/gallium/drivers/freedreno/ir3/ir3_sched.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gallium/drivers/freedreno/ir3/ir3_sched.c b/src/gallium/drivers/freedreno/ir3/ir3_sched.c
index c1921d0..94237c3 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)
More information about the mesa-commit
mailing list