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.
This commit is contained in:
parent
70b27e0e4b
commit
62501c3af8
|
@ -97,7 +97,7 @@ fs_visitor::opt_cse_local(bblock_t *block, exec_list *aeb)
|
|||
inst = (fs_inst *) inst->next) {
|
||||
|
||||
/* Skip some cases. */
|
||||
if (is_expression(inst) && !inst->predicate && inst->mlen == 0 &&
|
||||
if (is_expression(inst) && !inst->predicate &&
|
||||
!inst->force_uncompressed && !inst->force_sechalf &&
|
||||
!inst->conditional_mod)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue