Index: fb/fb.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/fb/fb.h,v retrieving revision 1.4 diff -u -r1.4 fb.h --- fb/fb.h 21 Jun 2004 13:51:57 -0000 1.4 +++ fb/fb.h 28 Jul 2004 05:46:02 -0000 @@ -564,9 +564,13 @@ } \ } +/* XXX fb*PrivateIndex should be static, but it breaks the ABI */ + extern int fbGCPrivateIndex; +extern int fbGetGCPrivateIndex(void); #ifndef FB_NO_WINDOW_PIXMAPS extern int fbWinPrivateIndex; +extern int fbGetWinPrivateIndex(void); #endif extern const GCOps fbGCOps; extern const GCFuncs fbGCFuncs; @@ -587,6 +591,7 @@ #ifdef FB_SCREEN_PRIVATE extern int fbScreenPrivateIndex; +extern int fbGetScreenPrivateIndex(void); /* private field of a screen */ typedef struct { @@ -595,7 +600,7 @@ } FbScreenPrivRec, *FbScreenPrivPtr; #define fbGetScreenPrivate(pScreen) ((FbScreenPrivPtr) \ - (pScreen)->devPrivates[fbScreenPrivateIndex].ptr) + (pScreen)->devPrivates[fbGetScreenPrivateIndex()].ptr) #endif /* private field of GC */ @@ -619,7 +624,7 @@ } FbGCPrivRec, *FbGCPrivPtr; #define fbGetGCPrivate(pGC) ((FbGCPrivPtr)\ - (pGC)->devPrivates[fbGCPrivateIndex].ptr) + (pGC)->devPrivates[fbGetGCPrivateIndex()].ptr) #ifdef FB_OLD_GC #define fbGetCompositeClip(pGC) (fbGetGCPrivate(pGC)->pCompositeClip) @@ -638,7 +643,7 @@ #define fbGetWindowPixmap(d) fbGetScreenPixmap(((DrawablePtr) (d))->pScreen) #else #define fbGetWindowPixmap(pWin) ((PixmapPtr)\ - ((WindowPtr) (pWin))->devPrivates[fbWinPrivateIndex].ptr) + ((WindowPtr) (pWin))->devPrivates[fbGetWinPrivateIndex()].ptr) #endif #if defined(__DARWIN__)||defined(__CYGWIN__) Index: fb/fballpriv.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/fb/fballpriv.c,v retrieving revision 1.2 diff -u -r1.2 fballpriv.c --- fb/fballpriv.c 23 Apr 2004 19:05:14 -0000 1.2 +++ fb/fballpriv.c 28 Jul 2004 05:46:02 -0000 @@ -27,10 +27,22 @@ #ifdef FB_SCREEN_PRIVATE int fbScreenPrivateIndex; +int fbGetScreenPrivateIndex(void) +{ + return fbScreenPrivateIndex; +} #endif int fbGCPrivateIndex; +int fbGetGCPrivateIndex(void) +{ + return fbGCPrivateIndex; +} #ifndef FB_NO_WINDOW_PIXMAPS int fbWinPrivateIndex; +int fbGetWinPrivateIndex(void) +{ + return fbWinPrivateIndex; +} #endif int fbGeneration; Index: fb/fboverlay.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/fb/fboverlay.c,v retrieving revision 1.3 diff -u -r1.3 fboverlay.c --- fb/fboverlay.c 16 May 2004 05:08:39 -0000 1.3 +++ fb/fboverlay.c 28 Jul 2004 05:46:02 -0000 @@ -31,6 +31,11 @@ int fbOverlayGeneration; int fbOverlayScreenPrivateIndex = -1; +int fbOverlayGetScreenPrivateIndex(void) +{ + return fbOverlayScreenPrivateIndex; +} + /* * Replace this if you want something supporting * multiple overlays with the same depth Index: fb/fboverlay.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/fb/fboverlay.h,v retrieving revision 1.2 diff -u -r1.2 fboverlay.h --- fb/fboverlay.h 23 Apr 2004 19:05:14 -0000 1.2 +++ fb/fboverlay.h 28 Jul 2004 05:46:02 -0000 @@ -27,7 +27,8 @@ #define _FBOVERLAY_H_ extern int fbOverlayGeneration; -extern int fbOverlayScreenPrivateIndex; +extern int fbOverlayScreenPrivateIndex; /* XXX should be static */ +extern int fbOverlayGetScreenPrivateIndex(void); #ifndef FB_OVERLAY_MAX #define FB_OVERLAY_MAX 2 @@ -58,8 +59,8 @@ } FbOverlayScrPrivRec, *FbOverlayScrPrivPtr; #define fbOverlayGetScrPriv(s) \ - ((fbOverlayScreenPrivateIndex != -1) ? \ - (s)->devPrivates[fbOverlayScreenPrivateIndex].ptr : NULL) + ((fbOverlayGetScreenPrivateIndex() != -1) ? \ + (s)->devPrivates[fbOverlayGetScreenPrivateIndex()].ptr : NULL) Bool fbOverlayCreateWindow(WindowPtr pWin); Index: hw/xfree86/drivers/apm/apm_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/apm/apm_accel.c,v retrieving revision 1.2 diff -u -r1.2 apm_accel.c --- hw/xfree86/drivers/apm/apm_accel.c 23 Apr 2004 19:25:03 -0000 1.2 +++ hw/xfree86/drivers/apm/apm_accel.c 28 Jul 2004 05:46:03 -0000 @@ -70,6 +70,10 @@ struct ApmStippleCacheRec *pCache; unsigned char *srcPtr; CARD32 *dstPtr; + static StippleScanlineProcPtr *StippleTab = NULL; + + if (!StippleTab) + StippleTab = LoaderSymbol("XAAStippleScanlineFuncMSBFirst"); for (i = 0; i < APM_CACHE_NUMBER; i++) if ((pApm->apmCache[i].apmStippleCache.serialNumber == pPix->drawable.serialNumber) @@ -127,7 +131,7 @@ 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 @@ } 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; } Index: hw/xfree86/drivers/apm/apm_funcs.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/apm/apm_funcs.c,v retrieving revision 1.2 diff -u -r1.2 apm_funcs.c --- hw/xfree86/drivers/apm/apm_funcs.c 23 Apr 2004 19:25:03 -0000 1.2 +++ hw/xfree86/drivers/apm/apm_funcs.c 28 Jul 2004 05:46:03 -0000 @@ -713,9 +713,13 @@ 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 = LoaderSymbol("XAAGlyphScanlineFuncLSBFirst"); + GlyphFunc = GlyphTab[glyphWidth - 1]; + w2 = w + skipleft; h2 = h; dwords = (w2 + 31) >> 5; Index: hw/xfree86/drivers/chips/ct_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/chips/ct_accel.c,v retrieving revision 1.2 diff -u -r1.2 ct_accel.c --- hw/xfree86/drivers/chips/ct_accel.c 23 Apr 2004 19:27:21 -0000 1.2 +++ hw/xfree86/drivers/chips/ct_accel.c 28 Jul 2004 05:46:03 -0000 @@ -1099,8 +1099,12 @@ int i, j, max = 0, funcNo, pad, dwords, bpp = cAcl->BitsPerPixel; int *current; StippleScanlineProcPtr StippleFunc; + static StippleScanlineProcPtr *StippleTab = NULL; unsigned char *data, *srcPtr, *dstPtr; + if (!StippleTab) + StippleTab = LoaderSymbol("XAAStippleScanlineFuncMSBFirst"); + DEBUG_P("CacheMonoStipple"); if((h <= 128) && (w <= 128 * bpp / 8)) { if(pCachePriv->Info128) { @@ -1153,7 +1157,7 @@ pad = (((pCache->w * bpp) + 31) >> 5) << 2; dstPtr = data = (unsigned char*)ALLOCATE_LOCAL(pad * pCache->h); srcPtr = (unsigned char*)pPix->devPrivate.ptr; - StippleFunc = XAAStippleScanlineFuncMSBFirst[funcNo]; + StippleFunc = StippleTab[funcNo]; dwords = ((pCache->w * bpp) >> 5) >> 3; cAcl->SlotWidth = dwords << 2; Index: hw/xfree86/drivers/chips/ct_ddc.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/chips/ct_ddc.c,v retrieving revision 1.2 diff -u -r1.2 ct_ddc.c --- hw/xfree86/drivers/chips/ct_ddc.c 23 Apr 2004 19:27:21 -0000 1.2 +++ hw/xfree86/drivers/chips/ct_ddc.c 28 Jul 2004 05:46:03 -0000 @@ -94,7 +94,8 @@ xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "DDC1 found\n"); else return; - xf86PrintEDID(xf86DoEDID_DDC1(pScrn->scrnIndex,vgaHWddc1SetSpeed, + xf86PrintEDID(xf86DoEDID_DDC1(pScrn->scrnIndex, + LoaderSymbol("vgaHWddc1SetSpeed"), chips_ddc1Read)); /* restore */ Index: hw/xfree86/drivers/cirrus/cir_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/cirrus/cir_driver.c,v retrieving revision 1.2 diff -u -r1.2 cir_driver.c --- hw/xfree86/drivers/cirrus/cir_driver.c 23 Apr 2004 19:28:21 -0000 1.2 +++ hw/xfree86/drivers/cirrus/cir_driver.c 28 Jul 2004 05:46:04 -0000 @@ -218,7 +218,6 @@ int numDevSections; int numUsed; Bool foundScreen = FALSE; - ScrnInfoPtr (*subProbe)(int entity); ScrnInfoPtr pScrn; #ifdef CIR_DEBUG @@ -275,6 +274,7 @@ they should be handled in this driver (as opposed to their own driver). */ pPci = xf86GetPciInfoForEntity(usedChips[i]); + pScrn = NULL; if (pPci && (pPci->chipType == PCI_CHIP_GD5462 || pPci->chipType == PCI_CHIP_GD5464 || pPci->chipType == PCI_CHIP_GD5464BD || @@ -286,7 +286,7 @@ xf86LoaderReqSymLists(lgSymbols, NULL); lg_loaded = TRUE; } - subProbe = LgProbe; + pScrn = LgProbe(usedChips[i]); } else { if (!alp_loaded) { if (!xf86LoadDrvSubModule(drv, "cirrus_alpine")) @@ -294,11 +294,10 @@ xf86LoaderReqSymLists(alpSymbols, NULL); alp_loaded = TRUE; } - subProbe = AlpProbe; + pScrn = AlpProbe(usedChips[i]); } - pScrn = NULL; - if ((pScrn = subProbe(usedChips[i]))) { + if (pScrn) { foundScreen = TRUE; /* Fill in what we can of the ScrnInfoRec */ pScrn->driverVersion = VERSION; Index: hw/xfree86/drivers/fbdev/fbdev.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/fbdev/fbdev.c,v retrieving revision 1.2 diff -u -r1.2 fbdev.c --- hw/xfree86/drivers/fbdev/fbdev.c 23 Apr 2004 19:31:36 -0000 1.2 +++ hw/xfree86/drivers/fbdev/fbdev.c 28 Jul 2004 05:46:04 -0000 @@ -170,6 +170,7 @@ "fbdevHWSaveScreen", "fbdevHWSwitchMode", "fbdevHWValidMode", + "fbdevHWFillInScreenInfo", "fbdevHWDPMSSet", @@ -354,11 +355,7 @@ pScrn->Probe = FBDevProbe; pScrn->PreInit = FBDevPreInit; pScrn->ScreenInit = FBDevScreenInit; - pScrn->SwitchMode = fbdevHWSwitchMode; - pScrn->AdjustFrame = fbdevHWAdjustFrame; - pScrn->EnterVT = fbdevHWEnterVT; - pScrn->LeaveVT = fbdevHWLeaveVT; - pScrn->ValidMode = fbdevHWValidMode; + fbdevHWFillInScreenInfo(pScrn); xf86DrvMsg(pScrn->scrnIndex, X_INFO, "using %s\n", dev ? dev : "default device"); @@ -782,7 +779,8 @@ if (fPtr->shadowFB && (!shadowSetup(pScreen) || !shadowAdd(pScreen, NULL, - fPtr->rotate ? shadowUpdateRotatePacked : shadowUpdatePacked, + fPtr->rotate ? LoaderSymbol("shadowUpdateRotatePacked") + : LoaderSymbol("shadowUpdatePacked"), FBDevWindowLinear, fPtr->rotate, NULL)) ) { xf86DrvMsg(scrnIndex, X_ERROR, "Shadow framebuffer initialization failed.\n"); @@ -842,12 +840,14 @@ return FALSE; } flags = CMAP_PALETTED_TRUECOLOR; - if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPalette, NULL, flags)) + if(!xf86HandleColormaps(pScreen, 256, 8, + LoaderSymbol("fbdevHWLoadPalette"), + NULL, flags)) return FALSE; - xf86DPMSInit(pScreen, fbdevHWDPMSSet, 0); + xf86DPMSInit(pScreen, LoaderSymbol("fbdevHWDPMSSet"), 0); - pScreen->SaveScreen = fbdevHWSaveScreen; + pScreen->SaveScreen = LoaderSymbol("fbdevHWSaveScreen"); /* Wrap the current CloseScreen function */ fPtr->CloseScreen = pScreen->CloseScreen; Index: hw/xfree86/drivers/glint/glint_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/glint/glint_driver.c,v retrieving revision 1.3 diff -u -r1.3 glint_driver.c --- hw/xfree86/drivers/glint/glint_driver.c 16 Jun 2004 09:43:59 -0000 1.3 +++ hw/xfree86/drivers/glint/glint_driver.c 28 Jul 2004 05:46:06 -0000 @@ -933,7 +933,7 @@ pGlint->RamDacRec->WriteAddress = glintTIWriteAddress; pGlint->RamDacRec->ReadData = glintTIReadData; pGlint->RamDacRec->WriteData = glintTIWriteData; - pGlint->RamDacRec->LoadPalette = TIramdacLoadPalette; + pGlint->RamDacRec->LoadPalette = LoaderSymbol("TIramdacLoadPalette"); if(!RamDacInit(pScrn, pGlint->RamDacRec)) { RamDacDestroyInfoRec(pGlint->RamDacRec); @@ -1248,9 +1248,9 @@ pGlint->FBDev = TRUE; from = X_CONFIG; - pScrn->AdjustFrame = fbdevHWAdjustFrame; - pScrn->LeaveVT = fbdevHWLeaveVT; - pScrn->ValidMode = fbdevHWValidMode; + pScrn->AdjustFrame = LoaderSymbol("fbdevHWAdjustFrame"); + pScrn->LeaveVT = LoaderSymbol("fbdevHWLeaveVT"); + pScrn->ValidMode = LoaderSymbol("fbdevHWValidMode"); } else { /* Only use FBDev if requested */ @@ -3104,7 +3104,7 @@ ((pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_GAMMA) && (pGlint->MultiChip == PCI_CHIP_PERMEDIA3)) ) { if (!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, - (pGlint->FBDev) ? fbdevHWLoadPalette : + (pGlint->FBDev) ? LoaderSymbol("fbdevHWLoadPalette") : ((pScrn->depth == 16) ? Permedia3LoadPalette16:Permedia3LoadPalette), NULL, CMAP_RELOAD_ON_MODE_SWITCH | @@ -3116,7 +3116,7 @@ (pGlint->Chipset == PCI_VENDOR_3DLABS_CHIP_PERMEDIA2) || (pGlint->Chipset == PCI_VENDOR_TI_CHIP_PERMEDIA2)) { if (!xf86HandleColormaps(pScreen, 256, pScrn->rgbBits, - (pGlint->FBDev) ? fbdevHWLoadPalette : + (pGlint->FBDev) ? LoaderSymbol("fbdevHWLoadPalette") : ((pScrn->depth == 16) ? Permedia2LoadPalette16:Permedia2LoadPalette), NULL, CMAP_RELOAD_ON_MODE_SWITCH | Index: hw/xfree86/drivers/i810/i810_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_accel.c,v retrieving revision 1.3 diff -u -r1.3 i810_accel.c --- hw/xfree86/drivers/i810/i810_accel.c 22 Jun 2004 14:28:46 -0000 1.3 +++ hw/xfree86/drivers/i810/i810_accel.c 28 Jul 2004 05:46:06 -0000 @@ -293,7 +293,7 @@ /* Color blit, p166 */ pI810->BR[13] = (BR13_SOLID_PATTERN | - (XAAPatternROP[rop] << 16) | + (XAAGetPatternROP(rop) << 16) | (pScrn->displayWidth * pI810->cpp)); pI810->BR[16] = color; } @@ -339,7 +339,7 @@ if (xdir == -1) pI810->BR[13] |= BR13_RIGHT_TO_LEFT; - pI810->BR[13] |= XAACopyROP[rop] << 16; + pI810->BR[13] |= XAAGetCopyROP(rop) << 16; pI810->BR[18] = 0; } @@ -425,7 +425,7 @@ pI810->BR[18] = bg; pI810->BR[19] = fg; pI810->BR[13] = (pScrn->displayWidth * pI810->cpp); - pI810->BR[13] |= XAAPatternROP[rop] << 16; + pI810->BR[13] |= XAAGetPatternROP(rop) << 16; if (bg == -1) pI810->BR[13] |= BR13_MONO_PATN_TRANS; } @@ -489,7 +489,7 @@ fg, bg, rop, planemask); pI810->BR[13] = (pScrn->displayWidth * pI810->cpp); - pI810->BR[13] |= XAACopyROP[rop] << 16; + pI810->BR[13] |= XAAGetCopyROP(rop) << 16; pI810->BR[13] |= (1 << 27); if (bg == -1) pI810->BR[13] |= BR13_MONO_TRANSPCY; Index: hw/xfree86/drivers/i810/i810_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c,v retrieving revision 1.5 diff -u -r1.5 i810_driver.c --- hw/xfree86/drivers/i810/i810_driver.c 6 Jul 2004 14:37:47 -0000 1.5 +++ hw/xfree86/drivers/i810/i810_driver.c 28 Jul 2004 05:46:06 -0000 @@ -250,8 +250,8 @@ "XAACreateInfoRec", "XAADestroyInfoRec", "XAAInit", - "XAACopyROP", - "XAAPatternROP", + "XAAGetCopyROP", + "XAAGetPatternROP", NULL }; Index: hw/xfree86/drivers/i810/i830_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/i810/i830_accel.c,v retrieving revision 1.3 diff -u -r1.3 i830_accel.c --- hw/xfree86/drivers/i810/i830_accel.c 22 Jun 2004 14:28:46 -0000 1.3 +++ hw/xfree86/drivers/i810/i830_accel.c 28 Jul 2004 05:46:06 -0000 @@ -392,7 +392,7 @@ ErrorF("I830SetupForFillRectSolid color: %x rop: %x mask: %x\n", color, rop, planemask); - pI830->BR[13] = ((XAAPatternROP[rop] << 16) | + pI830->BR[13] = ((XAAGetPatternROP(rop) << 16) | (pScrn->displayWidth * pI830->cpp)); pI830->BR[16] = color; @@ -448,7 +448,7 @@ xdir, ydir, rop, planemask, transparency_color); pI830->BR[13] = (pScrn->displayWidth * pI830->cpp); - pI830->BR[13] |= XAACopyROP[rop] << 16; + pI830->BR[13] |= XAAGetCopyROP(rop) << 16; switch (pScrn->bitsPerPixel) { case 8: @@ -514,7 +514,7 @@ pI830->BR[19] = fg; pI830->BR[13] = (pScrn->displayWidth * pI830->cpp); /* In bytes */ - pI830->BR[13] |= XAAPatternROP[rop] << 16; + pI830->BR[13] |= XAAGetPatternROP(rop) << 16; if (bg == -1) pI830->BR[13] |= (1 << 28); @@ -603,7 +603,7 @@ /* Fill out register values */ pI830->BR[13] = (pScrn->displayWidth * pI830->cpp); - pI830->BR[13] |= XAACopyROP[rop] << 16; + pI830->BR[13] |= XAAGetCopyROP(rop) << 16; if (bg == -1) pI830->BR[13] |= (1 << 29); @@ -701,7 +701,7 @@ /* Fill out register values */ pI830->BR[13] = (pScrn->displayWidth * pI830->cpp); - pI830->BR[13] |= XAACopyROP[rop] << 16; + pI830->BR[13] |= XAAGetCopyROP(rop) << 16; switch (pScrn->bitsPerPixel) { case 8: Index: hw/xfree86/drivers/mga/mga_dac3026.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dac3026.c,v retrieving revision 1.3 diff -u -r1.3 mga_dac3026.c --- hw/xfree86/drivers/mga/mga_dac3026.c 27 Jul 2004 02:50:41 -0000 1.3 +++ hw/xfree86/drivers/mga/mga_dac3026.c 28 Jul 2004 05:46:07 -0000 @@ -1282,6 +1282,6 @@ pMga->ModeInit = MGA3026Init; pMga->ddc1Read = MGA3026_ddc1Read; /* vgaHWddc1SetSpeed will only work if the card is in VGA mode */ - pMga->DDC1SetSpeed = vgaHWddc1SetSpeed; + pMga->DDC1SetSpeed = LoaderSymbol("vgaHWddc1SetSpeed"); pMga->i2cInit = MGA3026_i2cInit; } Index: hw/xfree86/drivers/mga/mga_dacG.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dacG.c,v retrieving revision 1.3 diff -u -r1.3 mga_dacG.c --- hw/xfree86/drivers/mga/mga_dacG.c 27 Jul 2004 02:50:41 -0000 1.3 +++ hw/xfree86/drivers/mga/mga_dacG.c 28 Jul 2004 05:46:07 -0000 @@ -1331,7 +1331,7 @@ pMga->ModeInit = MGAGInit; pMga->ddc1Read = MGAG_ddc1Read; /* vgaHWddc1SetSpeed will only work if the card is in VGA mode */ - pMga->DDC1SetSpeed = vgaHWddc1SetSpeed; + pMga->DDC1SetSpeed = LoaderSymbol("vgaHWddc1SetSpeed"); pMga->i2cInit = MGAG_i2cInit; } Index: hw/xfree86/drivers/mga/mga_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_driver.c,v retrieving revision 1.4 diff -u -r1.4 mga_driver.c --- hw/xfree86/drivers/mga/mga_driver.c 27 Jul 2004 02:50:41 -0000 1.4 +++ hw/xfree86/drivers/mga/mga_driver.c 28 Jul 2004 05:46:08 -0000 @@ -272,7 +272,7 @@ "XAACachePlanarMonoStipple", "XAACreateInfoRec", "XAADestroyInfoRec", - "XAAFallbackOps", + "XAAGetFallbackOps", "XAAInit", "XAAMoveDWORDS", "XAA_888_plus_PICT_a8_to_8888", @@ -1034,7 +1034,7 @@ return NULL; } else { /* XXX Need to write an MGA mode ddc1SetSpeed */ - if (pMga->DDC1SetSpeed == vgaHWddc1SetSpeed) { + if (pMga->DDC1SetSpeed == LoaderSymbol("vgaHWddc1SetSpeed")) { pMga->DDC1SetSpeed = NULL; xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, 2, "DDC1 disabled - chip not in VGA mode\n"); @@ -1697,11 +1697,11 @@ xf86LoaderReqSymLists(fbdevHWSymbols, NULL); if (!fbdevHWInit(pScrn, pMga->PciInfo, NULL)) return FALSE; - pScrn->SwitchMode = fbdevHWSwitchMode; - pScrn->AdjustFrame = fbdevHWAdjustFrame; + pScrn->SwitchMode = LoaderSymbol("fbdevHWSwitchMode"); + pScrn->AdjustFrame = LoaderSymbol("fbdevHWAdjustFrame"); pScrn->EnterVT = MGAEnterVTFBDev; - pScrn->LeaveVT = fbdevHWLeaveVT; - pScrn->ValidMode = fbdevHWValidMode; + pScrn->LeaveVT = LoaderSymbol("fbdevHWLeaveVT"); + pScrn->ValidMode = LoaderSymbol("fbdevHWValidMode"); } pMga->Rotate = 0; if ((s = xf86GetOptValString(pMga->Options, OPTION_ROTATE))) { @@ -3433,7 +3433,8 @@ else f = CMAP_RELOAD_ON_MODE_SWITCH; if(!xf86HandleColormaps(pScreen, 256, 8, - (pMga->FBDev ? fbdevHWLoadPalette : MGAdac->LoadPalette), NULL, f)) + pMga->FBDev ? LoaderSymbol("fbdevHWLoadPalette") : MGAdac->LoadPalette, + NULL, f)) return FALSE; if(pMga->Overlay8Plus24) { /* Must come after colormap initialization */ Index: hw/xfree86/drivers/mga/mga_storm.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_storm.c,v retrieving revision 1.2 diff -u -r1.2 mga_storm.c --- hw/xfree86/drivers/mga/mga_storm.c 23 Apr 2004 19:37:16 -0000 1.2 +++ hw/xfree86/drivers/mga/mga_storm.c 28 Jul 2004 05:46:10 -0000 @@ -745,7 +745,7 @@ infoPtr->SubsequentScreenToScreenColorExpandFill = MGANAME(SubsequentPlanarScreenToScreenColorExpandFill); infoPtr->CacheColorExpandDensity = PSZ; - infoPtr->CacheMonoStipple = XAACachePlanarMonoStipple; + infoPtr->CacheMonoStipple = LoaderSymbol("XAACachePlanarMonoStipple"); /* It's faster to blit the stipples if you have fastbilt */ if(pMga->HasFBitBlt) infoPtr->ScreenToScreenColorExpandFillFlags = TRANSPARENCY_ONLY; @@ -2366,7 +2366,7 @@ if(!numRects) return; if(numRects != 1) { - XAAFallbackOps.PolyPoint(pDraw, pGC, mode, npt, ppt); + XAAGetFallbackOps()->PolyPoint(pDraw, pGC, mode, npt, ppt); return; } @@ -2419,7 +2419,7 @@ MGAPtr pMga = MGAPTR(pScrn); Bool fullPlanemask = TRUE; - pGC->ops->PolyPoint = XAAFallbackOps.PolyPoint; + pGC->ops->PolyPoint = XAAGetFallbackOps()->PolyPoint; if((pGC->planemask & pMga->AccelInfoRec->FullPlanemask) != pMga->AccelInfoRec->FullPlanemask) Index: hw/xfree86/drivers/neomagic/neo_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/neomagic/neo_driver.c,v retrieving revision 1.3 diff -u -r1.3 neo_driver.c --- hw/xfree86/drivers/neomagic/neo_driver.c 26 May 2004 16:24:09 -0000 1.3 +++ hw/xfree86/drivers/neomagic/neo_driver.c 28 Jul 2004 05:46:10 -0000 @@ -1810,7 +1810,7 @@ NEOInitVideo(pScreen); - pScreen->SaveScreen = vgaHWSaveScreen; + pScreen->SaveScreen = LoaderSymbol("vgaHWSaveScreen"); /* Setup DPMS mode */ if (nPtr->NeoChipset != NM2070) @@ -3108,7 +3108,8 @@ VGAwCR(0x21,0x00); VGAwCR(0x1D,0x01); /* some Voodoo */ VGAwGR(0xA1,0x2F); - ret = xf86DoEDID_DDC1(scrnIndex,vgaHWddc1SetSpeed,neo_ddc1Read); + ret = xf86DoEDID_DDC1(scrnIndex,LoaderSymbol("vgaHWddc1SetSpeed"), + neo_ddc1Read); /* undo initialization */ VGAwCR(0x21,reg1); VGAwCR(0x1D,reg2); Index: hw/xfree86/drivers/nsc/nsc_gx1_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx1_accel.c,v retrieving revision 1.2 diff -u -r1.2 nsc_gx1_accel.c --- hw/xfree86/drivers/nsc/nsc_gx1_accel.c 23 Apr 2004 19:40:15 -0000 1.2 +++ hw/xfree86/drivers/nsc/nsc_gx1_accel.c 28 Jul 2004 05:46:10 -0000 @@ -339,11 +339,11 @@ /* CHECK IF PLANEMASK IS NOT USED (ALL PLANES ENABLED) */ if (planemask == 0xFFFFFFFF) { /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } else { /* SELECT ROP THAT USES SOURCE DATA FOR PLANEMASK */ GFX(set_solid_source((unsigned long)planemask)); - GFX(set_raster_operation(XAAPatternROP_PM[rop])); + GFX(set_raster_operation(XAAGetPatternROP_PM(rop))); } } @@ -414,11 +414,11 @@ /* CHECK IF PLANEMASK IS NOT USED (ALL PLANES ENABLED) */ if (planemask == 0xFFFFFFFF) { /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } else { /* SELECT ROP THAT USES SOURCE DATA FOR PLANEMASK */ GFX(set_solid_source((unsigned int)planemask)); - GFX(set_raster_operation(XAAPatternROP_PM[rop])); + GFX(set_raster_operation(XAAGetPatternROP_PM(rop))); } } @@ -503,11 +503,11 @@ /* CHECK IF PLANEMASK IS NOT USED (ALL PLANES ENABLED) */ if (planemask == 0xFFFFFFFF) { /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } else { /* SELECT ROP THAT USES SOURCE DATA FOR PLANEMASK */ GFX(set_solid_source((unsigned int)planemask)); - GFX(set_raster_operation(XAAPatternROP_PM[rop])); + GFX(set_raster_operation(XAAGetPatternROP_PM(rop))); } } @@ -578,7 +578,7 @@ { GFX(set_solid_pattern(planemask)); /* SET RASTER OPERATION FOR USING PATTERN AS PLANE MASK */ - GFX(set_raster_operation(XAACopyROP[rop])); + GFX(set_raster_operation(XAAGetCopyROP(rop))); /* SAVE TRANSPARENCY FLAG */ GeodeTransparent = (transparency_color == -1) ? 0 : 1; GeodeTransColor = transparency_color; @@ -672,7 +672,7 @@ { GFX(set_solid_pattern((unsigned int)planemask)); /* SET RASTER OPERATION FOR USING PATTERN AS PLANE MASK */ - GFX(set_raster_operation(XAACopyROP_PM[rop])); + GFX(set_raster_operation(XAAGetCopyROP_PM(rop))); /* SAVE TRANSPARENCY FLAG */ GeodeTransparent = (transparency_color == -1) ? 0 : 1; GeodeTransColor = transparency_color; @@ -817,7 +817,7 @@ GFX(set_solid_pattern((unsigned int)color)); /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } /*--------------------------------------------------------------------------- @@ -971,12 +971,12 @@ if (planemask == (unsigned int)-1) { /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } else { /* SELECT ROP THAT USES SOURCE DATA FOR PLANEMASK */ GFX(set_solid_source((unsigned long)planemask)); - GFX(set_raster_operation(XAAPatternROP_PM[rop])); + GFX(set_raster_operation(XAAGetPatternROP_PM(rop))); } } @@ -990,7 +990,7 @@ GFX(set_mono_source(bg, fg, (bg == -1))); /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAACopyROP_PM[rop & 0x0F])); + GFX(set_raster_operation(XAAGetCopyROP_PM(rop & 0x0F))); DEBUGMSG(0, (0, X_NONE, "%x %x %x %x\n", fg, bg, rop, planemask)); } @@ -1049,14 +1049,14 @@ planemask |= (planemask << 8); } - rop16 = XAAPatternROP[rop]; + rop16 = XAAGetPatternROP(rop); /* POLL UNTIL ABLE TO WRITE THE SOURCE COLOR */ GFX_WAIT_PENDING; WRITE_REG32(GP_SRC_COLOR_0, (planemask << 16) | planemask); } else { - rop16 = XAAPatternROP_PM[rop]; + rop16 = XAAGetPatternROP_PM(rop); } Geode_blt_mode = 0; @@ -1166,7 +1166,7 @@ int transparency_color) { int GFXusesDstData; - unsigned short rop16 = XAACopyROP[rop]; + unsigned short rop16 = XAAGetCopyROP(rop); /* FORMAT 8 BPP COLOR */ /* GX requires 8BPP color data be duplicated into bits [15:8]. */ @@ -1488,7 +1488,7 @@ color |= (color << 8); } - GeodeROP = XAAPatternROP[rop]; + GeodeROP = XAAGetPatternROP(rop); /* POLL UNTIL ABLE TO WRITE THE PATTERN COLOR */ GFX_WAIT_PENDING; Index: hw/xfree86/drivers/nsc/nsc_gx2_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nsc/nsc_gx2_accel.c,v retrieving revision 1.2 diff -u -r1.2 nsc_gx2_accel.c --- hw/xfree86/drivers/nsc/nsc_gx2_accel.c 23 Apr 2004 19:40:15 -0000 1.2 +++ hw/xfree86/drivers/nsc/nsc_gx2_accel.c 28 Jul 2004 05:46:11 -0000 @@ -408,11 +408,11 @@ /* CHECK IF PLANEMASK IS NOT USED (ALL PLANES ENABLED) */ if (planemask == 0xFFFFFFFF) { /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } else { /* SELECT ROP THAT USES SOURCE DATA FOR PLANEMASK */ GFX(set_solid_source((unsigned int)planemask)); - GFX(set_raster_operation(XAAPatternROP_PM[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } } @@ -476,11 +476,11 @@ /* CHECK IF PLANEMASK IS NOT USED (ALL PLANES ENABLED) */ if (planemask == 0xFFFFFFFF) { /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } else { /* SELECT ROP THAT USES SOURCE DATA FOR PLANEMASK */ GFX(set_solid_source((unsigned int)planemask)); - GFX(set_raster_operation(XAAPatternROP_PM[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } } @@ -560,11 +560,11 @@ /* CHECK IF PLANEMASK IS NOT USED (ALL PLANES ENABLED) */ if (planemask == 0xFFFFFFFF) { /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } else { /* SELECT ROP THAT USES SOURCE DATA FOR PLANEMASK */ GFX(set_solid_source((unsigned int)planemask)); - GFX(set_raster_operation(XAAPatternROP_PM[rop])); + GFX(set_raster_operation(XAAGetPatternROP(rop))); } } @@ -630,7 +630,7 @@ { GFX(set_solid_pattern(planemask)); /* SET RASTER OPERATION FOR USING PATTERN AS PLANE MASK */ - GFX(set_raster_operation(XAACopyROP[rop])); + GFX(set_raster_operation(XAAGetCopyROP(rop))); /* SAVE TRANSPARENCY FLAG */ GeodeTransparent = (transparency_color == -1) ? 0 : 1; GeodeTransColor = transparency_color; @@ -690,7 +690,7 @@ { GFX(set_solid_pattern((unsigned int)planemask)); /* SET RASTER OPERATION FOR USING PATTERN AS PLANE MASK */ - GFX(set_raster_operation(XAACopyROP[rop])); + GFX(set_raster_operation(XAAGetCopyROP(rop))); /* SAVE TRANSPARENCY FLAG */ GeodeTransparent = (transparency_color == -1) ? 0 : 1; GeodeTransColor = transparency_color; @@ -738,7 +738,7 @@ { GFX(set_solid_pattern((unsigned int)planemask)); /* SET RASTER OPERATION FOR USING PATTERN AS PLANE MASK */ - GFX(set_raster_operation(XAACopyROP[rop & 0x0F])); + GFX(set_raster_operation(XAAGetCopyROP(rop & 0x0F))); /* SAVE TRANSPARENCY FLAG */ GeodeTransparent = (transparency_color == -1) ? 0 : 1; GeodeTransColor = transparency_color; @@ -883,7 +883,7 @@ GFX(set_mono_source(bg, fg, (bg == -1))); /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAACopyROP_PM[rop & 0x0F])); + GFX(set_raster_operation(XAAGetCopyROP_PM(rop & 0x0F))); DEBUGMSG(0, (0, X_NONE, "%x %x %x %x\n", fg, bg, rop, planemask)); } @@ -927,7 +927,7 @@ GFX(set_mono_source(bg, fg, (bg == -1))); /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAACopyROP_PM[rop & 0x0F])); + GFX(set_raster_operation(XAAGetCopyROP_PM(rop & 0x0F))); DEBUGMSG(0, (0, X_NONE, "%x %x %x %x\n", fg, bg, rop, planemask)); } @@ -982,7 +982,7 @@ GFX(set_solid_pattern((unsigned int)color)); /* USE NORMAL PATTERN ROPs IF ALL PLANES ARE ENABLED */ - GFX(set_raster_operation(XAAPatternROP[rop & 0x0F])); + GFX(set_raster_operation(XAAGetPatternROP(rop & 0x0F))); } /*--------------------------------------------------------------------------- @@ -1318,7 +1318,7 @@ { int trans = (bg == -1); - GeodeROP = XAACopyROP_PM[rop]; + GeodeROP = XAAGetCopyROP_PM(rop); if ((GeodeROP & 0x55) ^ ((GeodeROP >> 1) & 0x55)) { Geode_blt_mode = MGP_BM_DST_REQ; @@ -1402,10 +1402,10 @@ WRITE_GP32(MGP_STRIDE, pGeode->Pitch); if (planemask == 0xFFFFFFFF) { - GeodeROP = XAAPatternROP[rop]; + GeodeROP = XAAGetPatternROP(rop); } else { WRITE_GP32(MGP_SRC_COLOR_FG, (unsigned long)planemask); - GeodeROP = XAAPatternROP_PM[rop]; + GeodeROP = XAAGetPatternROP(rop); } WRITE_GP32(MGP_RASTER_MODE, gu2_bpp | GeodeROP); @@ -1482,7 +1482,7 @@ { GeodePtr pGeode = GEODEPTR(pScreenInfo); - GeodeROP = XAACopyROP_PM[rop]; + GeodeROP = XAAGetCopyROP_PM(rop); Geode_blt_mode = MGP_BM_SRC_FB; @@ -1934,9 +1934,9 @@ /* SET PATTERN FLAGS */ if (planemask == 0xFFFFFFFF) { - GeodeROP = XAAPatternROP[rop & 0x0F]; + GeodeROP = XAAGetPatternROP(rop & 0x0F); } else { - GeodeROP = XAAPatternROP_PM[rop & 0x0F]; + GeodeROP = XAAGetPatternROP_PM(rop & 0x0F); } if (bg == -1) GeodeROP |= MGP_RM_PAT_MONO | MGP_RM_PAT_TRANS; Index: hw/xfree86/drivers/nv/nv_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_driver.c,v retrieving revision 1.2 diff -u -r1.2 nv_driver.c --- hw/xfree86/drivers/nv/nv_driver.c 23 Apr 2004 19:42:10 -0000 1.2 +++ hw/xfree86/drivers/nv/nv_driver.c 28 Jul 2004 05:46:11 -0000 @@ -1053,11 +1053,11 @@ xf86FreeInt10(pNv->pInt); return FALSE; } - pScrn->SwitchMode = fbdevHWSwitchMode; - pScrn->AdjustFrame = fbdevHWAdjustFrame; + pScrn->SwitchMode = LoaderSymbol("fbdevHWSwitchMode"); + pScrn->AdjustFrame = LoaderSymbol("fbdevHWAdjustFrame"); pScrn->EnterVT = NVEnterVTFBDev; - pScrn->LeaveVT = fbdevHWLeaveVT; - pScrn->ValidMode = fbdevHWValidMode; + pScrn->LeaveVT = LoaderSymbol("fbdevHWLeaveVT"); + pScrn->ValidMode = LoaderSymbol("fbdevHWValidMode"); } pNv->Rotate = 0; if ((s = xf86GetOptValString(pNv->Options, OPTION_ROTATE))) { @@ -1765,7 +1765,7 @@ /* Initialize colormap layer. Must follow initialization of the default colormap */ if(!xf86HandleColormaps(pScreen, 256, 8, - (pNv->FBDev ? fbdevHWLoadPalette : NVDACLoadPalette), + (pNv->FBDev ? LoaderSymbol("fbdevHWLoadPalette") : NVDACLoadPalette), NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR)) return FALSE; Index: hw/xfree86/drivers/nv/riva_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nv/riva_driver.c,v retrieving revision 1.2 diff -u -r1.2 riva_driver.c --- hw/xfree86/drivers/nv/riva_driver.c 23 Apr 2004 19:42:10 -0000 1.2 +++ hw/xfree86/drivers/nv/riva_driver.c 28 Jul 2004 05:46:12 -0000 @@ -88,12 +88,12 @@ }; static const char *xaaSymbols[] = { - "XAACopyROP", + "XAAGetCopyROP", "XAACreateInfoRec", "XAADestroyInfoRec", - "XAAFallbackOps", + "XAAGetFallbackOps", "XAAInit", - "XAAPatternROP", + "XAAGetPatternROP", NULL }; @@ -688,11 +688,11 @@ xf86FreeInt10(pRiva->pInt); return FALSE; } - pScrn->SwitchMode = fbdevHWSwitchMode; - pScrn->AdjustFrame = fbdevHWAdjustFrame; + pScrn->SwitchMode = LoaderSymbol("fbdevHWSwitchMode"); + pScrn->AdjustFrame = LoaderSymbol("fbdevHWAdjustFrame"); pScrn->EnterVT = RivaEnterVTFBDev; - pScrn->LeaveVT = fbdevHWLeaveVT; - pScrn->ValidMode = fbdevHWValidMode; + pScrn->LeaveVT = LoaderSymbol("fbdevHWLeaveVT"); + pScrn->ValidMode = LoaderSymbol("fbdevHWValidMode"); } pRiva->Rotate = 0; if ((s = xf86GetOptValString(pRiva->Options, OPTION_ROTATE))) { @@ -1317,7 +1317,8 @@ /* Initialize colormap layer. Must follow initialization of the default colormap */ if(!xf86HandleColormaps(pScreen, 256, 8, - (pRiva->FBDev ? fbdevHWLoadPalette : Rivadac->LoadPalette), + (pRiva->FBDev ? LoaderSymbol("fbdevHWLoadPalette") + : Rivadac->LoadPalette), NULL, CMAP_RELOAD_ON_MODE_SWITCH | CMAP_PALETTED_TRUECOLOR)) return FALSE; Index: hw/xfree86/drivers/nv/riva_xaa.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/nv/riva_xaa.c,v retrieving revision 1.2 diff -u -r1.2 riva_xaa.c --- hw/xfree86/drivers/nv/riva_xaa.c 23 Apr 2004 19:42:10 -0000 1.2 +++ hw/xfree86/drivers/nv/riva_xaa.c 28 Jul 2004 05:46:12 -0000 @@ -92,7 +92,7 @@ RivaSetPattern(pRiva, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF); pRiva->currentRop = rop; RIVA_FIFO_FREE(pRiva->riva, Rop, 1); - pRiva->riva.Rop->Rop3 = XAACopyROP[rop]; + pRiva->riva.Rop->Rop3 = XAAGetCopyROP(rop); } } @@ -102,7 +102,7 @@ if (pRiva->currentRop != (rop + 16)) { pRiva->currentRop = rop + 16; /* +16 is important */ RIVA_FIFO_FREE(pRiva->riva, Rop, 1); - pRiva->riva.Rop->Rop3 = XAAPatternROP[rop]; + pRiva->riva.Rop->Rop3 = XAAGetPatternROP(rop); } } @@ -458,7 +458,7 @@ unsigned long changes, DrawablePtr pDraw ){ - pGC->ops->PolyPoint = XAAFallbackOps.PolyPoint; + pGC->ops->PolyPoint = XAAGetFallbackOps()->PolyPoint; if(pGC->planemask != ~0) return; Index: hw/xfree86/drivers/s3/s3_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/s3/s3_driver.c,v retrieving revision 1.3 diff -u -r1.3 s3_driver.c --- hw/xfree86/drivers/s3/s3_driver.c 26 May 2004 16:24:09 -0000 1.3 +++ hw/xfree86/drivers/s3/s3_driver.c 28 Jul 2004 05:46:12 -0000 @@ -662,7 +662,7 @@ pS3->DacSave = S3IBMRGB_Save; pS3->DacRestore = S3IBMRGB_Restore; pS3->CursorInit = S3IBMRGB_CursorInit; - pS3->RamDac->SetBpp = IBMramdac526SetBpp; + pS3->RamDac->SetBpp = LoaderSymbol("IBMramdac526SetBpp"); pS3->MaxClock = 170000; pScrn->rgbBits = 8; pS3->LoadPalette = S3GenericLoadPalette; Index: hw/xfree86/drivers/s3virge/s3v_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_accel.c,v retrieving revision 1.1.1.2 diff -u -r1.1.1.2 s3v_accel.c --- hw/xfree86/drivers/s3virge/s3v_accel.c 25 Nov 2003 19:28:38 -0000 1.1.1.2 +++ hw/xfree86/drivers/s3virge/s3v_accel.c 28 Jul 2004 05:46:13 -0000 @@ -634,14 +634,14 @@ ps3v->AccelCmd = ps3v->CommonCmd | CMD_AUTOEXEC | CMD_BITBLT; if(planemask != ps3v->FullPlaneMask) { - ps3v->AccelCmd |= (XAACopyROP_PM[rop] << 17) | MIX_MONO_PATT; + ps3v->AccelCmd |= (XAAGetCopyROP_PM(rop) << 17) | MIX_MONO_PATT; WAITFIFO(4); OUTREG(PAT_FG_CLR, planemask); OUTREG(MONO_PAT_0, ~0); OUTREG(MONO_PAT_1, ~0); } else { - ps3v->AccelCmd |= XAACopyROP[rop] << 17; + ps3v->AccelCmd |= XAAGetCopyROP(rop) << 17; WAITFIFO(1); } if(xdir == 1) ps3v->AccelCmd |= CMD_XP; @@ -781,10 +781,10 @@ if(planemask == ps3v->FullPlaneMask) { - ps3v->AccelCmd |= XAACopyROP[rop] << 17; + ps3v->AccelCmd |= XAAGetCopyROP(rop) << 17; WAITFIFO(3); } else { - ps3v->AccelCmd |= (XAACopyROP_PM[rop] << 17) | MIX_MONO_PATT; + ps3v->AccelCmd |= (XAAGetCopyROP_PM(rop) << 17) | MIX_MONO_PATT; WAITFIFO(6); OUTREG(MONO_PAT_0, ~0); OUTREG(MONO_PAT_1, ~0); @@ -837,13 +837,13 @@ MIX_CPUDATA | CMD_ITA_DWORD | CMD_HWCLIP | CMD_XP | CMD_YP; if(planemask != ps3v->FullPlaneMask) { - ps3v->AccelCmd |= (XAACopyROP_PM[rop] << 17) | MIX_MONO_PATT; + ps3v->AccelCmd |= (XAAGetCopyROP_PM(rop) << 17) | MIX_MONO_PATT; WAITFIFO(4); OUTREG(PAT_FG_CLR, planemask); OUTREG(MONO_PAT_0, ~0); OUTREG(MONO_PAT_1, ~0); } else { - ps3v->AccelCmd |= XAACopyROP[rop] << 17; + ps3v->AccelCmd |= XAAGetCopyROP(rop) << 17; WAITFIFO(1); } Index: hw/xfree86/drivers/s3virge/s3v_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/s3virge/s3v_driver.c,v retrieving revision 1.2 diff -u -r1.2 s3v_driver.c --- hw/xfree86/drivers/s3virge/s3v_driver.c 23 Apr 2004 19:43:44 -0000 1.2 +++ hw/xfree86/drivers/s3virge/s3v_driver.c 28 Jul 2004 05:46:14 -0000 @@ -283,8 +283,8 @@ }; static const char *xaaSymbols[] = { - "XAACopyROP", - "XAACopyROP_PM", + "XAAGetCopyROP", + "XAAGetCopyROP_PM", "XAADestroyInfoRec", "XAACreateInfoRec", "XAAHelpPatternROP", @@ -3990,7 +3990,8 @@ OUTREG(DDC_REG,(tmp | 0x12)); if ((pMon = xf86PrintEDID( - xf86DoEDID_DDC1(scrnIndex,vgaHWddc1SetSpeed,S3Vddc1Read))) != NULL) + xf86DoEDID_DDC1(scrnIndex,LoaderSymbol("vgaHWddc1SetSpeed"), + S3Vddc1Read))) != NULL) success = TRUE; xf86SetDDCproperties(pScrn,pMon); Index: hw/xfree86/drivers/savage/savage_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_accel.c,v retrieving revision 1.2 diff -u -r1.2 savage_accel.c --- hw/xfree86/drivers/savage/savage_accel.c 23 Apr 2004 19:44:35 -0000 1.2 +++ hw/xfree86/drivers/savage/savage_accel.c 28 Jul 2004 05:46:14 -0000 @@ -604,7 +604,7 @@ if(pm == infoRec->FullPlanemask) { if(!NO_SRC_ROP(*rop)) ret |= ROP_PAT; - *rop = XAACopyROP[*rop]; + *rop = XAAGetCopyROP(*rop); } else { switch(*rop) { case GXnoop: @@ -621,7 +621,7 @@ ret |= ROP_PAT | ROP_SRC; break; } - *rop = XAACopyROP_PM[*rop]; + *rop = XAAGetCopyROP_PM(*rop); } return ret; @@ -639,7 +639,7 @@ if(pm == infoRec->FullPlanemask) { if(!NO_SRC_ROP(*rop)) ret |= ROP_PAT; - *rop = XAACopyROP[*rop]; + *rop = XAAGetCopyROP(*rop); } else { switch(*rop) { case GXnoop: @@ -654,7 +654,7 @@ ret |= ROP_PAT | ROP_SRC; break; } - *rop = XAACopyROP_PM[*rop]; + *rop = XAAGetCopyROP_PM(*rop); } return ret; @@ -682,7 +682,7 @@ int cmd; cmd = BCI_CMD_RECT | BCI_CMD_DEST_GBD | BCI_CMD_SRC_GBD; - BCI_CMD_SET_ROP( cmd, XAACopyROP[rop] ); + BCI_CMD_SET_ROP( cmd, XAAGetCopyROP(rop) ); if (transparency_color != -1) cmd |= BCI_CMD_SEND_COLOR | BCI_CMD_SRC_TRANSPARENT; Index: hw/xfree86/drivers/savage/savage_dri.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_dri.c,v retrieving revision 1.1.3.1 diff -u -r1.1.3.1 savage_dri.c --- hw/xfree86/drivers/savage/savage_dri.c 16 Jun 2004 09:26:53 -0000 1.1.3.1 +++ hw/xfree86/drivers/savage/savage_dri.c 28 Jul 2004 05:46:15 -0000 @@ -1920,7 +1920,7 @@ int cmd =0; cmd = BCI_CMD_RECT | BCI_CMD_DEST_PBD | BCI_CMD_SRC_PBD_COLOR; - BCI_CMD_SET_ROP( cmd, XAACopyROP[rop] ); + BCI_CMD_SET_ROP( cmd, XAAGetCopyROP(rop) ); if (transparency_color != -1) cmd |= BCI_CMD_SEND_COLOR | BCI_CMD_SRC_TRANSPARENT; Index: hw/xfree86/drivers/savage/savage_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_driver.c,v retrieving revision 1.2 diff -u -r1.2 savage_driver.c --- hw/xfree86/drivers/savage/savage_driver.c 23 Apr 2004 19:44:35 -0000 1.2 +++ hw/xfree86/drivers/savage/savage_driver.c 28 Jul 2004 05:46:16 -0000 @@ -281,8 +281,8 @@ }; static const char *xaaSymbols[] = { - "XAACopyROP", - "XAACopyROP_PM", + "XAAGetCopyROP", + "XAAGetCopyROP_PM", "XAACreateInfoRec", "XAADestroyInfoRec", "XAAHelpPatternROP", @@ -3238,7 +3238,8 @@ OutI2CREG(psav,tmp | 0x12); if ((pMon = xf86PrintEDID( - xf86DoEDID_DDC1(scrnIndex,vgaHWddc1SetSpeed,SavageDDC1Read))) != NULL) + xf86DoEDID_DDC1(scrnIndex,LoaderSymbol("vgaHWddc1SetSpeed"), + SavageDDC1Read))) != NULL) success = TRUE; xf86SetDDCproperties(pScrn,pMon); Index: hw/xfree86/drivers/savage/savage_image.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/savage/savage_image.c,v retrieving revision 1.2 diff -u -r1.2 savage_image.c --- hw/xfree86/drivers/savage/savage_image.c 23 Apr 2004 19:44:35 -0000 1.2 +++ hw/xfree86/drivers/savage/savage_image.c 28 Jul 2004 05:46:16 -0000 @@ -102,7 +102,7 @@ cmd = BCI_CMD_RECT | BCI_CMD_RECT_XP | BCI_CMD_RECT_YP | BCI_CMD_SEND_COLOR | BCI_CMD_CLIP_LR | BCI_CMD_DEST_GBD | BCI_CMD_SRC_MONO; - cmd |= XAACopyROP[rop] << 16; + cmd |= XAAGetCopyROP(rop) << 16; if( bg == -1 ) cmd |= BCI_CMD_SRC_TRANSPARENT; @@ -160,7 +160,7 @@ | BCI_CMD_CLIP_LR | BCI_CMD_DEST_GBD | BCI_CMD_SRC_COLOR; - cmd |= XAACopyROP[rop] << 16; + cmd |= XAAGetCopyROP(rop) << 16; if( transparency_color != -1 ) cmd |= BCI_CMD_SRC_TRANSPARENT; Index: hw/xfree86/drivers/siliconmotion/smi_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_accel.c,v retrieving revision 1.2 diff -u -r1.2 smi_accel.c --- hw/xfree86/drivers/siliconmotion/smi_accel.c 23 Apr 2004 19:45:06 -0000 1.2 +++ hw/xfree86/drivers/siliconmotion/smi_accel.c 28 Jul 2004 05:46:16 -0000 @@ -361,9 +361,9 @@ DEBUG((VERBLEV, "xdir=%d ydir=%d rop=%02X trans=%08X\n", xdir, ydir, rop, trans)); - pSmi->AccelCmd = XAACopyROP[rop] - | SMI_BITBLT - | SMI_START_ENGINE; + pSmi->AccelCmd = XAAGetCopyROP(rop) + | SMI_BITBLT + | SMI_START_ENGINE; if ((xdir == -1) || (ydir == -1)) { @@ -446,9 +446,9 @@ ENTER_PROC("SMI_SetupForSolidFill"); DEBUG((VERBLEV, "color=%08X rop=%02X\n", color, rop)); - pSmi->AccelCmd = XAAPatternROP[rop] - | SMI_BITBLT - | SMI_START_ENGINE; + pSmi->AccelCmd = XAAGetPatternROP(rop) + | SMI_BITBLT + | SMI_START_ENGINE; if (pSmi->ClipTurnedOn) { @@ -551,10 +551,10 @@ ENTER_PROC("SMI_SetupForCPUToScreenColorExpandFill"); DEBUG((VERBLEV, "fg=%08X bg=%08X rop=%02X\n", fg, bg, rop)); - pSmi->AccelCmd = XAACopyROP[rop] - | SMI_HOSTBLT_WRITE - | SMI_SRC_MONOCHROME - | SMI_START_ENGINE; + pSmi->AccelCmd = XAAGetCopyROP(rop) + | SMI_HOSTBLT_WRITE + | SMI_SRC_MONOCHROME + | SMI_START_ENGINE; if (bg == -1) { @@ -638,9 +638,9 @@ DEBUG((VERBLEV, "patx=%08X paty=%08X fg=%08X bg=%08X rop=%02X\n", patx, paty, fg, bg, rop)); - pSmi->AccelCmd = XAAPatternROP[rop] - | SMI_BITBLT - | SMI_START_ENGINE; + pSmi->AccelCmd = XAAGetPatternROP(rop) + | SMI_BITBLT + | SMI_START_ENGINE; if (pSmi->ClipTurnedOn) { @@ -711,10 +711,10 @@ DEBUG((VERBLEV, "patx=%d paty=%d rop=%02X trans_color=%08X\n", patx, paty, rop, trans_color)); - pSmi->AccelCmd = XAAPatternROP[rop] - | SMI_BITBLT - | SMI_COLOR_PATTERN - | SMI_START_ENGINE; + pSmi->AccelCmd = XAAGetPatternROP(rop) + | SMI_BITBLT + | SMI_COLOR_PATTERN + | SMI_START_ENGINE; if (pScrn->bitsPerPixel <= 16) { @@ -803,9 +803,9 @@ DEBUG((VERBLEV, "rop=%02X trans_color=%08X bpp=%d depth=%d\n", rop, trans_color, bpp, depth)); - pSmi->AccelCmd = XAACopyROP[rop] - | SMI_HOSTBLT_WRITE - | SMI_START_ENGINE; + pSmi->AccelCmd = XAAGetCopyROP(rop) + | SMI_HOSTBLT_WRITE + | SMI_START_ENGINE; if (trans_color != -1) { @@ -1007,7 +1007,7 @@ ENTER_PROC("SMI_ValidatePolylines"); pSmi->ValidatePolylines(pGC, changes, pDraw); - if (pGC->ops->Polylines == XAAFallbackOps.Polylines) + if (pGC->ops->Polylines == XAAGetFallbackOps()->Polylines) { /* Override the Polylines function with our own Polylines function. */ pGC->ops->Polylines = SMI_Polylines; @@ -1027,7 +1027,7 @@ ENTER_PROC("SMI_Polylines"); /* Call the original Polylines function. */ - pGC->ops->Polylines = XAAFallbackOps.Polylines; + pGC->ops->Polylines = XAAGetFallbackOps()->Polylines; (*pGC->ops->Polylines)(pDraw, pGC, mode, npt, pptInit); pGC->ops->Polylines = SMI_Polylines; Index: hw/xfree86/drivers/siliconmotion/smi_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/siliconmotion/smi_driver.c,v retrieving revision 1.3 diff -u -r1.3 smi_driver.c --- hw/xfree86/drivers/siliconmotion/smi_driver.c 26 May 2004 16:24:09 -0000 1.3 +++ hw/xfree86/drivers/siliconmotion/smi_driver.c 28 Jul 2004 05:46:17 -0000 @@ -217,12 +217,12 @@ static const char *xaaSymbols[] = { - "XAACopyROP", + "XAAGetCopyROP", "XAACreateInfoRec", "XAADestroyInfoRec", - "XAAFallbackOps", + "XAAGetFallbackOps", "XAAInit", - "XAAPatternROP", + "XAAGetPatternROP", NULL }; @@ -3440,8 +3440,9 @@ tmp = VGAIN8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x72); VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x72, tmp | 0x20); - pMon = xf86PrintEDID(xf86DoEDID_DDC1(scrnIndex, vgaHWddc1SetSpeed, - SMI_ddc1Read)); + pMon = xf86PrintEDID(xf86DoEDID_DDC1(scrnIndex, + LoaderSymbol("vgaHWddc1SetSpeed"), + SMI_ddc1Read)); if (pMon != NULL) { success = TRUE; Index: hw/xfree86/drivers/sis/sis300_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/sis/sis300_accel.c,v retrieving revision 1.4 diff -u -r1.4 sis300_accel.c --- hw/xfree86/drivers/sis/sis300_accel.c 26 Jul 2004 22:40:56 -0000 1.4 +++ hw/xfree86/drivers/sis/sis300_accel.c 28 Jul 2004 05:46:17 -0000 @@ -389,7 +389,7 @@ SiSSetupSRCTrans(trans_color) SiSSetupCMDFlag(TRANSPARENT_BITBLT) } else { - SiSSetupROP(XAACopyROP[rop]) + SiSSetupROP(XAAGetCopyROP(rop)) } if(xdir > 0) { SiSSetupCMDFlag(X_INC) @@ -459,7 +459,7 @@ SiSSetupPATFG(color) SiSSetupDSTRect(pSiS->scrnOffset, -1) SiSSetupDSTColorDepth(pSiS->DstColor); - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) /* SiSSetupCMDFlag(PATFG) - is zero */ } @@ -617,7 +617,7 @@ SiSSetupPATFG(color) SiSSetupDSTRect(pSiS->scrnOffset, -1) SiSSetupDSTColorDepth(pSiS->DstColor); - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(PATFG | LINE) } @@ -707,7 +707,7 @@ SiSSetupStyleLow(*pattern) SiSSetupStyleHigh(*(pattern+4)) SiSSetupStylePeriod(length-1); - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupPATFG(fg) SiSSetupCMDFlag(LINE | LINE_STYLE) if(bg != -1) { @@ -768,7 +768,7 @@ SiSSetupDSTColorDepth(pSiS->DstColor); SiSSetupMONOPAT(patx,paty) SiSSetupPATFG(fg) - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(PATMONO) if(bg != -1) { SiSSetupPATBG(bg) @@ -902,7 +902,7 @@ SiSSetupDSTColorDepth(pSiS->DstColor); SiSSetupSRCXY(0,0) SiSSetupSRCFG(fg) - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(X_INC | Y_INC | COLOREXP) if(bg == -1) { SiSSetupCMDFlag(TRANSPARENT) @@ -954,7 +954,7 @@ SiSSetupDSTColorDepth(pSiS->DstColor) SiSSetupDSTRect(pSiS->scrnOffset, -1) - SiSSetupROP(XAACopyROP[rop]) + SiSSetupROP(XAAGetCopyROP(rop)) SiSSetupSRCFG(fg) /* SiSSetupSRCXY(0,0) */ @@ -1120,7 +1120,7 @@ while((MMIO_IN16(pSiS->IOBase, 0x8242) & 0x1F00) != 0) {} /* WDR: == 0x10 */ SiSSetupSRCXY(0,0); - SiSSetupROP(XAACopyROP[rop]); + SiSSetupROP(XAAGetCopyROP(rop)); SiSSetupSRCFG(fg); SiSSetupDSTRect(pSiS->scrnOffset, -1); SiSSetupDSTColorDepth(pSiS->DstColor); Index: hw/xfree86/drivers/sis/sis310_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/sis/sis310_accel.c,v retrieving revision 1.4 diff -u -r1.4 sis310_accel.c --- hw/xfree86/drivers/sis/sis310_accel.c 26 Jul 2004 22:40:56 -0000 1.4 +++ hw/xfree86/drivers/sis/sis310_accel.c 28 Jul 2004 05:46:18 -0000 @@ -554,7 +554,7 @@ SiSSetupSRCTrans(trans_color) SiSSetupCMDFlag(TRANSPARENT_BITBLT) } else { - SiSSetupROP(XAACopyROP[rop]) + SiSSetupROP(XAAGetCopyROP(rop)) /* Set command - not needed, both 0 */ /* SiSSetupCMDFlag(BITBLT | SRCVIDEO) */ } @@ -677,14 +677,14 @@ SiSSetupDSTColorDepth(pSiS->SiS310_AccelDepth); SiSCheckQueue(16 * 1); SiSSetupPATFGDSTRect(color, pSiS->scrnOffset, -1) - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(PATFG) SiSSyncWP #else SiSSetupPATFG(color) SiSSetupDSTRect(pSiS->scrnOffset, -1) SiSSetupDSTColorDepth(pSiS->DstColor); - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(PATFG | pSiS->SiS310_AccelDepth) #endif } @@ -822,7 +822,7 @@ SiSCheckQueue(16 * 3); SiSSetupLineCountPeriod(1, 1) SiSSetupPATFGDSTRect(color, pSiS->scrnOffset, -1) - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(PATFG | LINE) SiSSyncWP #else @@ -830,7 +830,7 @@ SiSSetupPATFG(color) SiSSetupDSTRect(pSiS->scrnOffset, -1) SiSSetupDSTColorDepth(pSiS->DstColor) - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(PATFG | LINE | pSiS->SiS310_AccelDepth) #endif } @@ -942,7 +942,7 @@ SiSSetupPATFG(fg) #endif - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(LINE | LINE_STYLE) @@ -1022,7 +1022,7 @@ SiSSetupMONOPAT(patx,paty) - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) #ifdef SISVRAMQ SiSSetupCMDFlag(PATMONO) @@ -1181,7 +1181,7 @@ patadr += 16; /* = 64 due to (CARD32 *) */ } - SiSSetupROP(XAAPatternROP[rop]) + SiSSetupROP(XAAGetPatternROP(rop)) SiSSetupCMDFlag(PATPATREG) @@ -1240,7 +1240,7 @@ #ifdef SISVRAMQ SiSSetupDSTColorDepth(pSiS->SiS310_AccelDepth); - SiSSetupROP(XAACopyROP[rop]); + SiSSetupROP(XAAGetCopyROP(rop)); SiSSetupSRCFGDSTRect(fg, pSiS->scrnOffset, -1) if(bg == -1) { SiSSetupCMDFlag(TRANSPARENT | ENCOLOREXP | SRCVIDEO); @@ -1251,7 +1251,7 @@ SiSSyncWP #else SiSSetupSRCXY(0,0); - SiSSetupROP(XAACopyROP[rop]); + SiSSetupROP(XAAGetCopyROP(rop)); SiSSetupSRCFG(fg); SiSSetupDSTRect(pSiS->scrnOffset, -1); SiSSetupDSTColorDepth(pSiS->DstColor); @@ -1352,7 +1352,7 @@ #endif SiSSetupSRCXY(0,0); - SiSSetupROP(XAACopyROP[rop]); + SiSSetupROP(XAAGetCopyROP(rop)); SiSSetupSRCFG(fg); SiSSetupDSTRect(pSiS->scrnOffset, -1); #ifndef SISVRAMQ @@ -1480,7 +1480,7 @@ SiSSetupDSTColorDepth(pSiS->DstColor) #endif SiSSetupDSTRect(pSiS->scrnOffset, -1) - SiSSetupROP(XAACopyROP[rop]) + SiSSetupROP(XAAGetCopyROP(rop)) SiSSetupSRCFG(fg) /* SiSSetupSRCXY(0,0) */ Index: hw/xfree86/drivers/sis/sis_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_accel.c,v retrieving revision 1.3 diff -u -r1.3 sis_accel.c --- hw/xfree86/drivers/sis/sis_accel.c 17 Jun 2004 13:20:13 -0000 1.3 +++ hw/xfree86/drivers/sis/sis_accel.c 28 Jul 2004 05:46:18 -0000 @@ -272,7 +272,7 @@ sisBLTSync; sisSETPITCH(pSiS->scrnOffset, pSiS->scrnOffset); - sisSETROP(XAACopyROP[rop]); + sisSETROP(XAAGetCopyROP(rop)); pSiS->Xdirection = xdir; pSiS->Ydirection = ydir; } @@ -329,8 +329,8 @@ SISPtr pSiS = SISPTR(pScrn); sisBLTSync; - sisSETBGROPCOL(XAACopyROP[rop], color); - sisSETFGROPCOL(XAACopyROP[rop], color); + sisSETBGROPCOL(XAAGetCopyROP(rop), color); + sisSETFGROPCOL(XAAGetCopyROP(rop), color); sisSETPITCH(pSiS->scrnOffset, pSiS->scrnOffset); } @@ -436,8 +436,8 @@ SISPtr pSiS = SISPTR(pScrn); sisBLTSync; - sisSETBGROPCOL(XAACopyROP[rop], 0); - sisSETFGROPCOL(XAACopyROP[rop], color); + sisSETBGROPCOL(XAAGetCopyROP(rop), 0); + sisSETFGROPCOL(XAAGetCopyROP(rop), color); } static void SiSSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn, @@ -539,11 +539,11 @@ sisSETROPBG(0xAA); /* dst = dst (=noop) */ pSiS->CommandReg |= sisSRCFG; } else { - sisSETBGROPCOL(XAAPatternROP[rop], bg); + sisSETBGROPCOL(XAAGetPatternROP(rop), bg); pSiS->CommandReg |= sisSRCFG | sisPATBG; } - sisSETFGROPCOL(XAACopyROP[rop], fg); + sisSETFGROPCOL(XAAGetCopyROP(rop), fg); sisSETDSTPITCH(pSiS->scrnOffset); } Index: hw/xfree86/drivers/sis/sis_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/sis/sis_driver.c,v retrieving revision 1.10 diff -u -r1.10 sis_driver.c --- hw/xfree86/drivers/sis/sis_driver.c 26 Jul 2004 22:40:56 -0000 1.10 +++ hw/xfree86/drivers/sis/sis_driver.c 28 Jul 2004 05:46:21 -0000 @@ -178,7 +178,8 @@ }; static const char *xaaSymbols[] = { - "XAACopyROP", + "XAAGetCopyROP", + "XAAGetPatternROP", "XAACreateInfoRec", "XAADestroyInfoRec", "XAAHelpPatternROP", Index: hw/xfree86/drivers/tga/tga_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/tga/tga_driver.c,v retrieving revision 1.2 diff -u -r1.2 tga_driver.c --- hw/xfree86/drivers/tga/tga_driver.c 23 Apr 2004 19:50:24 -0000 1.2 +++ hw/xfree86/drivers/tga/tga_driver.c 28 Jul 2004 05:46:22 -0000 @@ -189,7 +189,7 @@ static const char *xaaSymbols[] = { "XAACreateInfoRec", "XAADestroyInfoRec", - "XAAGCIndex", + "XAAGetGCIndex", "XAAInit", NULL }; Index: hw/xfree86/drivers/tga/tga_line.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/tga/tga_line.c,v retrieving revision 1.2 diff -u -r1.2 tga_line.c --- hw/xfree86/drivers/tga/tga_line.c 23 Apr 2004 19:50:24 -0000 1.2 +++ hw/xfree86/drivers/tga/tga_line.c 28 Jul 2004 05:46:22 -0000 @@ -413,7 +413,7 @@ #endif ){ XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_GC(pGC); - XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGCIndex].ptr; + XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGetGCIndex()].ptr; BoxPtr pboxInit = REGION_RECTS(pGC->pCompositeClip); int nboxInit = REGION_NUM_RECTS(pGC->pCompositeClip); unsigned int bias = miGetZeroLineBias(pDrawable->pScreen); Index: hw/xfree86/drivers/trident/blade_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/trident/blade_accel.c,v retrieving revision 1.2 diff -u -r1.2 blade_accel.c --- hw/xfree86/drivers/trident/blade_accel.c 23 Apr 2004 19:52:01 -0000 1.2 +++ hw/xfree86/drivers/trident/blade_accel.c 28 Jul 2004 05:46:22 -0000 @@ -292,7 +292,7 @@ pTrident->BltScanDirection |= 1<<5; } #endif - BLADE_OUT(0x2148, XAACopyROP[rop]); + BLADE_OUT(0x2148, XAAGetCopyROP(rop)); } static void @@ -345,7 +345,7 @@ REPLICATE(color); BLADE_OUT(0x2160, color); - BLADE_OUT(0x2148, XAACopyROP[rop]); + BLADE_OUT(0x2148, XAAGetCopyROP(rop)); pTrident->BltScanDirection = 0; REPLICATE(planemask); if (planemask != -1) { @@ -435,7 +435,7 @@ REPLICATE(bg); BLADE_OUT(0x2160, fg); BLADE_OUT(0x2164, bg); - BLADE_OUT(0x2148, XAACopyROP[rop]); + BLADE_OUT(0x2148, XAAGetCopyROP(rop)); pTrident->BltScanDirection = 0; REPLICATE(planemask); if (planemask != -1) { @@ -471,7 +471,7 @@ REPLICATE(color); BLADE_OUT(0x2160, color); - BLADE_OUT(0x2148, XAACopyROP[rop]); + BLADE_OUT(0x2148, XAAGetCopyROP(rop)); pTrident->BltScanDirection = 0; #if 0 REPLICATE(planemask); @@ -506,7 +506,7 @@ REPLICATE(fg); IMAGE_OUT(0x44, fg); IMAGE_OUT(0x48, bg); - IMAGE_OUT(0x20, 0x90000000 | XAACopyROP[rop]); + IMAGE_OUT(0x20, 0x90000000 | XAAGetCopyROP(rop)); pTrident->BltScanDirection = 0; REPLICATE(planemask); if (planemask != -1) { @@ -538,7 +538,7 @@ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); pTrident->BltScanDirection = 0; - BLADE_OUT(0x2148, XAACopyROP[rop]); + BLADE_OUT(0x2148, XAAGetCopyROP(rop)); if (bg == -1) { pTrident->BltScanDirection |= 2<<19; REPLICATE(fg); @@ -581,7 +581,7 @@ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); BladeSync(pScrn); - BLADE_OUT(0x2148, XAAPatternROP[rop]); + BLADE_OUT(0x2148, XAAGetPatternROP(rop)); if (bg == -1) { REPLICATE(fg); @@ -645,7 +645,7 @@ BLADE_OUT(0x2168, transparency_color & 0xffffff); pTrident->BltScanDirection |= 1<<6; } - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); REPLICATE(planemask); if (planemask != -1) { BLADE_OUT(0x2184, ~planemask); @@ -677,7 +677,7 @@ ){ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); - BLADE_OUT(0x2148, XAACopyROP[rop]); + BLADE_OUT(0x2148, XAAGetCopyROP(rop)); pTrident->BltScanDirection = 0; #if 0 REPLICATE(planemask); Index: hw/xfree86/drivers/trident/image_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/trident/image_accel.c,v retrieving revision 1.2 diff -u -r1.2 image_accel.c --- hw/xfree86/drivers/trident/image_accel.c 23 Apr 2004 19:52:01 -0000 1.2 +++ hw/xfree86/drivers/trident/image_accel.c 28 Jul 2004 05:46:22 -0000 @@ -296,7 +296,7 @@ if ((xdir < 0) || (ydir < 0)) pTrident->BltScanDirection |= 1<<2; IMAGE_OUT(0x2120, 0x80000000); - IMAGE_OUT(0x2120, 0x90000000 | XAACopyROP[rop]); + IMAGE_OUT(0x2120, 0x90000000 | XAAGetCopyROP(rop)); if (transparency_color != -1) { IMAGE_OUT(0x2120, 0x70000000 | 1<<26 | (transparency_color&0xffffff)); @@ -354,7 +354,7 @@ REPLICATE(color); IMAGE_OUT(0x2120, 0x84000000); - IMAGE_OUT(0x2120, 0x90000000 | XAACopyROP[rop]); + IMAGE_OUT(0x2120, 0x90000000 | XAAGetCopyROP(rop)); IMAGE_OUT(0x2144, color); } @@ -406,7 +406,7 @@ REPLICATE(color); IMAGE_OUT(0x2120, 0x80000000); - IMAGE_OUT(0x2120, 0x90000000 | XAACopyROP[rop]); + IMAGE_OUT(0x2120, 0x90000000 | XAAGetCopyROP(rop)); IMAGE_OUT(0x2144, color); } @@ -468,7 +468,7 @@ { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); - IMAGE_OUT(0x2120, 0x90000000 | XAAPatternROP[rop]); + IMAGE_OUT(0x2120, 0x90000000 | XAAGetPatternROP(rop)); if (bg == -1) { REPLICATE(fg); IMAGE_OUT(0x2120, 0x80000000 | 1<<27); @@ -512,7 +512,7 @@ { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); - IMAGE_OUT(0x2120, 0x90000000 | XAAPatternROP[rop]); + IMAGE_OUT(0x2120, 0x90000000 | XAAGetPatternROP(rop)); IMAGE_OUT(0x2120, 0x80000000 | 1<<26); if (transparency_color != -1) { IMAGE_OUT(0x2120, 0x70000000 | 1<<26 | (transparency_color&0xffffff)); @@ -548,7 +548,7 @@ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); IMAGE_OUT(0x2120, 0x80000000); - IMAGE_OUT(0x2120, 0x90000000 | XAACopyROP[rop]); + IMAGE_OUT(0x2120, 0x90000000 | XAAGetCopyROP(rop)); if (bg == -1) { pTrident->ROP = 2<<22; REPLICATE(fg); @@ -599,7 +599,7 @@ int bpp, int depth) { TRIDENTPtr pTrident = TRIDENTPTR(pScrn); - IMAGE_OUT(0x2120, 0x90000000 | XAACopyROP[rop]); + IMAGE_OUT(0x2120, 0x90000000 | XAAGetCopyROP(rop)); if (transparency_color != -1) { IMAGE_OUT(0x2120, 0x70000000 | 1<<26 | (transparency_color&0xffffff)); pTrident->DstEnable = TRUE; Index: hw/xfree86/drivers/trident/trident_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_accel.c,v retrieving revision 1.2 diff -u -r1.2 trident_accel.c --- hw/xfree86/drivers/trident/trident_accel.c 23 Apr 2004 19:52:01 -0000 1.2 +++ hw/xfree86/drivers/trident/trident_accel.c 28 Jul 2004 05:46:22 -0000 @@ -292,7 +292,7 @@ } TGUI_DRAWFLAG(pTrident->DrawFlag | pTrident->BltScanDirection | SCR2SCR | dst); - TGUI_FMIX(XAACopyROP[rop]); + TGUI_FMIX(XAAGetCopyROP(rop)); } static void @@ -324,7 +324,7 @@ pTrident->BltScanDirection = 0; REPLICATE(color); - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); if (pTrident->Chipset == PROVIDIA9685 || pTrident->Chipset == CYBER9388) { TGUI_FPATCOL(color); @@ -411,7 +411,7 @@ TGUI_BCOLOUR(bg); } } - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); pTrident->LinePattern = NiceDashPattern; } @@ -445,7 +445,7 @@ int drawflag = 0; REPLICATE(color); - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); if (pTrident->Chipset == PROVIDIA9685 || pTrident->Chipset == CYBER9388) { TGUI_FPATCOL(color); @@ -536,7 +536,7 @@ TGUI_DRAWFLAG(pTrident->DrawFlag | PAT2SCR | PATMONO | drawflag); TGUI_PATLOC(((patterny * pTrident->PatternLocation) + (patternx * pScrn->bitsPerPixel / 8)) >> 6); - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); } static void @@ -578,7 +578,7 @@ TGUI_DRAWFLAG(pTrident->DrawFlag | PAT2SCR | drawflag); TGUI_PATLOC(((patterny * pTrident->PatternLocation) + (patternx * pScrn->bitsPerPixel / 8)) >> 6); - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); } static void @@ -619,7 +619,7 @@ TGUI_SRC_XY(0,0); TGUI_DRAWFLAG(drawflag); - TGUI_FMIX(XAACopyROP[rop]); + TGUI_FMIX(XAAGetCopyROP(rop)); } static void Index: hw/xfree86/drivers/trident/trident_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/trident/trident_driver.c,v retrieving revision 1.2 diff -u -r1.2 trident_driver.c --- hw/xfree86/drivers/trident/trident_driver.c 23 Apr 2004 19:52:01 -0000 1.2 +++ hw/xfree86/drivers/trident/trident_driver.c 28 Jul 2004 05:46:23 -0000 @@ -477,11 +477,11 @@ #endif static const char *xaaSymbols[] = { - "XAACopyROP", + "XAAGetCopyROP", "XAACreateInfoRec", "XAADestroyInfoRec", "XAAInit", - "XAAPatternROP", + "XAAGetPatternROP", NULL }; @@ -2034,7 +2034,8 @@ if (!pScrn->progClock) { pScrn->numClocks = NoClocks; xf86GetClocks(pScrn, NoClocks, TRIDENTClockSelect, - vgaHWProtect, vgaHWBlankScreen, + LoaderSymbol("vgaHWProtect"), + LoaderSymbol("vgaHWBlankScreen"), vgaIOBase + 0x0A, 0x08, 1, 28322); from = X_PROBED; xf86ShowClocks(pScrn, from); Index: hw/xfree86/drivers/trident/xp_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/trident/xp_accel.c,v retrieving revision 1.2 diff -u -r1.2 xp_accel.c --- hw/xfree86/drivers/trident/xp_accel.c 23 Apr 2004 19:52:01 -0000 1.2 +++ hw/xfree86/drivers/trident/xp_accel.c 28 Jul 2004 05:46:23 -0000 @@ -268,7 +268,7 @@ } TGUI_DRAWFLAG(pTrident->BltScanDirection | SCR2SCR | dst); - TGUI_FMIX(XAACopyROP[rop]); + TGUI_FMIX(XAAGetCopyROP(rop)); } static void @@ -301,7 +301,7 @@ pTrident->BltScanDirection = 0; REPLICATE(color); - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); if (pTrident->Chipset >= PROVIDIA9685) { TGUI_FPATCOL(color); } else { @@ -388,7 +388,7 @@ TGUI_BCOLOUR(bg); } } - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); pTrident->LinePattern = NiceDashPattern; } @@ -421,7 +421,7 @@ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); REPLICATE(color); - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); MMIO_OUT32(pTrident->IOBase, 0x2158, color); TGUI_DRAWFLAG(SOLIDFILL); } @@ -516,7 +516,7 @@ TGUI_DRAWFLAG(PATMONO | drawflag); MMIO_OUT32(pTrident->IOBase, 0x2180, patternx); MMIO_OUT32(pTrident->IOBase, 0x2184, patterny); - TGUI_FMIX(XAAPatternROP[rop]); + TGUI_FMIX(XAAGetPatternROP(rop)); } static void @@ -543,7 +543,7 @@ ){ TRIDENTPtr pTrident = TRIDENTPTR(pScrn); - TGUI_FMIX(XAACopyROP[rop]); + TGUI_FMIX(XAAGetCopyROP(rop)); if (bg == -1) { TGUI_DRAWFLAG(SRCMONO | 1<<12); REPLICATE(fg); Index: hw/xfree86/drivers/vesa/vesa.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/vesa/vesa.c,v retrieving revision 1.2 diff -u -r1.2 vesa.c --- hw/xfree86/drivers/vesa/vesa.c 23 Apr 2004 19:52:54 -0000 1.2 +++ hw/xfree86/drivers/vesa/vesa.c 28 Jul 2004 05:46:24 -0000 @@ -909,17 +909,17 @@ if (mode->MemoryModel == 3) { /* Planar */ if (pScrn->bitsPerPixel == 8) - update = shadowUpdatePlanar4x8; + update = LoaderSymbol("shadowUpdatePlanar4x8"); else - update = shadowUpdatePlanar4; + update = LoaderSymbol("shadowUpdatePlanar4"); window = VESAWindowPlanar; } else if (pVesa->mapPhys == 0xa0000) { /* Windowed */ - update = shadowUpdatePacked; + update = LoaderSymbol("shadowUpdatePacked"); window = VESAWindowWindowed; } else { /* Linear */ - update = shadowUpdatePacked; + update = LoaderSymbol("shadowUpdatePacked"); window = VESAWindowLinear; } Index: hw/xfree86/drivers/via/via_accel.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/via/via_accel.c,v retrieving revision 1.2 diff -u -r1.2 via_accel.c --- hw/xfree86/drivers/via/via_accel.c 23 Apr 2004 19:53:54 -0000 1.2 +++ hw/xfree86/drivers/via/via_accel.c 28 Jul 2004 05:46:24 -0000 @@ -606,7 +606,7 @@ VIAPtr pVia = VIAPTR(pScrn); int cmd; - cmd = VIA_GEC_BLT | (XAACopyROP[rop] << 24); + cmd = VIA_GEC_BLT | (XAAGetCopyROP(rop) << 24); if (xdir < 0) cmd |= VIA_GEC_DECX; @@ -681,7 +681,7 @@ VIAPtr pVia = VIAPTR(pScrn); int cmd; - cmd = VIA_GEC_BLT | VIA_GEC_FIXCOLOR_PAT | (XAAPatternROP[rop] << 24); + cmd = VIA_GEC_BLT | VIA_GEC_FIXCOLOR_PAT | (XAAGetPatternROP(rop) << 24); pVia->SavedCmd = cmd; pVia->SavedFgColor = color; @@ -741,7 +741,7 @@ int cmd; cmd = VIA_GEC_BLT | VIA_GEC_PAT_REG | VIA_GEC_PAT_MONO | - (XAAPatternROP[rop] << 24); + (XAAGetPatternROP(rop) << 24); if (bg == -1) { /* transparent mono pattern */ @@ -803,7 +803,7 @@ VIAPtr pVia = VIAPTR(pScrn); int cmd; - cmd = VIA_GEC_BLT | (XAAPatternROP[rop] << 24); + cmd = VIA_GEC_BLT | (XAAGetPatternROP(rop) << 24); pVia->SavedCmd = cmd; pVia->SavedPatternAddr = (patternx * pVia->Bpp + patterny * pVia->Bpl); @@ -854,7 +854,7 @@ int cmd; cmd = VIA_GEC_BLT | VIA_GEC_SRC_SYS | VIA_GEC_SRC_MONO | - (XAACopyROP[rop] << 24); + (XAAGetCopyROP(rop) << 24); if (bg == -1) { cmd |= VIA_GEC_MSRC_TRANS; @@ -914,7 +914,7 @@ VIAPtr pVia = VIAPTR(pScrn); int cmd; - cmd = VIA_GEC_BLT | VIA_GEC_SRC_MONO | (XAACopyROP[rop] << 24); + cmd = VIA_GEC_BLT | VIA_GEC_SRC_MONO | (XAAGetCopyROP(rop) << 24); if (bg == -1) { cmd |= VIA_GEC_MSRC_TRANS; @@ -980,7 +980,7 @@ /* We don't record bpp and depth because we assume bpp is equal to bpp of screen. Is this assume correct ? */ - cmd = VIA_GEC_BLT | VIA_GEC_SRC_SYS | (XAACopyROP[rop] << 24); + cmd = VIA_GEC_BLT | VIA_GEC_SRC_SYS | (XAAGetCopyROP(rop) << 24); pVia->SavedCmd = cmd; @@ -1038,7 +1038,7 @@ int cmd; /* we move VIA_GEC_LINE from here to the place firing command */ - cmd = VIA_GEC_FIXCOLOR_PAT | (XAAPatternROP[rop] << 24); + cmd = VIA_GEC_FIXCOLOR_PAT | (XAAGetPatternROP(rop) << 24); pVia->SavedCmd = cmd; pVia->SavedFgColor = color; @@ -1151,7 +1151,7 @@ int cmd; CARD32 pat = *(CARD32 *)pattern; - cmd = VIA_GEC_LINE | VIA_GEC_FIXCOLOR_PAT | (XAAPatternROP[rop] << 24); + cmd = VIA_GEC_LINE | VIA_GEC_FIXCOLOR_PAT | (XAAGetPatternROP(rop) << 24); if (bg == -1) { /* transparent mono pattern */ Index: hw/xfree86/drivers/via/via_driver.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/via/via_driver.c,v retrieving revision 1.2 diff -u -r1.2 via_driver.c --- hw/xfree86/drivers/via/via_driver.c 23 Apr 2004 19:53:54 -0000 1.2 +++ hw/xfree86/drivers/via/via_driver.c 28 Jul 2004 05:46:25 -0000 @@ -243,9 +243,9 @@ }; static const char *xaaSymbols[] = { - "XAACopyROP", - "XAACopyROP_PM", - "XAAPatternROP", + "XAAGetCopyROP", + "XAAGetCopyROP_PM", + "XAAGetPatternROP", "XAACreateInfoRec", "XAADestroyInfoRec", "XAAInit", @@ -649,7 +649,8 @@ VGAOUT8(0x3c5, (tmp | 0x11)); if ((pMon = xf86PrintEDID( - xf86DoEDID_DDC1(scrnIndex,vgaHWddc1SetSpeed,VIAddc1Read))) != NULL) + xf86DoEDID_DDC1(scrnIndex,LoaderSymbol("vgaHWddc1SetSpeed"), + VIAddc1Read))) != NULL) success = TRUE; xf86SetDDCproperties(pScrn,pMon); Index: hw/xfree86/fbdevhw/fbdevhw.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.c,v retrieving revision 1.3 diff -u -r1.3 fbdevhw.c --- hw/xfree86/fbdevhw/fbdevhw.c 6 May 2004 17:31:17 -0000 1.3 +++ hw/xfree86/fbdevhw/fbdevhw.c 28 Jul 2004 05:46:25 -0000 @@ -880,3 +880,12 @@ return TRUE; } + +void +fbdevHWFillInScreenInfo(ScrnInfoPtr pScrn) { + pScrn->SwitchMode = fbdevHWSwitchMode; + pScrn->AdjustFrame = fbdevHWAdjustFrame; + pScrn->EnterVT = fbdevHWEnterVT; + pScrn->LeaveVT = fbdevHWLeaveVT; + pScrn->ValidMode = fbdevHWValidMode; +} Index: hw/xfree86/fbdevhw/fbdevhw.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/fbdevhw/fbdevhw.h,v retrieving revision 1.2 diff -u -r1.2 fbdevhw.h --- hw/xfree86/fbdevhw/fbdevhw.h 23 Apr 2004 19:54:01 -0000 1.2 +++ hw/xfree86/fbdevhw/fbdevhw.h 28 Jul 2004 05:46:25 -0000 @@ -49,4 +49,6 @@ Bool fbdevHWSaveScreen(ScreenPtr pScreen, int mode); +void fbdevHWFillInScreenInfo(ScrnInfoPtr pScrn); + #endif Index: hw/xfree86/xaa/xaaFallback.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaaFallback.c,v retrieving revision 1.2 diff -u -r1.2 xaaFallback.c --- hw/xfree86/xaa/xaaFallback.c 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaaFallback.c 28 Jul 2004 05:46:26 -0000 @@ -347,6 +347,7 @@ {NULL} /* devPrivate */ }; - - - +GCOps *XAAGetFallbackOps(void) +{ + return &XAAFallbackOps; +} Index: hw/xfree86/xaa/xaaInit.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaaInit.c,v retrieving revision 1.2 diff -u -r1.2 xaaInit.c --- hw/xfree86/xaa/xaaInit.c 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaaInit.c 28 Jul 2004 05:46:26 -0000 @@ -40,11 +40,29 @@ static void XAAEnableDisableFBAccess (int index, Bool enable); static Bool XAAChangeWindowAttributes (WindowPtr pWin, unsigned long mask); +/* + * XXX These three should be static, but that breaks ABI compat with XF4.4 + * and Xorg 6.7.0 modules. DO NOT use them in new code, you should never + * be setting them, and you've got Get functions below. + */ int XAAScreenIndex = -1; int XAAGCIndex = -1; int XAAPixmapIndex = -1; + static unsigned long XAAGeneration = 0; +int XAAGetScreenIndex(void) { + return XAAScreenIndex; +} + +int XAAGetGCIndex(void) { + return XAAGCIndex; +} + +int XAAGetPixmapIndex(void) { + return XAAPixmapIndex; +} + /* temp kludge */ static Bool SwitchedOut = FALSE; Index: hw/xfree86/xaa/xaaROP.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaaROP.c,v retrieving revision 1.2 diff -u -r1.2 xaaROP.c --- hw/xfree86/xaa/xaaROP.c 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaaROP.c 28 Jul 2004 05:46:26 -0000 @@ -94,6 +94,25 @@ ROP_DPo }; +int XAAGetCopyROP(int i) +{ + return XAACopyROP[i]; +} + +int XAAGetCopyROP_PM(int i) +{ + return XAACopyROP_PM[i]; +} + +int XAAGetPatternROP(int i) +{ + return XAAPatternROP[i]; +} + +int XAAGetPatternROP_PM(int i) +{ + return XAAPatternROP_PM[i]; +} int XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop) Index: hw/xfree86/xaa/xaalocal.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaalocal.h,v retrieving revision 1.2 diff -u -r1.2 xaalocal.h --- hw/xfree86/xaa/xaalocal.h 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaalocal.h 28 Jul 2004 05:46:26 -0000 @@ -1623,13 +1623,17 @@ ); #endif - +/* XXX should be static */ extern GCOps XAAFallbackOps; +extern GCOps *XAAGetFallbackOps(void); extern GCFuncs XAAGCFuncs; -extern int XAAScreenIndex; -extern int XAAGCIndex; -extern int XAAPixmapIndex; +extern int XAAScreenIndex; /* XXX DONTUSE */ +extern int XAAGCIndex; /* XXX DONTUSE */ +extern int XAAPixmapIndex; /* XXX DONTUSE */ +extern int XAAGetScreenIndex(void); +extern int XAAGetGCIndex(void); +extern int XAAGetPixmapIndex(void); extern unsigned int XAAShiftMasks[32]; @@ -1638,28 +1642,28 @@ CARD32 XAAReverseBitOrder(CARD32 data); #define GET_XAASCREENPTR_FROM_SCREEN(pScreen)\ - (pScreen)->devPrivates[XAAScreenIndex].ptr + (pScreen)->devPrivates[XAAGetScreenIndex()].ptr #define GET_XAASCREENPTR_FROM_GC(pGC)\ - (pGC)->pScreen->devPrivates[XAAScreenIndex].ptr + (pGC)->pScreen->devPrivates[XAAGetScreenIndex()].ptr #define GET_XAASCREENPTR_FROM_DRAWABLE(pDraw)\ - (pDraw)->pScreen->devPrivates[XAAScreenIndex].ptr + (pDraw)->pScreen->devPrivates[XAAGetScreenIndex()].ptr #define GET_XAAINFORECPTR_FROM_SCREEN(pScreen)\ - ((XAAScreenPtr)((pScreen)->devPrivates[XAAScreenIndex].ptr))->AccelInfoRec + ((XAAScreenPtr)((pScreen)->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec #define GET_XAAINFORECPTR_FROM_GC(pGC)\ -((XAAScreenPtr)((pGC)->pScreen->devPrivates[XAAScreenIndex].ptr))->AccelInfoRec +((XAAScreenPtr)((pGC)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec #define GET_XAAINFORECPTR_FROM_DRAWABLE(pDraw)\ -((XAAScreenPtr)((pDraw)->pScreen->devPrivates[XAAScreenIndex].ptr))->AccelInfoRec +((XAAScreenPtr)((pDraw)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec #define GET_XAAINFORECPTR_FROM_SCRNINFOPTR(pScrn)\ -((XAAScreenPtr)((pScrn)->pScreen->devPrivates[XAAScreenIndex].ptr))->AccelInfoRec +((XAAScreenPtr)((pScrn)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec #define XAA_GET_PIXMAP_PRIVATE(pix)\ - (XAAPixmapPtr)((pix)->devPrivates[XAAPixmapIndex].ptr) + (XAAPixmapPtr)((pix)->devPrivates[XAAGetPixmapIndex()].ptr) #define CHECK_RGB_EQUAL(c) (!((((c) >> 8) ^ (c)) & 0xffff)) Index: hw/xfree86/xaa/xaarop.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaarop.h,v retrieving revision 1.2 diff -u -r1.2 xaarop.h --- hw/xfree86/xaa/xaarop.h 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaarop.h 28 Jul 2004 05:46:26 -0000 @@ -299,9 +299,15 @@ int XAAHelpSolidROP(ScrnInfoPtr pScrn, int *fg, int pm, int *rop); int XAAHelpPatternROP(ScrnInfoPtr pScrn, int *fg, int *bg, int pm, int *rop); +/* XXX These four should be static, but it breaks the 6.7.0 ABI. */ extern int XAACopyROP[16]; extern int XAACopyROP_PM[16]; extern int XAAPatternROP[16]; extern int XAAPatternROP_PM[16]; +extern int XAAGetCopyROP(int i); +extern int XAAGetCopyROP_PM(int i); +extern int XAAGetPatternROP(int i); +extern int XAAGetPatternROP_PM(int i); + #endif /* _XAAROP_H */ Index: hw/xfree86/xaa/xaawrap.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xaa/xaawrap.h,v retrieving revision 1.2 diff -u -r1.2 xaawrap.h --- hw/xfree86/xaa/xaawrap.h 23 Apr 2004 19:54:16 -0000 1.2 +++ hw/xfree86/xaa/xaawrap.h 28 Jul 2004 05:46:26 -0000 @@ -2,14 +2,14 @@ #define XAA_SCREEN_PROLOGUE(pScreen, field)\ ((pScreen)->field = \ - ((XAAScreenPtr) (pScreen)->devPrivates[XAAScreenIndex].ptr)->field) + ((XAAScreenPtr) (pScreen)->devPrivates[XAAGetScreenIndex()].ptr)->field) #define XAA_SCREEN_EPILOGUE(pScreen, field, wrapper)\ ((pScreen)->field = wrapper) #define XAA_GC_FUNC_PROLOGUE(pGC)\ - XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGCIndex].ptr;\ + XAAGCPtr pGCPriv = (XAAGCPtr) (pGC)->devPrivates[XAAGetGCIndex()].ptr;\ (pGC)->funcs = pGCPriv->wrapFuncs;\ if(pGCPriv->flags)\ (pGC)->ops = pGCPriv->wrapOps @@ -25,13 +25,13 @@ #define XAA_GC_OP_PROLOGUE(pGC)\ - XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGCIndex].ptr);\ + XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGetGCIndex()].ptr);\ GCFuncs *oldFuncs = pGC->funcs;\ pGC->funcs = pGCPriv->wrapFuncs;\ pGC->ops = pGCPriv->wrapOps #define XAA_GC_OP_PROLOGUE_WITH_RETURN(pGC)\ - XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGCIndex].ptr);\ + XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGetGCIndex()].ptr);\ GCFuncs *oldFuncs = pGC->funcs;\ if(!REGION_NUM_RECTS(pGC->pCompositeClip)) return; \ pGC->funcs = pGCPriv->wrapFuncs;\ @@ -45,7 +45,7 @@ #define XAA_PIXMAP_OP_PROLOGUE(pGC, pDraw)\ - XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGCIndex].ptr);\ + XAAGCPtr pGCPriv = (XAAGCPtr)(pGC->devPrivates[XAAGetGCIndex()].ptr);\ XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\ GCFuncs *oldFuncs = pGC->funcs;\ pGC->funcs = pGCPriv->wrapFuncs;\ @@ -61,7 +61,7 @@ #ifdef RENDER #define XAA_RENDER_PROLOGUE(pScreen,field)\ (GetPictureScreen(pScreen)->field = \ - ((XAAScreenPtr) (pScreen)->devPrivates[XAAScreenIndex].ptr)->field) + ((XAAScreenPtr) (pScreen)->devPrivates[XAAGetScreenIndex()].ptr)->field) #define XAA_RENDER_EPILOGUE(pScreen, field, wrapper)\ (GetPictureScreen(pScreen)->field = wrapper) @@ -71,7 +71,7 @@ #define SYNC_CHECK(pGC) {\ XAAInfoRecPtr infoRec =\ -((XAAScreenPtr)((pGC)->pScreen->devPrivates[XAAScreenIndex].ptr))->AccelInfoRec;\ +((XAAScreenPtr)((pGC)->pScreen->devPrivates[XAAGetScreenIndex()].ptr))->AccelInfoRec;\ if(infoRec->NeedToSync) {\ (*infoRec->Sync)(infoRec->pScrn);\ infoRec->NeedToSync = FALSE;\ Index: hw/xfree86/xf1bpp/mfbmap.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf1bpp/mfbmap.h,v retrieving revision 1.2 diff -u -r1.2 mfbmap.h --- hw/xfree86/xf1bpp/mfbmap.h 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf1bpp/mfbmap.h 28 Jul 2004 05:46:26 -0000 @@ -34,13 +34,20 @@ #define mfbDoBitbltGeneral xf1bppDoBitbltGeneral #define mfbDoBitbltOr xf1bppDoBitbltOr #define mfbDoBitbltXor xf1bppDoBitbltXor +#define mfbFillInScreen xf1bppFillInScreen #define mfbFillPolyBlack xf1bppFillPolyBlack #define mfbFillPolyInvert xf1bppFillPolyInvert #define mfbFillPolyWhite xf1bppFillPolyWhite #define mfbGCPrivateIndex xf1bppGCPrivateIndex +#define mfbGetGCPrivateIndex xf1bppGetGCPrivateIndex #define mfbGetImage xf1bppGetImage #define mfbGetSpans xf1bppGetSpans #define mfbGetWindowPixmap xf1bppGetWindowPixmap +#define mfbGetWindowPrivateIndex xf1bppGetWindowPrivateIndex +#define mfbGetmask xf1bppGetmask +#define mfbGetrmask xf1bppGetrmask +#define mfbGetstarttab xf1bppGetstarttab +#define mfbGetendtab xf1bppGetendtab #define mfbHorzS xf1bppHorzS #define mfbImageGlyphBltBlack xf1bppImageGlyphBltBlack #define mfbImageGlyphBltWhite xf1bppImageGlyphBltWhite Index: hw/xfree86/xf4bpp/mfbbres.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/mfbbres.c,v retrieving revision 1.2 diff -u -r1.2 mfbbres.c --- hw/xfree86/xf4bpp/mfbbres.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/mfbbres.c 28 Jul 2004 05:46:26 -0000 @@ -79,8 +79,8 @@ register PixelType *addrl; /* bitmask long pointer *dont* * cast to char pointer */ register PixelType bit; /* current bit being set/cleared/etc. */ - PixelType leftbit = mask[0]; /* leftmost bit to process in new word */ - PixelType rightbit = mask[PPW-1]; /* rightmost bit to process in new word */ + PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */ + PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */ register int e3 = e2-e1; @@ -88,7 +88,7 @@ addrl = mfbScanline(addrlbase, x1, y1, nlwidth); yinc = signdy * nlwidth; e = e-e1; /* to make looping easier */ - bit = mask[x1 & PIM]; + bit = mfbGetmask(x1 & PIM); if (!len) return; Index: hw/xfree86/xf4bpp/mfbbresd.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/mfbbresd.c,v retrieving revision 1.2 diff -u -r1.2 mfbbresd.c --- hw/xfree86/xf4bpp/mfbbresd.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/mfbbresd.c 28 Jul 2004 05:46:26 -0000 @@ -102,8 +102,8 @@ register PixelType *addrl; register int e3 = e2-e1; register unsigned long bit; - PixelType leftbit = mask[0]; /* leftmost bit to process in new word */ - PixelType rightbit = mask[PPW-1]; /* rightmost bit to process in new word */ + PixelType leftbit = mfbGetmask(0); /* leftmost bit to process in new word */ + PixelType rightbit = mfbGetmask(PPW-1); /* rightmost bit to process in new word */ int dashIndex; int dashOffset; int dashRemaining; @@ -125,7 +125,7 @@ addrl = mfbScanline(addrlbase, x1, y1, nlwidth); yinc = signdy * nlwidth; e = e-e1; /* to make looping easier */ - bit = mask[x1 & PIM]; + bit = mfbGetmask(x1 & PIM); if (axis == X_AXIS) { if (signdx > 0) Index: hw/xfree86/xf4bpp/mfbfillarc.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/mfbfillarc.c,v retrieving revision 1.2 diff -u -r1.2 mfbfillarc.c --- hw/xfree86/xf4bpp/mfbfillarc.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/mfbfillarc.c 28 Jul 2004 05:46:26 -0000 @@ -252,7 +252,7 @@ mfbPrivGC *priv; int rop; - priv = (mfbPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr; + priv = (mfbPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr; rop = priv->rop; if ((rop == RROP_NOP) || !(pGC->planemask & 1)) #else Index: hw/xfree86/xf4bpp/mfbhrzvert.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/mfbhrzvert.c,v retrieving revision 1.2 diff -u -r1.2 mfbhrzvert.c --- hw/xfree86/xf4bpp/mfbhrzvert.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/mfbhrzvert.c 28 Jul 2004 05:46:26 -0000 @@ -128,6 +128,6 @@ len = -len; } - bitmask = mask[x1 & PIM]; + bitmask = mfbGetmask(x1 & PIM); Duff(len, UPDRW(addrl,bitmask); addrl += nlwidth); } Index: hw/xfree86/xf4bpp/mfbimggblt.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/mfbimggblt.c,v retrieving revision 1.2 diff -u -r1.2 mfbimggblt.c --- hw/xfree86/xf4bpp/mfbimggblt.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/mfbimggblt.c 28 Jul 2004 05:46:27 -0000 @@ -148,7 +148,7 @@ backrect.height = FONTASCENT(pGC->font) + FONTDESCENT(pGC->font); - pPrivGC = pGC->devPrivates[mfbGCPrivateIndex].ptr; + pPrivGC = pGC->devPrivates[mfbGetGCPrivateIndex()].ptr; oldfillStyle = pPrivGC->colorRrop.fillStyle; /* GJA */ oldfg = pPrivGC->colorRrop.fgPixel; /* GJA */ oldalu = pPrivGC->colorRrop.alu; /* GJA */ @@ -243,7 +243,7 @@ /* UNCLEAN CODE we know the mfbPolyFillRect uses only three fields in - devPrivate[mfbGCPrivateIndex].ptr, two of which (the rotated + devPrivate[mfbGetGCPrivateIndex()].ptr, two of which (the rotated tile/stipple and the ropFillArea) are irrelevant for solid filling, so we just poke the FillArea field. the GC is now in an inconsistent state, but we'll fix @@ -253,7 +253,7 @@ NOTE: if you are not using the standard mfbFillRectangle code, you need to poke any fields in the GC the rectangle stuff need - (probably alu, fgPixel, and fillStyle) and in devPrivate[mfbGCPrivateIndex].ptr + (probably alu, fgPixel, and fillStyle) and in devPrivate[mfbGetGCPrivateIndex()].ptr (probably rop or ropFillArea.) You could just call ValidateGC, but that is usually not a cheap thing to do. */ Index: hw/xfree86/xf4bpp/mfbline.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/mfbline.c,v retrieving revision 1.2 diff -u -r1.2 mfbline.c --- hw/xfree86/xf4bpp/mfbline.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/mfbline.c 28 Jul 2004 05:46:27 -0000 @@ -466,9 +466,9 @@ PixelType _mask; if (alu == RROP_BLACK) - _mask = rmask[x2 & PIM]; + _mask = mfbGetrmask(x2 & PIM); else - _mask = mask[x2 & PIM]; + _mask = mfbGetmask(x2 & PIM); nbox = nboxInit; pbox = pboxInit; @@ -797,7 +797,7 @@ { unsigned long _mask; - _mask = mask[x2 & PIM]; + _mask = mfbGetmask(x2 & PIM); addrl = mfbScanline(addrl, x2, y2, nlwidth); UPDRW(addrl,_mask); break; Index: hw/xfree86/xf4bpp/mfbzerarc.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/mfbzerarc.c,v retrieving revision 1.2 diff -u -r1.2 mfbzerarc.c --- hw/xfree86/xf4bpp/mfbzerarc.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/mfbzerarc.c 28 Jul 2004 05:46:27 -0000 @@ -108,7 +108,7 @@ int pmask; register int *paddr; - if (((mfbPrivGC *)(pGC->devPrivates[mfbGCPrivateIndex].ptr))->rop == + if (((mfbPrivGC *)(pGC->devPrivates[mfbGetGCPrivateIndex()].ptr))->rop == RROP_BLACK) pixel = 0; else Index: hw/xfree86/xf4bpp/ppcArea.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcArea.c,v retrieving revision 1.2 diff -u -r1.2 ppcArea.c --- hw/xfree86/xf4bpp/ppcArea.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcArea.c 28 Jul 2004 05:46:27 -0000 @@ -47,7 +47,7 @@ unsigned long int fg, bg, pm ; int xSrc, ySrc ; PixmapPtr pPixmap ; -ppcPrivGC *pPrivGC = pGC->devPrivates[mfbGCPrivateIndex].ptr; +ppcPrivGC *pPrivGC = pGC->devPrivates[mfbGetGCPrivateIndex()].ptr; TRACE( ( "xf4bppFillArea(0x%x,%d,0x%x,0x%x)\n", pWin, nboxes, pBox, pGC ) ) ; Index: hw/xfree86/xf4bpp/ppcGC.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcGC.c,v retrieving revision 1.2 diff -u -r1.2 ppcGC.c --- hw/xfree86/xf4bpp/ppcGC.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcGC.c 28 Jul 2004 05:46:27 -0000 @@ -184,7 +184,7 @@ * a pointer to a ppcPrivGC in its slot. */ *pPriv = vgaPrototypeGCPriv; - (pGC->devPrivates[mfbGCPrivateIndex].ptr) = (pointer) pPriv; + (pGC->devPrivates[mfbGetGCPrivateIndex()].ptr) = (pointer) pPriv; /* Set the vgaGCOps */ *pOps = vgaGCOps; @@ -210,7 +210,7 @@ if ( pGC->freeCompClip && pGC->pCompositeClip ) REGION_DESTROY(pGC->pScreen, pGC->pCompositeClip); if(pGC->ops->devPrivate.val) xfree( pGC->ops ); - xfree( pGC->devPrivates[mfbGCPrivateIndex].ptr ) ; + xfree( pGC->devPrivates[mfbGetGCPrivateIndex()].ptr ) ; return ; } @@ -221,7 +221,7 @@ register Mask changes ) { -register ppcPrivGCPtr devPriv = (ppcPrivGCPtr) (pGC->devPrivates[mfbGCPrivateIndex].ptr ) ; +register ppcPrivGCPtr devPriv = (ppcPrivGCPtr) (pGC->devPrivates[mfbGetGCPrivateIndex()].ptr ) ; register unsigned long int idx ; /* used for stepping through bitfields */ #define LOWBIT( x ) ( x & - x ) /* Two's complement */ @@ -303,7 +303,7 @@ register ppcPrivGCPtr devPriv ; WindowPtr pWin ; - devPriv = (ppcPrivGCPtr) (pGC->devPrivates[mfbGCPrivateIndex].ptr ) ; + devPriv = (ppcPrivGCPtr) (pGC->devPrivates[mfbGetGCPrivateIndex()].ptr ) ; if ( pDrawable->type != devPriv->lastDrawableType ) { devPriv->lastDrawableType = pDrawable->type ; Index: hw/xfree86/xf4bpp/ppcIO.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcIO.c,v retrieving revision 1.2 diff -u -r1.2 ppcIO.c --- hw/xfree86/xf4bpp/ppcIO.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcIO.c 28 Jul 2004 05:46:27 -0000 @@ -209,22 +209,16 @@ pScreen-> CreateWindow = xf4bppCreateWindowForXYhardware; pScreen-> DestroyWindow = xf4bppDestroyWindow; pScreen-> PositionWindow = xf4bppPositionWindow; - pScreen-> ChangeWindowAttributes = mfbChangeWindowAttributes; - pScreen-> RealizeWindow = mfbMapWindow; - pScreen-> UnrealizeWindow = mfbUnmapWindow; pScreen-> PaintWindowBackground = xf4bppPaintWindow; pScreen-> PaintWindowBorder = xf4bppPaintWindow; pScreen-> CopyWindow = xf4bppCopyWindow; pScreen-> CreatePixmap = xf4bppCreatePixmap; - pScreen-> DestroyPixmap = mfbDestroyPixmap; pScreen-> SaveDoomedAreas = (SaveDoomedAreasProcPtr)NoopDDA; pScreen-> RestoreAreas = (RestoreAreasProcPtr)NoopDDA; pScreen-> ExposeCopy = (ExposeCopyProcPtr)NoopDDA; pScreen-> TranslateBackingStore = (TranslateBackingStoreProcPtr)NoopDDA; pScreen-> ClearBackingStore = (ClearBackingStoreProcPtr)NoopDDA; pScreen-> DrawGuarantee = (DrawGuaranteeProcPtr)NoopDDA; - pScreen-> RealizeFont = mfbRealizeFont; - pScreen-> UnrealizeFont = mfbUnrealizeFont; pScreen-> CreateGC = xf4bppCreateGC; pScreen-> CreateColormap = xf4bppInitializeColormap; pScreen-> DestroyColormap = (DestroyColormapProcPtr)NoopDDA; @@ -233,7 +227,7 @@ pScreen-> ListInstalledColormaps = miListInstalledColormaps; pScreen-> StoreColors = (StoreColorsProcPtr)NoopDDA; pScreen-> ResolveColor = xf4bppResolveColor; - pScreen-> BitmapToRegion = mfbPixmapToRegion; + mfbFillInScreen(pScreen); if (!mfbAllocatePrivates(pScreen, (int*)NULL, (int*)NULL)) return FALSE; Index: hw/xfree86/xf4bpp/ppcPixFS.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcPixFS.c,v retrieving revision 1.2 diff -u -r1.2 ppcPixFS.c --- hw/xfree86/xf4bpp/ppcPixFS.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcPixFS.c 28 Jul 2004 05:46:27 -0000 @@ -122,7 +122,7 @@ return ; } - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; n = nInit * miFindMaxBand(pGC->pCompositeClip) ; @@ -140,8 +140,8 @@ n = miClipSpans( pGC->pCompositeClip, pptInit, pwidthInit, nInit, ppt, pwidth, fSorted ) ; - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; - fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.fgPixel ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; + fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.fgPixel ; npm = ( ~ pm ) & ( ( 1 << pDrawable->depth ) - 1 ) ; for ( ; n-- ; ppt++, pwidth++ ) { @@ -257,14 +257,14 @@ return ; } - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, pptFree, pwidth, ppt, fSorted ) ; - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; - fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.fgPixel ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; + fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.fgPixel ; pTile = pGC->stipple ; tlwidth = pTile->devKind ; @@ -356,15 +356,15 @@ return ; } - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, pptFree, pwidth, ppt, fSorted ) ; - fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.fgPixel ; - bg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.bgPixel ; - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; + fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.fgPixel ; + bg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.bgPixel ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; npm = ( ~ pm ) & ( ( 1 << pDrawable->depth ) - 1 ) ; pTile = pGC->stipple ; @@ -459,14 +459,14 @@ return ; } - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, pptFree, pwidth, ppt, fSorted ) ; /* the following code is for 8 bits per pixel addressable memory only */ - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; npm = ( ~ pm ) & ( ( 1 << pDrawable->depth ) - 1 ) ; pTile = pGC->tile.pixmap ; tileWidth = pTile->drawable.width ; Index: hw/xfree86/xf4bpp/ppcPntWin.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcPntWin.c,v retrieving revision 1.2 diff -u -r1.2 ppcPntWin.c --- hw/xfree86/xf4bpp/ppcPntWin.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcPntWin.c 28 Jul 2004 05:46:27 -0000 @@ -98,7 +98,7 @@ { register mfbPrivWin *pPrivWin; - pPrivWin = (mfbPrivWin *)(pWin->devPrivates[mfbWindowPrivateIndex].ptr); + pPrivWin = (mfbPrivWin *)(pWin->devPrivates[mfbGetWindowPrivateIndex()].ptr); TRACE(("xf4bppPaintWindow( pWin= 0x%x, pRegion= 0x%x, what= %d )\n", pWin,pRegion,what)); Index: hw/xfree86/xf4bpp/ppcPolyPnt.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcPolyPnt.c,v retrieving revision 1.2 diff -u -r1.2 ppcPolyPnt.c --- hw/xfree86/xf4bpp/ppcPolyPnt.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcPolyPnt.c 28 Jul 2004 05:46:27 -0000 @@ -100,7 +100,7 @@ return ; } -devPriv = (ppcPrivGC *) ( pGC->devPrivates[mfbGCPrivateIndex].ptr ) ; +devPriv = (ppcPrivGC *) ( pGC->devPrivates[mfbGetGCPrivateIndex()].ptr ) ; if ( ( alu = devPriv->colorRrop.alu ) == GXnoop ) return ; Index: hw/xfree86/xf4bpp/ppcWinFS.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcWinFS.c,v retrieving revision 1.2 diff -u -r1.2 ppcWinFS.c --- hw/xfree86/xf4bpp/ppcWinFS.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcWinFS.c 28 Jul 2004 05:46:27 -0000 @@ -94,7 +94,7 @@ return ; } - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; n = nInit * miFindMaxBand( pGC->pCompositeClip ) ; @@ -112,8 +112,8 @@ n = miClipSpans( pGC->pCompositeClip, pptInit, pwidthInit, nInit, ppt, pwidth, fSorted ) ; - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; - fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.fgPixel ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; + fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.fgPixel ; for ( ; n-- ; ppt++, pwidth++ ) if ( *pwidth ) @@ -161,14 +161,14 @@ return ; } - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, pptFree, pwidth, ppt, fSorted ) ; - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; - fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.fgPixel ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; + fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.fgPixel ; xSrc = pGC->patOrg.x + pDrawable->x ; ySrc = pGC->patOrg.y + pDrawable->y ; @@ -213,15 +213,15 @@ return ; } - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, pptFree, pwidth, ppt, fSorted ) ; - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; - fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.fgPixel ; - bg = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.bgPixel ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; + fg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.fgPixel ; + bg = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.bgPixel ; xSrc = pGC->patOrg.x + pDrawable->x ; ySrc = pGC->patOrg.y + pDrawable->y ; @@ -258,7 +258,7 @@ TRACE( ( "xf4bppTileWindowFS(pDrawable=0x%x,pGC=0x%x,nInit=%d,pptInit=0x%x,pwidthInit=0x%x,fSorted=%d)\n", pDrawable, pGC, nInit, pptInit, pwidthInit, fSorted ) ) ; - if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.alu ) == GXnoop ) + if ( ( alu = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.alu ) == GXnoop ) return ; SETSPANPTRS( nInit, n, pwidthInit, pwidthFree, pptInit, @@ -266,7 +266,7 @@ xSrc = pGC->patOrg.x + pDrawable->x ; ySrc = pGC->patOrg.y + pDrawable->y ; - pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGCPrivateIndex].ptr )->colorRrop.planemask ; + pm = ( (ppcPrivGC *) pGC->devPrivates[mfbGetGCPrivateIndex()].ptr )->colorRrop.planemask ; for ( ; n-- ; ppt++, pwidth++ ) xf4bppTileRect( (WindowPtr)pDrawable, pGC->tile.pixmap, alu, pm, Index: hw/xfree86/xf4bpp/ppcWindow.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/ppcWindow.c,v retrieving revision 1.2 diff -u -r1.2 ppcWindow.c --- hw/xfree86/xf4bpp/ppcWindow.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/ppcWindow.c 28 Jul 2004 05:46:27 -0000 @@ -214,7 +214,7 @@ TRACE(("xf4bppCreateWindowForXYhardware (pWin= 0x%x)\n", pWin)); - pPrivWin = (mfbPrivWin *)(pWin->devPrivates[mfbWindowPrivateIndex].ptr); + pPrivWin = (mfbPrivWin *)(pWin->devPrivates[mfbGetWindowPrivateIndex()].ptr); pPrivWin->pRotatedBorder = NullPixmap; pPrivWin->pRotatedBackground = NullPixmap; pPrivWin->fastBackground = 0; Index: hw/xfree86/xf4bpp/vgaGC.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf4bpp/vgaGC.c,v retrieving revision 1.2 diff -u -r1.2 vgaGC.c --- hw/xfree86/xf4bpp/vgaGC.c 23 Apr 2004 19:54:17 -0000 1.2 +++ hw/xfree86/xf4bpp/vgaGC.c 28 Jul 2004 05:46:28 -0000 @@ -106,7 +106,7 @@ register GC *pGC ; register Mask changes ; { -register ppcPrivGCPtr devPriv = (ppcPrivGCPtr) (pGC->devPrivates[mfbGCPrivateIndex].ptr) ; +register ppcPrivGCPtr devPriv = (ppcPrivGCPtr) (pGC->devPrivates[mfbGetGCPrivateIndex()].ptr) ; register unsigned long int idx ; /* used for stepping through bitfields */ #define LOWBIT( x ) ( x & - x ) /* Two's complement */ Index: hw/xfree86/xf8_16bpp/cfb8_16.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf8_16bpp/cfb8_16.h,v retrieving revision 1.2 diff -u -r1.2 cfb8_16.h --- hw/xfree86/xf8_16bpp/cfb8_16.h 23 Apr 2004 19:54:20 -0000 1.2 +++ hw/xfree86/xf8_16bpp/cfb8_16.h 28 Jul 2004 05:46:28 -0000 @@ -14,7 +14,8 @@ unsigned char key; } cfb8_16ScreenRec, *cfb8_16ScreenPtr; -extern int cfb8_16ScreenPrivateIndex; +extern int cfb8_16ScreenPrivateIndex; /* XXX */ +extern int cfb8_16GetScreenPrivateIndex(void); Bool cfb8_16ScreenInit ( @@ -64,6 +65,6 @@ ); #define CFB8_16_GET_SCREEN_PRIVATE(pScreen)\ - (cfb8_16ScreenPtr)((pScreen)->devPrivates[cfb8_16ScreenPrivateIndex].ptr) + (cfb8_16ScreenPtr)((pScreen)->devPrivates[cfb8_16GetScreenPrivateIndex()].ptr) #endif /* _CFB8_16_H */ Index: hw/xfree86/xf8_16bpp/cfbscrinit.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf8_16bpp/cfbscrinit.c,v retrieving revision 1.2 diff -u -r1.2 cfbscrinit.c --- hw/xfree86/xf8_16bpp/cfbscrinit.c 23 Apr 2004 19:54:20 -0000 1.2 +++ hw/xfree86/xf8_16bpp/cfbscrinit.c 28 Jul 2004 05:46:28 -0000 @@ -34,6 +34,8 @@ int cfb8_16ScreenPrivateIndex; +int cfb8_16GetScreenPrivateIndex(void) { return cfb8_16ScreenPrivateIndex; } + static unsigned long cfb8_16Generation = 0; static PixmapPtr cfb8_16GetWindowPixmap(WindowPtr pWin); Index: hw/xfree86/xf8_32bpp/cfb8_32.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfb8_32.h,v retrieving revision 1.2 diff -u -r1.2 cfb8_32.h --- hw/xfree86/xf8_32bpp/cfb8_32.h 23 Apr 2004 19:54:21 -0000 1.2 +++ hw/xfree86/xf8_32bpp/cfb8_32.h 28 Jul 2004 05:46:28 -0000 @@ -19,8 +19,10 @@ } cfb8_32ScreenRec, *cfb8_32ScreenPtr; -extern int cfb8_32GCPrivateIndex; -extern int cfb8_32ScreenPrivateIndex; +extern int cfb8_32GCPrivateIndex; /* XXX */ +extern int cfb8_32GetGCPrivateIndex(void); +extern int cfb8_32ScreenPrivateIndex; /* XXX */ +extern int cfb8_32GetScreenPrivateIndex(void); void cfb8_32SaveAreas( @@ -212,10 +214,10 @@ #define CFB8_32_GET_GC_PRIVATE(pGC)\ - (cfb8_32GCPtr)((pGC)->devPrivates[cfb8_32GCPrivateIndex].ptr) + (cfb8_32GCPtr)((pGC)->devPrivates[cfb8_32GetGCPrivateIndex()].ptr) #define CFB8_32_GET_SCREEN_PRIVATE(pScreen)\ - (cfb8_32ScreenPtr)((pScreen)->devPrivates[cfb8_32ScreenPrivateIndex].ptr) + (cfb8_32ScreenPtr)((pScreen)->devPrivates[cfb8_32GetScreenPrivateIndex()].ptr) Bool xf86Overlay8Plus32Init (ScreenPtr pScreen); Index: hw/xfree86/xf8_32bpp/cfbscrinit.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf8_32bpp/cfbscrinit.c,v retrieving revision 1.2 diff -u -r1.2 cfbscrinit.c --- hw/xfree86/xf8_32bpp/cfbscrinit.c 23 Apr 2004 19:54:21 -0000 1.2 +++ hw/xfree86/xf8_32bpp/cfbscrinit.c 28 Jul 2004 05:46:28 -0000 @@ -38,7 +38,9 @@ int cfb8_32GCPrivateIndex; +int cfb8_32GetGCPrivateIndex(void) { return cfb8_32GCPrivateIndex; } int cfb8_32ScreenPrivateIndex; +int cfb8_32GetScreenPrivateIndex(void) { return cfb8_32ScreenPrivateIndex; } static unsigned long cfb8_32Generation = 0; static Bool Index: hw/xfree86/xf8_32wid/cfb8_32wid.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf8_32wid/cfb8_32wid.h,v retrieving revision 1.2 diff -u -r1.2 cfb8_32wid.h --- hw/xfree86/xf8_32wid/cfb8_32wid.h 23 Apr 2004 19:54:21 -0000 1.2 +++ hw/xfree86/xf8_32wid/cfb8_32wid.h 28 Jul 2004 05:46:28 -0000 @@ -27,7 +27,8 @@ cfb8_32WidOps *WIDOps; } cfb8_32WidScreenRec, *cfb8_32WidScreenPtr; -extern int cfb8_32WidScreenPrivateIndex; +extern int cfb8_32WidScreenPrivateIndex; /* XXX */ +extern int cfb8_32WidGetScreenPrivateIndex(void); Bool cfb8_32WidScreenInit ( @@ -88,6 +89,6 @@ cfb8_32WidGenericOpsInit(cfb8_32WidScreenPtr pScreenPriv); #define CFB8_32WID_GET_SCREEN_PRIVATE(pScreen)\ - (cfb8_32WidScreenPtr)((pScreen)->devPrivates[cfb8_32WidScreenPrivateIndex].ptr) + (cfb8_32WidScreenPtr)((pScreen)->devPrivates[cfb8_32WidGetScreenPrivateIndex()].ptr) #endif /* _CFB8_32WID_H */ Index: hw/xfree86/xf8_32wid/cfbscrinit.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/hw/xfree86/xf8_32wid/cfbscrinit.c,v retrieving revision 1.2 diff -u -r1.2 cfbscrinit.c --- hw/xfree86/xf8_32wid/cfbscrinit.c 23 Apr 2004 19:54:21 -0000 1.2 +++ hw/xfree86/xf8_32wid/cfbscrinit.c 28 Jul 2004 05:46:28 -0000 @@ -36,6 +36,10 @@ compiled with CFB_NEED_SCREEN_PRIVATE */ int cfb8_32WidScreenPrivateIndex; +int cfb8_32WidGetScreenPrivateIndex(void) +{ + return cfb8_32WidScreenPrivateIndex; +} static unsigned long cfb8_32WidGeneration = 0; extern WindowPtr *WindowTable; Index: mfb/maskbits.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/mfb/maskbits.c,v retrieving revision 1.2 diff -u -r1.2 maskbits.c --- mfb/maskbits.c 23 Apr 2004 19:54:25 -0000 1.2 +++ mfb/maskbits.c 28 Jul 2004 05:46:28 -0000 @@ -1003,6 +1003,12 @@ #undef _1_ +PixelType mfbGetmask(int i) { return mask[i]; } +PixelType mfbGetrmask(int i) { return rmask[i]; } +PixelType mfbGetstarttab(int i) { return starttab[i]; } +PixelType mfbGetendtab(int i) { return endtab[i]; } +PixelType mfbGetpartmasks(int i, int j) { return partmasks[i][j]; } + /* * Merge raster ops for full src + dest + plane mask * Index: mfb/maskbits.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/mfb/maskbits.h,v retrieving revision 1.2 diff -u -r1.2 maskbits.h --- mfb/maskbits.h 23 Apr 2004 19:54:25 -0000 1.2 +++ mfb/maskbits.h 28 Jul 2004 05:46:29 -0000 @@ -224,11 +224,18 @@ #define MFB_PWSH 5 #endif /* MFB_PPW == 32 */ +/* XXX don't use these five */ extern PixelType starttab[]; extern PixelType endtab[]; extern PixelType partmasks[MFB_PPW][MFB_PPW]; extern PixelType rmask[]; extern PixelType mask[]; +/* XXX use these five */ +extern PixelType mfbGetstarttab(int); +extern PixelType mfbGetendtab(int); +extern PixelType mfbGetpartmasks(int, int); +extern PixelType mfbGetrmask(int); +extern PixelType mfbGetmask(int); #ifndef MFB_CONSTS_ONLY @@ -304,19 +311,19 @@ } #define maskbits(x, w, startmask, endmask, nlw) \ - startmask = starttab[(x) & PIM]; \ - endmask = endtab[((x)+(w)) & PIM]; \ + startmask = mfbGetstarttab((x) & PIM); \ + endmask = mfbGetendtab(((x)+(w)) & PIM); \ if (startmask) \ nlw = (((w) - (PPW - ((x) & PIM))) >> PWSH); \ else \ nlw = (w) >> PWSH; #define maskpartialbits(x, w, mask) \ - mask = partmasks[(x) & PIM][(w) & PIM]; + mask = mfbGetpartmasks((x) & PIM, (w) & PIM); #define maskPPWbits(x, w, startmask, endmask) \ - startmask = starttab[(x) & PIM]; \ - endmask = endtab[((x)+(w)) & PIM]; + startmask = mfbGetstarttab((x) & PIM); \ + endmask = mfbGetendtab(((x)+(w)) & PIM); #ifdef __GNUC__ /* XXX don't want for Alpha? */ #ifdef vax @@ -390,8 +397,8 @@ { \ register int d = PPW-(x); \ *(pdst) = (*(pdst) & endtab[x]) | (SCRRIGHT((src), x)); \ - (pdst)[1] = ((pdst)[1] & starttab[n]) | \ - (SCRLEFT(src, d) & endtab[n]); \ + (pdst)[1] = ((pdst)[1] & mfbGetstarttab(n)) | \ + (SCRLEFT(src, d) & mfbGetendtab(n)); \ } \ } @@ -440,10 +447,10 @@ else \ { \ int m = PPW-(x); \ - *(pdst) = (*(pdst) & endtab[x]) | (t2 & starttab[x]); \ + *(pdst) = (*(pdst) & mfbGetendtab(x)) | (t2 & mfbGetstarttab(x)); \ t1 = SCRLEFT((src), m); \ DoRop(t2, rop, t1, (pdst)[1]); \ - (pdst)[1] = ((pdst)[1] & starttab[n]) | (t2 & endtab[n]); \ + (pdst)[1] = ((pdst)[1] & mfbGetstarttab(n)) | (t2 & mfbGetendtab(n)); \ } \ } @@ -514,10 +521,10 @@ else \ { \ int m = PPW-(x); \ - *(pdst) = (*(pdst) & endtab[x]) | (t2 & starttab[x]); \ + *(pdst) = (*(pdst) & mfbGetendtab(x)) | (t2 & mfbGetstarttab(x)); \ t1 = SCRLEFT((src), m); \ t2 = DoRRop(rop, t1, (pdst)[1]); \ - (pdst)[1] = ((pdst)[1] & starttab[n]) | (t2 & endtab[n]); \ + (pdst)[1] = ((pdst)[1] & mfbGetstarttab(n)) | (t2 & mfbGetendtab(n)); \ } \ } #endif @@ -645,7 +652,7 @@ if ((width) > _flag) \ _src |= SCRRIGHT (*((psrc) + 1), _flag); \ \ - *(pdst) = (*(pdst) & starttab[(width)]) | (_src & endtab[(width)]); \ + *(pdst) = (*(pdst) & mfbGetstarttab((width))) | (_src & mfbGetendtab((width))); \ } @@ -659,7 +666,7 @@ _src |= SCRRIGHT (*((psrc) + 1), _flag); \ DoRop(_src, rop, _src, *(pdst)); \ \ - *(pdst) = (*(pdst) & starttab[(width)]) | (_src & endtab[(width)]); \ + *(pdst) = (*(pdst) & mfbGetstarttab((width))) | (_src & mfbGetendtab((width))); \ } #define getandputrrop0(psrc, sbindex, width, pdst, rop) \ @@ -672,7 +679,7 @@ _src |= SCRRIGHT (*((psrc) + 1), _flag); \ _src = DoRRop(rop, _src, *(pdst)); \ \ - *(pdst) = (*(pdst) & starttab[(width)]) | (_src & endtab[(width)]); \ + *(pdst) = (*(pdst) & mfbGetstarttab((width))) | (_src & mfbGetendtab((width))); \ } #endif /* FASTGETBITS && FASTPUTBITS */ Index: mfb/mfb.h =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfb.h,v retrieving revision 1.2 diff -u -r1.2 mfb.h --- mfb/mfb.h 23 Apr 2004 19:54:25 -0000 1.2 +++ mfb/mfb.h 28 Jul 2004 05:46:29 -0000 @@ -713,6 +713,8 @@ PixmapPtr /*pPix*/ ); +extern void mfbFillInScreen(ScreenPtr pScreen); + /* mfbseg.c */ extern void mfbSegmentSS( @@ -874,10 +876,14 @@ typedef mfbPrivGC *mfbPrivGCPtr; #endif +/* XXX these should be static, but it breaks the ABI */ extern int mfbGCPrivateIndex; /* index into GC private array */ +extern int mfbGetGCPrivateIndex(void); extern int mfbWindowPrivateIndex; /* index into Window private array */ +extern int mfbGetWindowPrivateIndex(void); #ifdef PIXMAP_PER_WINDOW extern int frameWindowPrivateIndex; /* index into Window private array */ +extern int frameGetWindowPrivateIndex(void); #endif #ifndef MFB_PROTOTYPES_ONLY Index: mfb/mfbscrinit.c =================================================================== RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfbscrinit.c,v retrieving revision 1.2 diff -u -r1.2 mfbscrinit.c --- mfb/mfbscrinit.c 23 Apr 2004 19:54:25 -0000 1.2 +++ mfb/mfbscrinit.c 28 Jul 2004 05:46:29 -0000 @@ -65,9 +65,12 @@ #ifdef PIXMAP_PER_WINDOW int frameWindowPrivateIndex; +int frameGetWindowPrivateIndex(void) { return frameWindowPrivateIndex; } #endif int mfbWindowPrivateIndex; +int mfbGetWindowPrivateIndex(void) { return mfbWindowPrivateIndex; } int mfbGCPrivateIndex; +int mfbGetGCPrivateIndex(void) { return mfbGCPrivateIndex; } static unsigned long mfbGeneration = 0; static VisualRec visual = { @@ -195,3 +198,13 @@ #endif } +void mfbFillInScreen(ScreenPtr pScreen) +{ + pScreen->ChangeWindowAttributes = mfbChangeWindowAttributes; + pScreen->RealizeWindow = mfbMapWindow; + pScreen->UnrealizeWindow = mfbUnmapWindow; + pScreen->DestroyPixmap = mfbDestroyPixmap; + pScreen->RealizeFont = mfbRealizeFont; + pScreen->UnrealizeFont = mfbUnrealizeFont; + pScreen->BitmapToRegion = mfbPixmapToRegion; +}