diff --git a/hw/xfree86/fbdevhw/fbdevhwstub.c b/hw/xfree86/fbdevhw/fbdevhwstub.c index dc1169362..7869bb31d 100644 --- a/hw/xfree86/fbdevhw/fbdevhwstub.c +++ b/hw/xfree86/fbdevhw/fbdevhwstub.c @@ -168,3 +168,27 @@ fbdevHWSaveScreen(ScreenPtr pScreen, int mode) { return FALSE; } + +xf86SwitchModeProc * +fbdevHWSwitchModeWeak(void) { return fbdevHWSwitchMode; } + +xf86AdjustFrameProc * +fbdevHWAdjustFrameWeak(void) { return fbdevHWAdjustFrame; } + +xf86EnterVTProc * +fbdevHWEnterVTWeak(void) { return fbdevHWEnterVT; } + +xf86LeaveVTProc * +fbdevHWLeaveVTWeak(void) { return fbdevHWLeaveVT; } + +xf86ValidModeProc * +fbdevHWValidModeWeak(void) { return fbdevHWValidMode; } + +xf86DPMSSetProc * +fbdevHWDPMSSetWeak(void) { return fbdevHWDPMSSet; } + +xf86LoadPaletteProc * +fbdevHWLoadPaletteWeak(void) { return fbdevHWLoadPalette; } + +SaveScreenProcPtr +fbdevHWSaveScreenWeak(void) { return fbdevHWSaveScreen; } diff --git a/hw/xfree86/ramdac/IBM.c b/hw/xfree86/ramdac/IBM.c index 69207c2e2..4fede5720 100644 --- a/hw/xfree86/ramdac/IBM.c +++ b/hw/xfree86/ramdac/IBM.c @@ -374,6 +374,10 @@ IBMramdac526SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr ramdacReg) } } +IBMramdac526SetBppProc *IBMramdac526SetBppWeak(void) { + return IBMramdac526SetBpp; +} + void IBMramdac640SetBpp(ScrnInfoPtr pScrn, RamDacRegRecPtr ramdacReg) { diff --git a/hw/xfree86/ramdac/IBM.h b/hw/xfree86/ramdac/IBM.h index 00d039031..eb211883c 100644 --- a/hw/xfree86/ramdac/IBM.h +++ b/hw/xfree86/ramdac/IBM.h @@ -18,6 +18,9 @@ unsigned long IBMramdac640CalculateMNPCForClock(unsigned long RefClock, void IBMramdac526HWCursorInit(xf86CursorInfoPtr infoPtr); void IBMramdac640HWCursorInit(xf86CursorInfoPtr infoPtr); +typedef void IBMramdac526SetBppProc(ScrnInfoPtr, RamDacRegRecPtr); +IBMramdac526SetBppProc *IBMramdac526SetBppWeak(void); + #define IBM524_RAMDAC ((VENDOR_IBM << 16) | 0x00) #define IBM524A_RAMDAC ((VENDOR_IBM << 16) | 0x01) #define IBM525_RAMDAC ((VENDOR_IBM << 16) | 0x02) diff --git a/hw/xfree86/ramdac/TI.c b/hw/xfree86/ramdac/TI.c index ce6dd9a04..024cb49eb 100644 --- a/hw/xfree86/ramdac/TI.c +++ b/hw/xfree86/ramdac/TI.c @@ -711,3 +711,7 @@ void TIramdacLoadPalette( } } } + +TIramdacLoadPaletteProc *TIramdacLoadPaletteWeak(void) { + return TIramdacLoadPalette; +} diff --git a/hw/xfree86/ramdac/TI.h b/hw/xfree86/ramdac/TI.h index f87ebd13f..f33247cfc 100644 --- a/hw/xfree86/ramdac/TI.h +++ b/hw/xfree86/ramdac/TI.h @@ -19,6 +19,9 @@ void TIramdacHWCursorInit(xf86CursorInfoPtr infoPtr); void TIramdacLoadPalette( ScrnInfoPtr pScrn, int numColors, int *indices, LOCO *colors, VisualPtr pVisual); +typedef void TIramdacLoadPaletteProc(ScrnInfoPtr, int, int *, LOCO *, + VisualPtr); +TIramdacLoadPaletteProc *TIramdacLoadPaletteWeak(void); #define TI3030_RAMDAC (VENDOR_TI << 16) | 0x00 #define TI3026_RAMDAC (VENDOR_TI << 16) | 0x01 diff --git a/hw/xfree86/vgahw/vgaHW.c b/hw/xfree86/vgahw/vgaHW.c index 5365a4ae7..608ab7c32 100644 --- a/hw/xfree86/vgahw/vgaHW.c +++ b/hw/xfree86/vgahw/vgaHW.c @@ -596,6 +596,9 @@ vgaHWProtect(ScrnInfoPtr pScrn, Bool on) } } +vgaHWProtectProc *vgaHWProtectWeak(void) { + return vgaHWProtect; +} /* * vgaHWBlankScreen -- blank the screen. @@ -620,6 +623,9 @@ vgaHWBlankScreen(ScrnInfoPtr pScrn, Bool on) vgaHWSeqReset(hwp, FALSE); } +vgaHWBlankScreenProc *vgaHWBlankScreenWeak(void) { + return vgaHWBlankScreen; +} /* * vgaHWSaveScreen -- blank the screen. diff --git a/hw/xfree86/vgahw/vgaHW.h b/hw/xfree86/vgahw/vgaHW.h index ea8fb2861..3252dd787 100644 --- a/hw/xfree86/vgahw/vgaHW.h +++ b/hw/xfree86/vgahw/vgaHW.h @@ -190,11 +190,16 @@ typedef struct _vgaHWRec { /* vgaHW.c */ +typedef void vgaHWProtectProc(ScrnInfoPtr, Bool); +typedef void vgaHWBlankScreenProc(ScrnInfoPtr, Bool); + void vgaHWSetStdFuncs(vgaHWPtr hwp); void vgaHWSetMmioFuncs(vgaHWPtr hwp, CARD8 *base, int offset); void vgaHWProtect(ScrnInfoPtr pScrn, Bool on); +vgaHWProtectProc *vgaHWProtectWeak(void); Bool vgaHWSaveScreen(ScreenPtr pScreen, int mode); void vgaHWBlankScreen(ScrnInfoPtr pScrn, Bool on); +vgaHWBlankScreenProc *vgaHWBlankScreenWeak(void); void vgaHWSeqReset(vgaHWPtr hwp, Bool start); void vgaHWRestoreFonts(ScrnInfoPtr scrninfp, vgaRegPtr restore); void vgaHWRestoreMode(ScrnInfoPtr scrninfp, vgaRegPtr restore); diff --git a/hw/xfree86/xaa/xaaPCache.c b/hw/xfree86/xaa/xaaPCache.c index 25f8bd486..ce1e70d22 100644 --- a/hw/xfree86/xaa/xaaPCache.c +++ b/hw/xfree86/xaa/xaaPCache.c @@ -1653,7 +1653,8 @@ XAACachePlanarMonoStipple(ScrnInfoPtr pScrn, PixmapPtr pPix) return pCache; } - +XAACachePlanarMonoStippleProc * +XAACachePlanarMonoStippleWeak(void) { return XAACachePlanarMonoStipple; } XAACacheInfoPtr XAACacheStipple(ScrnInfoPtr pScrn, PixmapPtr pPix, int fg, int bg) diff --git a/hw/xfree86/xaa/xaaStipple.c b/hw/xfree86/xaa/xaaStipple.c index 8b111d1cf..66d3a81e3 100644 --- a/hw/xfree86/xaa/xaaStipple.c +++ b/hw/xfree86/xaa/xaaStipple.c @@ -15,8 +15,10 @@ static CARD32* StippleOver32_Inverted(CARD32*, CARD32*, int, int, int); #ifdef TRIPLE_BITS #define stipple_scanline_func EXPNAME(XAAStippleScanlineFunc3) +#define stipple_get_scanline_func EXPNAME(XAAGetStippleScanlineFunc3) #else #define stipple_scanline_func EXPNAME(XAAStippleScanlineFunc) +#define stipple_get_scanline_func EXPNAME(XAAGetStippleScanlineFunc) #endif StippleScanlineProcPtr stipple_scanline_func[6] = { @@ -28,6 +30,9 @@ StippleScanlineProcPtr stipple_scanline_func[6] = { StippleOver32_Inverted }; +StippleScanlineProcPtr *stipple_get_scanline_func(void) { + return stipple_scanline_func; +} #ifdef FIXEDBASE # define DEST(i) *dest diff --git a/hw/xfree86/xaa/xaaTEGlyph.c b/hw/xfree86/xaa/xaaTEGlyph.c index 0fd572617..7a699fd1f 100644 --- a/hw/xfree86/xaa/xaaTEGlyph.c +++ b/hw/xfree86/xaa/xaaTEGlyph.c @@ -74,7 +74,7 @@ static CARD32 *DrawTETextScanlineWidth9(CARD32 *base, unsigned int **glyphp, #endif #define glyph_scanline_func EXPNAME(XAAGlyphScanlineFunc) - +#define glyph_get_scanline_func EXPNAME(XAAGetGlyphScanlineFunc) GlyphScanlineFuncPtr glyph_scanline_func[32] = { @@ -125,6 +125,10 @@ GlyphScanlineFuncPtr glyph_scanline_func[32] = { DrawTETextScanlineGeneric, DrawTETextScanlineGeneric }; +GlyphScanlineFuncPtr *glyph_get_scanline_func(void) { + return glyph_scanline_func; +} + /******************************************************************** diff --git a/hw/xfree86/xaa/xaalocal.h b/hw/xfree86/xaa/xaalocal.h index 9075752d9..00fcb7455 100644 --- a/hw/xfree86/xaa/xaalocal.h +++ b/hw/xfree86/xaa/xaalocal.h @@ -727,6 +727,11 @@ extern CARD32 *(*XAAGlyphScanlineFuncLSBFirst[32])( CARD32 *base, unsigned int **glyphp, int line, int nglyph, int width ); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirstFixedBase(void); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncMSBFirst(void); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirstFixedBase(void); +GlyphScanlineFuncPtr *XAAGetGlyphScanlineFuncLSBFirst(void); + void XAAFillColorExpandRectsLSBFirst( ScrnInfoPtr pScrn, @@ -1046,6 +1051,11 @@ extern CARD32 *(*XAAStippleScanlineFuncLSBFirst[6])( CARD32* base, CARD32* src, int offset, int width, int dwords ); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirstFixedBase(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncMSBFirst(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirstFixedBase(void); +StippleScanlineProcPtr *XAAGetStippleScanlineFuncLSBFirst(void); + int XAAPolyText8TEColorExpansion( DrawablePtr pDraw, @@ -1506,6 +1516,10 @@ XAACacheMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix); XAACacheInfoPtr XAACachePlanarMonoStipple(ScrnInfoPtr Scrn, PixmapPtr pPix); +typedef XAACacheInfoPtr *XAACachePlanarMonoStippleProc(ScrnInfoPtr, PixmapPtr); + +XAACachePlanarMonoStippleProc *XAAGetCachePlanarMonoStipple(void); + XAACacheInfoPtr XAACacheStipple(ScrnInfoPtr Scrn, PixmapPtr pPix, int fg, int bg); diff --git a/hw/xfree86/xf1bpp/mfbmap.h b/hw/xfree86/xf1bpp/mfbmap.h index 7b8dfa30d..bf04b7320 100644 --- a/hw/xfree86/xf1bpp/mfbmap.h +++ b/hw/xfree86/xf1bpp/mfbmap.h @@ -45,6 +45,7 @@ #define mfbGetWindowPixmap xf1bppGetWindowPixmap #define mfbGetWindowPrivateIndex xf1bppGetWindowPrivateIndex #define mfbGetmask xf1bppGetmask +#define mfbGetpartmasks xf1bppGetpartmasks #define mfbGetrmask xf1bppGetrmask #define mfbGetstarttab xf1bppGetstarttab #define mfbGetendtab xf1bppGetendtab diff --git a/miext/shadow/shadow.h b/miext/shadow/shadow.h index d343a171f..7f6ceb850 100644 --- a/miext/shadow/shadow.h +++ b/miext/shadow/shadow.h @@ -163,6 +163,13 @@ void shadowUpdateRotate32_270 (ScreenPtr pScreen, shadowBufPtr pBuf); +typedef void * shadowUpdateProc(ScreenPtr, shadowBufPtr); + +shadowUpdateProc *shadowUpdatePackedWeak(void); +shadowUpdateProc *shadowUpdatePlanar4Weak(void); +shadowUpdateProc *shadowUpdatePlanar4x8Weak(void); +shadowUpdateProc *shadowUpdateRotatePackedWeak(void); + void shadowWrapGC (GCPtr pGC); diff --git a/miext/shadow/shpacked.c b/miext/shadow/shpacked.c index 441409776..08785c000 100644 --- a/miext/shadow/shpacked.c +++ b/miext/shadow/shpacked.c @@ -106,3 +106,5 @@ shadowUpdatePacked (ScreenPtr pScreen, pbox++; } } + +shadowUpdateProc *shadowUpdatePackedWeak(void) { return shadowUpdatePacked; } diff --git a/miext/shadow/shplanar.c b/miext/shadow/shplanar.c index aaa6d58eb..b5818f2bd 100644 --- a/miext/shadow/shplanar.c +++ b/miext/shadow/shplanar.c @@ -165,4 +165,11 @@ shadowUpdatePlanar4 (ScreenPtr pScreen, pbox++; } } - + +shadowUpdateProc *shadowUpdatePlanar4Weak(void) { + return shadowUpdatePlanar4; +} + +shadowUpdateProc *shadowUpdatePlanar4x8Weak(void) { + return shadowUpdatePlanar4x8; +} diff --git a/miext/shadow/shrotate.c b/miext/shadow/shrotate.c index a0f5b6e06..47ead25b7 100644 --- a/miext/shadow/shrotate.c +++ b/miext/shadow/shrotate.c @@ -304,3 +304,7 @@ shadowUpdateRotatePacked (ScreenPtr pScreen, } } } + +shadowUpdateProc *shadowUpdateRotatePackedWeak(void) { + return shadowUpdateRotatePacked; +}