Module: Mesa
Branch: master
Commit: aee26d292f165438577426f5e62a62ec2a1514c9
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=aee26d292f165438577426f5e62a62ec2a1514c9

Author: Rob Clark <robcl...@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 <robcl...@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)

_______________________________________________
mesa-commit mailing list
mesa-commit@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to