summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/apm_accel.c8
-rw-r--r--src/apm_driver.c2
-rw-r--r--src/apm_funcs.c6
-rw-r--r--src/apm_rush.c2
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