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 <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Kenneth Graunke 2011-06-10 16:00:03 -07:00
parent c173541d97
commit ad9481e128
1 changed files with 2 additions and 0 deletions

View File

@ -1533,6 +1533,8 @@ fs_visitor::run()
this->result = reg_undef;
ir->accept(this);
}
if (failed)
return false;
emit_fb_writes();