Adam Jackson <a...@redhat.com> writes:

> Formerly we'd zero the image data and then pull out a plane at a time.
> It's faster to apply the planemask after the fact, since that turns the
> GetImage into a memcpy:
>
>   100000.0  101000.0 (1.010) (copy 0xaaaaaaaa) ShmGetImage 10x10 square
>    42400.0   59400.0 (1.401) (copy 0xaaaaaaaa) ShmGetImage 100x100 square
>     3040.0    5280.0 (1.737) (copy 0xaaaaaaaa) ShmGetImage 500x500 square
>    96100.0   95200.0 (0.991) (0xaaaaaaaa) GetImage 10x10 square
>    29600.0   36800.0 (1.243) (0xaaaaaaaa) GetImage 100x100 square
>     1850.0    2620.0 (1.416) (0xaaaaaaaa) GetImage 500x500 square
>
> Measured with Xvfb at depth 24 on Skylake i7-6560U.
>
> Signed-off-by: Adam Jackson <a...@redhat.com>

It's a bit surprising that trading a memset and a pass of dword access
for a memcpy and a pass of dword access is a win, but then the MergeRop
isn't just a single & operation.

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

Attachment: signature.asc
Description: PGP signature

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to