Mesa (master): i965/vs: Don't copy propagate into SEND-from-GRF messages.
Kenneth Graunke
kwg at kemper.freedesktop.org
Mon Dec 2 21:25:10 UTC 2013
Module: Mesa
Branch: master
Commit: dd159f25e484d2285773347b66f82719b6bfa01a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd159f25e484d2285773347b66f82719b6bfa01a
Author: Kenneth Graunke <kenneth at 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 <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at 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
More information about the mesa-commit
mailing list