i965/vs: Don't copy propagate into SEND-from-GRF messages.

SEND can't deal with swizzles, source modifiers, and so on.  This should
avoid problems with VS pull constant loads on Broadwell.

Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Kenneth Graunke 2012-12-16 00:40:30 -08:00
parent ce34158680
commit dd159f25e4
1 changed files with 3 additions and 0 deletions

View File

@ -238,6 +238,9 @@ vec4_visitor::try_copy_propagation(vec4_instruction *inst, int arg,
if (is_3src_inst && value.file == UNIFORM)
return false;
if (inst->is_send_from_grf())
return false;
/* We can't copy-propagate a UD negation into a condmod
* instruction, because the condmod ends up looking at the 33-bit
* signed accumulator value instead of the 32-bit value we wanted