Kenneth Graunke <kenn...@whitecape.org> writes: > 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> > --- > src/mesa/drivers/dri/i965/brw_vec4_copy_propagation.cpp | 3 +++ > 1 file changed, 3 insertions(+) > > 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 d009a08..8948223 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
I was worried that we would miss out on cases where doing a copy propagated .xxxx swizzle is fine because the send doesn't actually care about the other channels. But there's no effect on shader-db, so: Reviewed-by: Eric Anholt <e...@anholt.net>
pgpoUNKVnC2j8.pgp
Description: PGP signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev