i965/fs: Allow CSE on pre-gen7 varying-index uniform loads
authorEric Anholt <eric@anholt.net>
Wed, 20 Mar 2013 00:45:02 +0000 (17:45 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 1 Apr 2013 23:17:26 +0000 (16:17 -0700)
commit62501c3af85089b423218a41a2e2433ac849c2d3
tree09b6ed2ac149fb41d91a204b7742b122ab466e86
parent70b27e0e4b5d15e575ea477d63c0f6cb19d645c2
i965/fs: Allow CSE on pre-gen7 varying-index uniform loads

All the other expression types allowed here have inst->mlen == 0, and this
one has implied MRF writes for all of its payload, so nothing else in the
implementation should need to change.

Reduces SEND messages for loading from pull constants in kwin's Lanczos
shader from 16 to 6.  (Due to a deficiency in constant propagation, I
can't use the hack I did in the previous commit to test the performance
change)

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61554
NOTE: This is a candidate for the 9.1 branch.
src/mesa/drivers/dri/i965/brw_fs_cse.cpp