[Mesa-dev] [PATCH 15/15] i965/vs: Don't copy propagate into SEND-from-GRF messages.
Eric Anholt
eric at anholt.net
Tue Nov 19 12:15:19 PST 2013
Kenneth Graunke <kenneth at 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 <kenneth at 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 <eric at anholt.net>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131119/635d05bd/attachment.pgp>
More information about the mesa-dev
mailing list