[Mesa-dev] [PATCH] i965/fs: Check for compilation failure and bail as soon as possible.

Kenneth Graunke kenneth at whitecape.org
Fri Jun 10 16:07:31 PDT 2011


Prior to this patch, it would happily continue compiling and even
optimizing after a failure was detected.  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 <kenneth at whitecape.org>
---
 src/mesa/drivers/dri/i965/brw_fs.cpp |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp
index 7c73a8f..19c4de3 100644
--- a/src/mesa/drivers/dri/i965/brw_fs.cpp
+++ b/src/mesa/drivers/dri/i965/brw_fs.cpp
@@ -1532,6 +1532,8 @@ fs_visitor::run()
 	 base_ir = ir;
 	 this->result = reg_undef;
 	 ir->accept(this);
+	 if (failed)
+	    return false;
       }
 
       emit_fb_writes();
-- 
1.7.5.4



More information about the mesa-dev mailing list