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>
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