summaryrefslogtreecommitdiff
path: root/src/apm_accel.c
diff options
context:
space:
mode:
authorAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-09-15 16:33:57 +0000
committerAlexander Gottwald <alexander.gottwald@s1999.tu-chemnitz.de>2004-09-15 16:33:57 +0000
commitda02231b08216fbed29236290cd90c3fcf85feaa (patch)
tree2870e460e211e3a93139e0ff7e2a9d16445d6517 /src/apm_accel.c
parent7c519d0fa8c07482b62e72e440dab16d58fef685 (diff)
Diffstat (limited to 'src/apm_accel.c')
-rw-r--r--src/apm_accel.c8
1 files changed, 6 insertions, 2 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;
}