i965/fs: Add support for generating MADs.
authorEric Anholt <eric@anholt.net>
Mon, 6 Feb 2012 23:59:11 +0000 (00:59 +0100)
committerEric Anholt <eric@anholt.net>
Sat, 11 Feb 2012 02:18:52 +0000 (18:18 -0800)
commit7d55f37b0e87db9b3806088797075161a1c9a8bb
treecc93d22538105f60cd4b920188219429472235bb
parenta1bfafc5a96012c14db9b0d28223ab54feae131c
i965/fs: Add support for generating MADs.

Improves nexuiz performance 0.65% +/- .10% (n=5) on my gen6, and .39%
+/- .11% (n=10) on gen7.  No statistically significant performance
difference on warsow (n=5, but only one shader has MADs).

v2: Add support for MADs in 16-wide by using compression control.
v3: Don't generate MADs when it will force an immediate to be moved to a temp.
    (it's not clear whether this is a win or not, but it should result in less
     questionable change to codegen compared to v2).

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> (v2)
src/mesa/drivers/dri/i965/brw_fs.h
src/mesa/drivers/dri/i965/brw_fs_emit.cpp
src/mesa/drivers/dri/i965/brw_fs_visitor.cpp