Module: Mesa Branch: master Commit: dd159f25e484d2285773347b66f82719b6bfa01a URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd159f25e484d2285773347b66f82719b6bfa01a
Author: Kenneth Graunke <kenn...@whitecape.org> Date: Sun Dec 16 00:40:30 2012 -0800 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 <kenn...@whitecape.org> Reviewed-by: Eric Anholt <e...@anholt.net> --- .../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 033c642..06f0e99 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 _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit