r600g/sb: Handle undef in read port tracker
authorGlenn Kennard <glenn.kennard@gmail.com>
Thu, 27 Aug 2015 17:04:15 +0000 (19:04 +0200)
committerDave Airlie <airlied@redhat.com>
Fri, 28 Aug 2015 02:32:14 +0000 (12:32 +1000)
e8e443 missed adding check for undef values also in
unreserve function, leading to an assert triggering.

Signed-off-by: Glenn Kennard <glenn.kennard@gmail.com>
Cc: <mesa-stable@lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/gallium/drivers/r600/sb/sb_sched.cpp

index 6268078..c98b8ff 100644 (file)
@@ -236,7 +236,7 @@ void rp_gpr_tracker::unreserve(alu_node* n) {
 
        for (i = 0; i < nsrc; ++i) {
                value *v = n->src[i];
-               if (v->is_readonly())
+               if (v->is_readonly() || v->is_undef())
                        continue;
                if (i == 1 && opt)
                        continue;