Mesa (master): r600g/sb: Handle undef in read port tracker

Dave Airlie airlied at kemper.freedesktop.org
Fri Aug 28 02:33:04 UTC 2015


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

Author: Glenn Kennard <glenn.kennard at gmail.com>
Date:   Thu Aug 27 19:04:15 2015 +0200

r600g/sb: Handle undef in read port tracker

e8e443 missed adding check for undef values also in
unreserve function, leading to an assert triggering.

Signed-off-by: Glenn Kennard <glenn.kennard at gmail.com>
Cc: <mesa-stable at lists.freedesktop.org>
Signed-off-by: Dave Airlie <airlied at redhat.com>

---

 src/gallium/drivers/r600/sb/sb_sched.cpp |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/gallium/drivers/r600/sb/sb_sched.cpp b/src/gallium/drivers/r600/sb/sb_sched.cpp
index 6268078..c98b8ff 100644
--- a/src/gallium/drivers/r600/sb/sb_sched.cpp
+++ b/src/gallium/drivers/r600/sb/sb_sched.cpp
@@ -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;




More information about the mesa-commit mailing list