xserver-multidpi/fb
Adam Jackson 4aa35c46da fb: Handle ZPixmap planemask in GetImage the other way around
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.

Reviewed-by: Eric Anholt <eric@anholt.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
2017-03-20 13:47:49 -04:00
..
fb.h fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fballpriv.c Use new screen-specific privates for fb window and gc privates 2012-07-05 13:40:18 -07:00
fbarc.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbbits.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbbits.h fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbblt.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbbltone.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbcmap_mi.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
fbcopy.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbfill.c fb: Remove even/odd tile slow-pathing 2014-10-27 15:45:46 -04:00
fbfillrect.c Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
fbfillsp.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
fbgc.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbgetsp.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbglyph.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbimage.c fb: Handle ZPixmap planemask in GetImage the other way around 2017-03-20 13:47:49 -04:00
fbline.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fboverlay.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fboverlay.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
fbpict.c Fix alphamap interactions with wfb 2015-09-29 12:21:34 -04:00
fbpict.h fb: Hide glyph implementation details 2014-10-27 15:45:48 -04:00
fbpixmap.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbpoint.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbpush.c fb: Hide fbPush{Pattern,Fill} 2014-10-27 15:45:57 -04:00
fbrop.h Drop trailing whitespaces 2014-11-12 10:25:00 +10:00
fbscreen.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbseg.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbsetsp.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbsolid.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
fbtrap.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
fbutil.c fb: Remove unused fbReduceRasterOp 2014-10-27 15:45:44 -04:00
fbwindow.c fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
Makefile.am fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00
wfbrename.h fb: Remove 24bpp support (v3) 2017-03-17 15:14:42 -04:00