Add trivial PolySegment acceleration for 0-width horizontal/vertical lines,

which still happen somewhat frequently and were cluttering up my
    fallback debugging output. x11perf says it's a major performance win in
    those cases (though probably irrelevant), and it passes Xlib9.
This commit is contained in:
Eric Anholt 2006-04-27 19:17:34 +00:00
commit 83b061776a
3 changed files with 62 additions and 3 deletions

View file

@ -134,7 +134,8 @@ void
ExaCheckPolylines (DrawablePtr pDrawable, GCPtr pGC,
int mode, int npt, DDXPointPtr ppt)
{
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
EXA_FALLBACK(("to 0x%lx, width %d, mode %d, count %d\n", (long)pDrawable,
pGC->lineWidth, mode, npt));
if (pGC->lineWidth == 0) {
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
@ -152,7 +153,8 @@ void
ExaCheckPolySegment (DrawablePtr pDrawable, GCPtr pGC,
int nsegInit, xSegment *pSegInit)
{
EXA_FALLBACK(("to 0x%lx\n", (long)pDrawable));
EXA_FALLBACK(("to 0x%lx width %d, count %d\n", (long)pDrawable,
pGC->lineWidth, nsegInit));
if (pGC->lineWidth == 0) {
exaPrepareAccess (pDrawable, EXA_PREPARE_DEST);
exaPrepareAccessGC (pGC);