From: Kenneth Graunke Date: Fri, 10 Jun 2011 23:00:03 +0000 (-0700) Subject: i965/fs: Check for compilation failure and bail before optimizing. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ad9481e12813d5f1dec95ce123927e132fa935fb;p=mesa.git i965/fs: Check for compilation failure and bail before optimizing. Prior to this patch, it would attempt to optimize and allocate registers for the program even if it failed to compile. This seems wasteful. More importantly, the "message length > 11" failure seems to choke the instruction scheduler, making it somehow use an undefined value and segmentation fault. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index 8580c78fea1..1cd673919f8 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -1533,6 +1533,8 @@ fs_visitor::run() this->result = reg_undef; ir->accept(this); } + if (failed) + return false; emit_fb_writes();