Chia-I Wu <olva...@gmail.com> writes:

> From: Chia-I Wu <o...@lunarg.com>
>
> Given
>
>   mov vgrf7, vgrf9.xyxz
>   add vgrf9.xyz, vgrf4.xyzw, vgrf5.xyzw
>   add vgrf10.x, vgrf6.xyzw, vgrf7.wwww
>
> the last instruction would be wrongly changed to
>
>   add vgrf10.x, vgrf6.xyzw, vgrf9.zzzz
>
> during copy propagation.
>
> The issue is that when deciding if a record should be cleared, the old code
> checked for
>
>   inst->dst.writemask & (1 << ch)
>
> instead of
>
>   inst->dst.writemask & (1 << BRW_GET_SWZ(src->swizzle, ch))
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=76749
> Signed-off-by: Chia-I Wu <o...@lunarg.com>
> Cc: Jordan Justen <jljus...@gmail.com>
> Cc: Matt Turner <matts...@gmail.com>

Reviewed-by: Eric Anholt <e...@anholt.net>

I've just sent a patch for adding a unit test of copy propagation -- it
would be nice to see an additional test on top of that for this bug.

Attachment: pgpwgE9B1r8lz.pgp
Description: PGP signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to