From: Kenneth Graunke Date: Mon, 9 Jun 2014 09:59:21 +0000 (-0700) Subject: i965: Don't use the head sentinel as an fs_inst in Gen4 workaround code. X-Git-Tag: upstream/10.3~1587 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ecc78eab119ac8fa3df380a80bc94975e986523c;p=platform%2Fupstream%2Fmesa.git i965: Don't use the head sentinel as an fs_inst in Gen4 workaround code. When walking backwards, we want to stop at the head sentinel, which is where scan_inst->prev->prev == NULL, not scan_inst->prev == NULL. Fixes random crashes, as well as valgrind errors. Signed-off-by: Kenneth Graunke Reviewed-by: Matt Turner Cc: mesa-stable@lists.freedesktop.org --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index a8ca9bc..b485e65 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2355,7 +2355,7 @@ fs_visitor::insert_gen4_pre_send_dependency_workarounds(fs_inst *inst) * program. */ for (fs_inst *scan_inst = (fs_inst *)inst->prev; - scan_inst != NULL; + !scan_inst->is_head_sentinel(); scan_inst = (fs_inst *)scan_inst->prev) { /* If we hit control flow, assume that there *are* outstanding