Keith Packard
3ac481c9da
mi: Draw multiple lines in one FillSpans call in miZeroLine
...
miZeroLine allocates enough space to draw a line spanning the entire
width/height of the target drawable. When drawing multiple shorter
lines, this leaves most of the space in that buffer unfilled. Let
multiple lines be drawn into the buffer if there is plenty of space.
Speeds up glamor fallback zero-width lines:
Before
6000000 trep @ 0.0020 msec (508000.0/sec): 1-pixel line
6000000 trep @ 0.0020 msec (492000.0/sec): 10-pixel line
6000000 trep @ 0.0023 msec (427000.0/sec): 100-pixel line
4000000 trep @ 0.0035 msec (282000.0/sec): 500-pixel line
After:
600000000 trep @ 0.0000 msec (43400000.0/sec): 1-pixel line
140000000 trep @ 0.0001 msec (13000000.0/sec): 10-pixel line
16000000 trep @ 0.0008 msec (1300000.0/sec): 100-pixel line
4000000 trep @ 0.0038 msec (261000.0/sec): 500-pixel line
(500 pixel lines do not change in performance because the buffer can
only one one of them.)
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Eric Anholt <eric@anholt.net>
2014-06-15 22:02:40 +01:00
..
Makefile.am
dix: Delete mibstore.h
2012-09-23 10:31:55 -07:00
mi.h
mi: Make miPolyArc draw fast zero-width when possible
2014-06-12 22:52:49 -07:00
miarc.c
mi: Make miPolyArc draw fast zero-width when possible
2014-06-12 22:52:49 -07:00
mibitblt.c
mi: miPutImage with XYPixmap failed at depth 32 on 64-bit machines
2014-03-26 12:58:40 -07:00
micmap.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
micmap.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
micoord.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
micopy.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
micursor.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
midash.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
midispcur.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
mieq.c
mi: Build fix: mieqProcessDeviceEvent returns void
2014-06-06 01:04:03 -07:00
miexpose.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
mifillarc.c
mi: Fill spans for multiple arcs in miPolyFillArc
2014-06-12 22:52:51 -07:00
mifillarc.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mifillrct.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mifpoly.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mifpolycon.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
migc.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
migc.h
Clean up a few function prototypes to not place formals in /**/
2014-01-12 10:24:12 -08:00
miglblt.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
miinitext.c
mi: Hush extension initialization ( #75870 )
2014-03-29 00:01:11 -07:00
miline.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mioverlay.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
mioverlay.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipointer.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
mipointer.h
mipointer: Remove deprecated miPointerCurrentScreen
2013-09-10 13:29:21 -04:00
mipointrst.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipoly.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipoly.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipolycon.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipolygen.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipolypnt.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipolyrect.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
mipolyseg.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipolytext.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipolyutil.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mipushpxl.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
miscanfill.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
miscrinit.c
Make XYToWindow a screen function
2014-04-01 10:30:42 -07:00
mispans.c
mi: fix shadow warnings
2012-11-05 13:25:02 -06:00
mispans.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
misprite.c
Replace 'pointer' type with 'void *'
2014-01-12 10:24:11 -08:00
misprite.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mistruct.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mivalidate.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mivaltree.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
miwideline.c
mi: Create miPolylines as a general-purpose line drawing function
2014-06-12 22:52:47 -07:00
miwideline.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
miwindow.c
mi: start calculating the sprite trace from the first child of root
2014-05-08 12:59:19 -07:00
mizerarc.c
mi: Make miPolyArc draw fast zero-width when possible
2014-06-12 22:52:49 -07:00
mizerarc.h
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mizerclip.c
Introduce a consistent coding style
2012-03-21 13:54:42 -07:00
mizerline.c
mi: Draw multiple lines in one FillSpans call in miZeroLine
2014-06-15 22:02:40 +01:00