diff options
author | Eric Anholt <[email protected]> | 2013-03-15 14:31:46 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2013-04-01 16:17:25 -0700 |
commit | bc0e1591f64b8b3f2693fceaaa8bba9198e26171 (patch) | |
tree | 3b3adab93b50a5682c23b13f3e073ec8445c914f | |
parent | 740350c982bd2735b9eb9063c2b91856b6f1ad31 (diff) |
i965/fs: Avoid inappropriate optimization with regs_written > 1.
Right now we don't have anything with regs_written() > 1 and !inst->mlen,
but that's about to change.
NOTE: This is a candidate for the 9.1 branch.
Reviewed-by: Kenneth Graunke <[email protected]>
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_fs.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_fs.cpp b/src/mesa/drivers/dri/i965/brw_fs.cpp index da3ac1554cd..c60d0418678 100644 --- a/src/mesa/drivers/dri/i965/brw_fs.cpp +++ b/src/mesa/drivers/dri/i965/brw_fs.cpp @@ -2082,6 +2082,12 @@ fs_visitor::compute_to_mrf() break; } + /* Things returning more than one register would need us to + * understand coalescing out more than one MOV at a time. + */ + if (scan_inst->regs_written() > 1) + break; + /* SEND instructions can't have MRF as a destination. */ if (scan_inst->mlen) break; |