diff options
author | Kenneth Graunke <[email protected]> | 2012-12-16 00:40:30 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2013-12-02 13:10:12 -0800 |
commit | dd159f25e484d2285773347b66f82719b6bfa01a (patch) | |
tree | d532ca41c9a6951c3c1468dcd4367291f36ab017 /src | |
parent | ce34158680bca4de85499fb8addaf766bf3159cf (diff) |
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 <[email protected]>
Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp index 033c6421f1f..06f0e999ecf 100644 --- a/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp +++ b/src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp @@ -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 |