diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/apm_accel.c | 8 | ||||
-rw-r--r-- | src/apm_driver.c | 2 | ||||
-rw-r--r-- | src/apm_funcs.c | 6 | ||||
-rw-r--r-- | src/apm_rush.c | 2 |
4 files changed, 13 insertions, 5 deletions
diff --git a/src/apm_accel.c b/src/apm_accel.c index b59e2a7..eec4901 100644 --- a/src/apm_accel.c +++ b/src/apm_accel.c @@ -70,6 +70,10 @@ ApmCacheMonoStipple(ScrnInfoPtr pScrn, PixmapPtr pPix) struct ApmStippleCacheRec *pCache; unsigned char *srcPtr; CARD32 *dstPtr; + static StippleScanlineProcPtr *StippleTab = NULL; + + if (!StippleTab) + StippleTab = XAAGetStippleScanlineFuncMSBFirst(); for (i = 0; i < APM_CACHE_NUMBER; i++) if ((pApm->apmCache[i].apmStippleCache.serialNumber == pPix->drawable.serialNumber) @@ -127,7 +131,7 @@ ApmCacheMonoStipple(ScrnInfoPtr pScrn, PixmapPtr pPix) while (j + h <= pCache->apmStippleCache.h) { srcPtr = (unsigned char *)pPix->devPrivate.ptr; for (i = h; --i >= 0; ) { - (*XAAStippleScanlineFuncMSBFirst[funcNo])(dstPtr, (CARD32 *)srcPtr, 0, w, dwords); + StippleTab[funcNo](dstPtr, (CARD32 *)srcPtr, 0, w, dwords); srcPtr += pPix->devKind; dstPtr += dwords; } @@ -135,7 +139,7 @@ ApmCacheMonoStipple(ScrnInfoPtr pScrn, PixmapPtr pPix) } srcPtr = (unsigned char *)pPix->devPrivate.ptr; for (i = pCache->apmStippleCache.h - j ; --i >= 0; ) { - (*XAAStippleScanlineFuncMSBFirst[funcNo])(dstPtr, (CARD32 *)srcPtr, 0, w, dwords); + StippleTab[funcNo](dstPtr, (CARD32 *)srcPtr, 0, w, dwords); srcPtr += pPix->devKind; dstPtr += dwords; } diff --git a/src/apm_driver.c b/src/apm_driver.c index 018a4d5..00dfcc5 100644 --- a/src/apm_driver.c +++ b/src/apm_driver.c @@ -227,7 +227,7 @@ static XF86ModuleVersionInfo apmVersRec = { MODULEVENDORSTRING, MODINFOSTRING1, MODINFOSTRING2, - XF86_VERSION_CURRENT, + XORG_VERSION_CURRENT, APM_MAJOR_VERSION, APM_MINOR_VERSION, APM_PATCHLEVEL, ABI_CLASS_VIDEODRV, /* This is a video driver */ ABI_VIDEODRV_VERSION, diff --git a/src/apm_funcs.c b/src/apm_funcs.c index 7bfb5a2..d2f9e83 100644 --- a/src/apm_funcs.c +++ b/src/apm_funcs.c @@ -713,9 +713,13 @@ A(TEGlyphRenderer)(ScrnInfoPtr pScrn, int x, int y, int w, int h, int fg, int bg, int rop, unsigned planemask) { CARD32 *base, *base0; - GlyphScanlineFuncPtr GlyphFunc = XAAGlyphScanlineFuncLSBFirst[glyphWidth - 1]; + GlyphScanlineFuncPtr GlyphFunc; + static GlyphScanlineFuncPtr *GlyphTab = NULL; int w2, h2, dwords; + if (!GlyphTab) GlyphTab = XAAGetGlyphScanlineFuncLSBFirst(); + GlyphFunc = GlyphTab[glyphWidth - 1]; + w2 = w + skipleft; h2 = h; dwords = (w2 + 31) >> 5; diff --git a/src/apm_rush.c b/src/apm_rush.c index 1e8eec6..ef5d438 100644 --- a/src/apm_rush.c +++ b/src/apm_rush.c @@ -1,4 +1,4 @@ -/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/apm/apm_rush.c,v 1.1.4.2.2.3 2004/03/04 20:16:26 kaleb Exp $ */ +/* $XdotOrg: xc/programs/Xserver/hw/xfree86/drivers/apm/apm_rush.c,v 1.2 2004/04/23 19:25:03 eich Exp $ */ /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/apm/apm_rush.c,v 1.11tsi Exp $ */ /* * Copyright Loïc Grenié 1999 |