Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 44214 Details for
Bug 61063
xorg-x11-6.8.0-r4+ hardened + dlloader + sunffb on sparc: Build status and required patches.
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
(Unofficial) patch from xorg-x11 to let afb, cfb work with dlloader
afb-cfb-dlloader-fixes.patch (text/plain), 29.18 KB, created by
Ferris McCormick (RETIRED)
on 2004-11-18 04:49:13 UTC
(
hide
)
Description:
(Unofficial) patch from xorg-x11 to let afb, cfb work with dlloader
Filename:
MIME Type:
Creator:
Ferris McCormick (RETIRED)
Created:
2004-11-18 04:49:13 UTC
Size:
29.18 KB
patch
obsolete
>Index: afb/afbbres.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbbres.c,v >retrieving revision 1.2 >diff -u -r1.2 afbbres.c >--- afb/afbbres.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbbres.c 18 Aug 2004 16:20:12 -0000 >@@ -79,8 +79,8 @@ > register int yinc; /* increment to next scanline, in bytes */ > register PixelType *addrl; /* bitmask long 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; > PixelType tmp; >@@ -103,7 +103,7 @@ > addrlbase += sizeDst; /* @@@ NEXT PLANE @@@ */ > len = saveLen; > e = saveE; >- bit = mask[x1 & PIM]; >+ bit = mfbGetmask(x1 & PIM); > > switch (rrops[d]) { > case RROP_BLACK: >Index: afb/afbbresd.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbbresd.c,v >retrieving revision 1.2 >diff -u -r1.2 afbbresd.c >--- afb/afbbresd.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbbresd.c 18 Aug 2004 16:20:12 -0000 >@@ -93,8 +93,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 @@ > > e = saveE; > len = saveLen; >- bit = mask[x1 & PIM]; >+ bit = mfbGetmask(x1 & PIM); > > rop = fgrop; > if (!isDoubleDash) >Index: afb/afbclip.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbclip.c,v >retrieving revision 1.2 >diff -u -r1.2 afbclip.c >--- afb/afbclip.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbclip.c 18 Aug 2004 16:20:12 -0000 >@@ -102,7 +102,7 @@ > register BoxPtr prectO, prectN; > BoxPtr FirstRect, rects, prectLineStart; > Bool fInBox, fSame; >- register PixelType mask0 = mask[0]; >+ register PixelType mask0 = mfbGetmask(0); > PixelType *pwLine; > int nWidth; > >Index: afb/afbhrzvert.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbhrzvert.c,v >retrieving revision 1.2 >diff -u -r1.2 afbhrzvert.c >--- afb/afbhrzvert.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbhrzvert.c 18 Aug 2004 16:20:12 -0000 >@@ -186,17 +186,17 @@ > > switch (rrops[d]) { > case RROP_BLACK: >- bitmask = rmask[x1 & PIM]; >+ bitmask = mfbGetrmask(x1 & PIM); > Duff(len, *addrl &= bitmask; afbScanlineInc(addrl, nlwidth) ); > break; > > case RROP_WHITE: >- bitmask = mask[x1 & PIM]; >+ bitmask = mfbGetmask(x1 & PIM); > Duff(len, *addrl |= bitmask; afbScanlineInc(addrl, nlwidth) ); > break; > > case RROP_INVERT: >- bitmask = mask[x1 & PIM]; >+ bitmask = mfbGetmask(x1 & PIM); > Duff(len, *addrl ^= bitmask; afbScanlineInc(addrl, nlwidth) ); > break; > >Index: afb/afbline.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbline.c,v >retrieving revision 1.2 >diff -u -r1.2 afbline.c >--- afb/afbline.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbline.c 18 Aug 2004 16:20:12 -0000 >@@ -401,13 +401,13 @@ > > switch(rrops[d]) { > case RROP_BLACK: >- *addrl &= rmask[x2 & PIM]; >+ *addrl &= mfbGetrmask(x2 & PIM); > break; > case RROP_WHITE: >- *addrl |= mask[x2 & PIM]; >+ *addrl |= mfbGetmask(x2 & PIM); > break; > case RROP_INVERT: >- *addrl ^= mask[x2 & PIM]; >+ *addrl ^= mfbGetmask(x2 & PIM); > break; > case RROP_NOP: > break; >@@ -679,14 +679,14 @@ > > switch (rop) { > case RROP_BLACK: >- *addrl &= rmask[x2 & PIM]; >+ *addrl &= mfbGetrmask(x2 & PIM); > break; > case RROP_WHITE: >- *addrl |= mask[x2 & PIM]; >+ *addrl |= mfbGetmask(x2 & PIM); > break; > > case RROP_INVERT: >- *addrl ^= mask[x2 & PIM]; >+ *addrl ^= mfbGetmask(x2 & PIM); > break; > > case RROP_NOP: >Index: afb/afbmodule.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbmodule.c,v >retrieving revision 1.2 >diff -u -r1.2 afbmodule.c >--- afb/afbmodule.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbmodule.c 18 Aug 2004 16:20:12 -0000 >@@ -30,6 +30,8 @@ > #include "xf86Module.h" > #include "afb.h" > >+static MODULESETUPPROTO(afbSetup); >+ > static XF86ModuleVersionInfo VersRec = > { > "afb", >@@ -44,6 +46,14 @@ > {0,0,0,0} /* signature, to be patched into the file by a tool */ > }; > >-XF86ModuleData afbModuleData = { &VersRec, NULL, NULL }; >+XF86ModuleData afbModuleData = { &VersRec, afbSetup, NULL }; >+ >+static pointer >+afbSetup(pointer module, pointer opts, int *errmaj, int *errmin) >+{ >+ /* This modules requires mfb, so load it */ >+ return LoadSubModule(module, "mfb", NULL, NULL, NULL, NULL, >+ errmaj, errmin); >+} > > #endif >Index: afb/afbpixmap.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbpixmap.c,v >retrieving revision 1.2 >diff -u -r1.2 afbpixmap.c >--- afb/afbpixmap.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbpixmap.c 18 Aug 2004 16:20:12 -0000 >@@ -164,7 +164,7 @@ > if (rep*width != PPW) > return; > >- mask = endtab[width]; >+ mask = mfbGetendtab(width); > > p = (PixelType *)(pPixmap->devPrivate.ptr); > >@@ -206,7 +206,7 @@ > while(pw < pwFinal) { > t = *pw; > *pw++ = SCRRIGHT(t, rw) | >- (SCRLEFT(t, (PPW-rw)) & endtab[rw]); >+ (SCRLEFT(t, (PPW-rw)) & mfbGetendtab(rw)); > } > } else { > /* We no longer do this. Validate doesn't try to rotate odd-size >Index: afb/afbpolypnt.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbpolypnt.c,v >retrieving revision 1.2 >diff -u -r1.2 afbpolypnt.c >--- afb/afbpolypnt.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbpolypnt.c 18 Aug 2004 16:20:12 -0000 >@@ -113,7 +113,7 @@ > y = ppt->y + pDrawable->y; > if ((x >= pbox->x1) && (x < pbox->x2) && > (y >= pbox->y1) && (y < pbox->y2)) >- *afbScanline(addrl, x, y, nlwidth) &= rmask[x & PIM]; >+ *afbScanline(addrl, x, y, nlwidth) &= mfbGetrmask(x & PIM); > } > break; > >@@ -123,7 +123,7 @@ > y = ppt->y + pDrawable->y; > if ((x >= pbox->x1) && (x < pbox->x2) && > (y >= pbox->y1) && (y < pbox->y2)) >- *afbScanline(addrl, x, y, nlwidth) |= mask[x & PIM]; >+ *afbScanline(addrl, x, y, nlwidth) |= mfbGetmask(x & PIM); > } > break; > >@@ -133,7 +133,7 @@ > y = ppt->y + pDrawable->y; > if ((x >= pbox->x1) && (x < pbox->x2) && > (y >= pbox->y1) && (y < pbox->y2)) >- *afbScanline(addrl, x, y, nlwidth) ^= mask[x & PIM]; >+ *afbScanline(addrl, x, y, nlwidth) ^= mfbGetmask(x & PIM); > } > break; > >Index: afb/afbpushpxl.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbpushpxl.c,v >retrieving revision 1.2 >diff -u -r1.2 afbpushpxl.c >--- afb/afbpushpxl.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbpushpxl.c 18 Aug 2004 16:20:12 -0000 >@@ -184,7 +184,7 @@ > pwEnd = pwLineStart + dxDivPPW; > while(pw < pwEnd) { > w = *pw; >- mask = endtab[1]; >+ mask = mfbGetendtab(1); > for(ib = 0; ib < PPW; ib++) { > if(w & mask) { > if(!fInBox) { >@@ -214,7 +214,7 @@ > if(ibEnd) { > /* Process final partial word on line */ > w = *pw; >- mask = endtab[1]; >+ mask = mfbGetendtab(1); > for(ib = 0; ib < ibEnd; ib++) { > if(w & mask) { > if(!fInBox) { >Index: afb/afbtegblt.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/afb/afbtegblt.c,v >retrieving revision 1.2 >diff -u -r1.2 afbtegblt.c >--- afb/afbtegblt.c 23 Apr 2004 18:59:39 -0000 1.2 >+++ afb/afbtegblt.c 18 Aug 2004 16:20:12 -0000 >@@ -296,7 +296,7 @@ > widthGlyphs = widthGlyph * PGSZB; > > #ifdef USE_LEFTBITS >- glyphMask = endtab[widthGlyph]; >+ glyphMask = mfbGetendtab(widthGlyph); > glyphBytes = GLYPHWIDTHBYTESPADDED(*ppci); > #endif > >Index: cfb/Imakefile.inc >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/Imakefile.inc,v >retrieving revision 1.3 >diff -u -r1.3 Imakefile.inc >--- cfb/Imakefile.inc 26 Apr 2004 02:39:58 -0000 1.3 >+++ cfb/Imakefile.inc 18 Aug 2004 16:20:12 -0000 >@@ -65,6 +65,7 @@ > XFMODOBJ = cfbmodule.o > #endif > >+XCOMM THIS IS STUPID > #if !(defined(IHaveModules) && defined(LinkDirectory)) > CFBCMAP = cfbcmap.o > #endif >@@ -91,7 +92,7 @@ > cfbtileoddC.o cfbtileoddG.o cfbtile32C.o cfbtile32G.o \ > cfbfillsp.o cfbsetsp.o cfbscrinit.o cfballpriv.o \ > cfbpntwin.o cfbmskbits.o cfbpixmap.o \ >- $(CFBCMAP) cfbzerarcC.o cfbzerarcX.o cfbzerarcG.o \ >+ cfbcmap.o cfbzerarcC.o cfbzerarcX.o cfbzerarcG.o \ > cfbfillarcC.o cfbfillarcG.o \ > cfbigblt8.o cfbglblt8.o cfbtegblt.o cfbbstore.o \ > cfbpolypnt.o \ >Index: cfb/cfballpriv.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfballpriv.c,v >retrieving revision 1.2 >diff -u -r1.2 cfballpriv.c >--- cfb/cfballpriv.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfballpriv.c 18 Aug 2004 16:20:12 -0000 >@@ -42,7 +42,7 @@ > #include "cfbmskbits.h" > #include "mibstore.h" > >-#if PSZ==8 >+#if 1 || PSZ==8 > int cfbWindowPrivateIndex; > int cfbGCPrivateIndex; > #endif >Index: cfb/cfbbitblt.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbbitblt.c,v >retrieving revision 1.2 >diff -u -r1.2 cfbbitblt.c >--- cfb/cfbbitblt.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbbitblt.c 18 Aug 2004 16:20:13 -0000 >@@ -973,15 +973,15 @@ > #else /* PSZ == 8 */ > > #define mfbmaskbits(x, w, startmask, endmask, nlw) \ >- startmask = starttab[(x)&0x1f]; \ >- endmask = endtab[((x)+(w)) & 0x1f]; \ >+ startmask = mfbGetstarttab((x)&0x1f); \ >+ endmask = mfbGetendtab(((x)+(w)) & 0x1f); \ > if (startmask) \ > nlw = (((w) - (32 - ((x)&0x1f))) >> 5); \ > else \ > nlw = (w) >> 5; > > #define mfbmaskpartialbits(x, w, mask) \ >- mask = partmasks[(x)&0x1f][(w)&0x1f]; >+ mask = mfbGetpartmasks((x)&0x1f,(w)&0x1f); > > #define LeftMost 0 > #define StepBit(bit, inc) ((bit) += (inc)) >@@ -1389,7 +1389,7 @@ > > oldalu = pGC->alu; > if ((pGC->fgPixel & 1) == 0 && (pGC->bgPixel&1) == 1) >- pGC->alu = InverseAlu[pGC->alu]; >+ pGC->alu = mfbGetInverseAlu(pGC->alu); > else if ((pGC->fgPixel & 1) == (pGC->bgPixel & 1)) > pGC->alu = mfbReduceRop(pGC->alu, pGC->fgPixel); > ret = cfbCopyPlaneReduce(pSrcDrawable, pDstDrawable, >Index: cfb/cfbcppl.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbcppl.c,v >retrieving revision 1.2 >diff -u -r1.2 cfbcppl.c >--- cfb/cfbcppl.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbcppl.c 18 Aug 2004 16:20:13 -0000 >@@ -245,15 +245,15 @@ > #else /* PSZ == 8 */ > > #define mfbmaskbits(x, w, startmask, endmask, nlw) \ >- startmask = starttab[(x)&0x1f]; \ >- endmask = endtab[((x)+(w)) & 0x1f]; \ >+ startmask = mfbGetstarttab((x)&0x1f); \ >+ endmask = mfbGetendtab(((x)+(w)) & 0x1f); \ > if (startmask) \ > nlw = (((w) - (32 - ((x)&0x1f))) >> 5); \ > else \ > nlw = (w) >> 5; > > #define mfbmaskpartialbits(x, w, mask) \ >- mask = partmasks[(x)&0x1f][(w)&0x1f]; >+ mask = mfbGetpartmasks((x)&0x1f,(w)&0x1f); > > #define LeftMost 0 > #define StepBit(bit, inc) ((bit) += (inc)) >Index: cfb/cfbgc.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbgc.c,v >retrieving revision 1.2 >diff -u -r1.2 cfbgc.c >--- cfb/cfbgc.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbgc.c 18 Aug 2004 16:20:13 -0000 >@@ -85,11 +85,13 @@ > # define usePolyGlyphBlt miPolyGlyphBlt > #endif > >+void cfbUnPushPixels (GCPtr, PixmapPtr, DrawablePtr, int, int, int, int); >+ > #ifdef FOUR_BIT_CODE > # define usePushPixels cfbPushPixels8 > #else > #ifndef LOWMEMFTPT >-# define usePushPixels mfbPushPixels >+# define usePushPixels cfbUnPushPixels > #else > # define usePushPixels miPushPixels > #endif /* ifndef LOWMEMFTPT */ >@@ -284,6 +286,14 @@ > pGC->clientClip = NULL; > pGC->clientClipType = CT_NONE; > >+ if (cfbNonTEOps.PushPixels == cfbUnPushPixels) >+ { >+ cfbTEOps1Rect.PushPixels = mfbPushPixelsWeak(); >+ cfbNonTEOps1Rect.PushPixels = mfbPushPixelsWeak(); >+ cfbTEOps.PushPixels = mfbPushPixelsWeak(); >+ cfbNonTEOps.PushPixels = mfbPushPixelsWeak(); >+ } >+ > /* > * some of the output primitives aren't really necessary, since they > * will be filled in ValidateGC because of dix/CreateGC() setting all >@@ -767,7 +777,7 @@ > #endif > #ifdef FOUR_BIT_CODE > #ifndef LOWMEMFTPT >- pGC->ops->PushPixels = mfbPushPixels; >+ pGC->ops->PushPixels = mfbPushPixelsWeak(); > #else > pGC->ops->PushPixels = miPushPixels; > #endif /* ifndef LOWMEMFTPT */ >@@ -789,3 +799,17 @@ > } > } > } >+ >+/* >+ * this is never called, it just exists to have its address >+ * taken in mfbCreateGC. >+ */ >+static void >+cfbUnPushPixels (pGC, pBitmap, pDrawable, dx, dy, xOrg, yOrg) >+ GCPtr pGC; >+ PixmapPtr pBitmap; >+ DrawablePtr pDrawable; >+ int dx, dy, xOrg, yOrg; >+{ >+ return; >+} >Index: cfb/cfbglblt8.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbglblt8.c,v >retrieving revision 1.2 >diff -u -r1.2 cfbglblt8.c >--- cfb/cfbglblt8.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbglblt8.c 18 Aug 2004 16:20:13 -0000 >@@ -64,7 +64,6 @@ > > #ifdef USE_LEFTBITS > typedef unsigned char *glyphPointer; >-extern CfbBits endtab[]; > > #define GlyphBits(bits,width,dst) getleftbits(bits,width,dst); \ > (dst) &= widthMask; \ >@@ -251,7 +250,7 @@ > #ifdef USE_LEFTBITS > w = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing; > widthGlyph = PADGLYPHWIDTHBYTES(w); >- widthMask = endtab[w]; >+ widthMask = mfbGetendtab(w); > #endif > do { > dst = dstLine; >@@ -380,7 +379,7 @@ > #ifdef USE_LEFTBITS > w = pci->metrics.rightSideBearing - pci->metrics.leftSideBearing; > widthGlyph = PADGLYPHWIDTHBYTES(w); >- widthMask = endtab[w]; >+ widthMask = mfbGetendtab(w); > #endif > switch (cfb8ComputeClipMasks32 (pBox, numRects, xG, yG, w, hTmp, clips)) > { >Index: cfb/cfbmap.h >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbmap.h,v >retrieving revision 1.2 >diff -u -r1.2 cfbmap.h >--- cfb/cfbmap.h 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbmap.h 18 Aug 2004 16:20:13 -0000 >@@ -94,13 +94,17 @@ > #undef cfbFillSpanTileOddGeneral > #undef cfbFinishScreenInit > #undef cfbGCFuncs >+#undef cfbGCPrivateIndex > #undef cfbGetImage > #undef cfbGetScreenPixmap > #undef cfbGetSpans > #undef cfbHorzS > #undef cfbImageGlyphBlt8 >+#undef cfbInitializeColormap >+#undef cfbInstallColormap > #undef cfbLineSD > #undef cfbLineSS >+#undef cfbListInstalledColormaps > #undef cfbMapWindow > #undef cfbMatchCommon > #undef cfbNonTEOps >@@ -116,6 +120,7 @@ > #undef cfbPositionWindow > #undef cfbPutImage > #undef cfbReduceRasterOp >+#undef cfbResolveColor > #undef cfbRestoreAreas > #undef cfbSaveAreas > #undef cfbScreenInit >@@ -136,11 +141,13 @@ > #undef cfbTEOps1Rect > #undef cfbTile32FSCopy > #undef cfbTile32FSGeneral >+#undef cfbUninstallColormap > #undef cfbUnmapWindow > #undef cfbUnnaturalStippleFS > #undef cfbUnnaturalTileFS > #undef cfbValidateGC > #undef cfbVertS >+#undef cfbWindowPrivateIndex > #undef cfbXRotatePixmap > #undef cfbYRotatePixmap > #undef cfbZeroPolyArcSS8Copy >@@ -263,13 +270,17 @@ > #define cfbFillSpanTileOddGeneral CFBNAME(FillSpanTileOddGeneral) > #define cfbFinishScreenInit CFBNAME(FinishScreenInit) > #define cfbGCFuncs CFBNAME(GCFuncs) >+#define cfbGCPrivateIndex CFBNAME(GCPrivateIndex) > #define cfbGetImage CFBNAME(GetImage) > #define cfbGetScreenPixmap CFBNAME(GetScreenPixmap) > #define cfbGetSpans CFBNAME(GetSpans) > #define cfbHorzS CFBNAME(HorzS) > #define cfbImageGlyphBlt8 CFBNAME(ImageGlyphBlt8) >+#define cfbInitializeColormap CFBNAME(InitializeColormap) >+#define cfbInstallColormap CFBNAME(InstallColormap) > #define cfbLineSD CFBNAME(LineSD) > #define cfbLineSS CFBNAME(LineSS) >+#define cfbListInstalledColormaps CFBNAME(ListInstalledColormaps) > #define cfbMapWindow CFBNAME(MapWindow) > #define cfbMatchCommon CFBNAME(MatchCommon) > #define cfbNonTEOps CFBNAME(NonTEOps) >@@ -285,6 +296,7 @@ > #define cfbPositionWindow CFBNAME(PositionWindow) > #define cfbPutImage CFBNAME(PutImage) > #define cfbReduceRasterOp CFBNAME(ReduceRasterOp) >+#define cfbResolveColor CFBNAME(ResolveColor) > #define cfbRestoreAreas CFBNAME(RestoreAreas) > #define cfbSaveAreas CFBNAME(SaveAreas) > #define cfbScreenInit CFBNAME(ScreenInit) >@@ -305,11 +317,13 @@ > #define cfbTEOps1Rect CFBNAME(TEOps1Rect) > #define cfbTile32FSCopy CFBNAME(Tile32FSCopy) > #define cfbTile32FSGeneral CFBNAME(Tile32FSGeneral) >+#define cfbUninstallColormap CFBNAME(UninstallColormap) > #define cfbUnmapWindow CFBNAME(UnmapWindow) > #define cfbUnnaturalStippleFS CFBNAME(UnnaturalStippleFS) > #define cfbUnnaturalTileFS CFBNAME(UnnaturalTileFS) > #define cfbValidateGC CFBNAME(ValidateGC) > #define cfbVertS CFBNAME(VertS) >+#define cfbWindowPrivateIndex CFBNAME(WindowPrivateIndex) > #define cfbXRotatePixmap CFBNAME(XRotatePixmap) > #define cfbYRotatePixmap CFBNAME(YRotatePixmap) > #define cfbZeroPolyArcSS8Copy CFBNAME(ZeroPolyArcSSCopy) >Index: cfb/cfbpixmap.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbpixmap.c,v >retrieving revision 1.2 >diff -u -r1.2 cfbpixmap.c >--- cfb/cfbpixmap.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbpixmap.c 18 Aug 2004 16:20:13 -0000 >@@ -60,8 +60,6 @@ > #include "cfb.h" > #include "cfbmskbits.h" > >-extern CfbBits endtab[]; >- > PixmapPtr > cfbCreatePixmap (pScreen, width, height, depth) > ScreenPtr pScreen; >@@ -160,7 +158,7 @@ > if (rep*width != PGSZ) > return; > >- mask = endtab[width]; >+ mask = mfbGetendtab(width); > > p = (CfbBits *)(pPixmap->devPrivate.ptr); > for (h=0; h < pPixmap->drawable.height; h++) >Index: cfb/cfbscrinit.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbscrinit.c,v >retrieving revision 1.2 >diff -u -r1.2 cfbscrinit.c >--- cfb/cfbscrinit.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbscrinit.c 18 Aug 2004 16:20:13 -0000 >@@ -99,7 +99,7 @@ > pScreen->defColormap = FakeClientID(0); > /* let CreateDefColormap do whatever it wants for pixels */ > pScreen->blackPixel = pScreen->whitePixel = (Pixel) 0; >- pScreen->QueryBestSize = mfbQueryBestSize; >+ pScreen->QueryBestSize = mfbQueryBestSizeWeak(); > /* SaveScreen */ > pScreen->GetImage = cfbGetImage; > pScreen->GetSpans = cfbGetSpans; >@@ -114,8 +114,8 @@ > pScreen->CopyWindow = cfbCopyWindow; > pScreen->CreatePixmap = cfbCreatePixmap; > pScreen->DestroyPixmap = cfbDestroyPixmap; >- pScreen->RealizeFont = mfbRealizeFont; >- pScreen->UnrealizeFont = mfbUnrealizeFont; >+ pScreen->RealizeFont = mfbRealizeFontWeak(); >+ pScreen->UnrealizeFont = mfbUnrealizeFontWeak(); > pScreen->CreateGC = cfbCreateGC; > pScreen->CreateColormap = cfbInitializeColormap; > pScreen->DestroyColormap = DestroyColormapNoop; >@@ -124,7 +124,7 @@ > pScreen->ListInstalledColormaps = cfbListInstalledColormaps; > pScreen->StoreColors = StoreColorsNoop; > pScreen->ResolveColor = cfbResolveColor; >- pScreen->BitmapToRegion = mfbPixmapToRegion; >+ pScreen->BitmapToRegion = mfbPixmapToRegionWeak(); > > mfbRegisterCopyPlaneProc (pScreen, cfbCopyPlane); > return TRUE; >Index: cfb/cfbtab.h >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbtab.h,v >retrieving revision 1.2 >diff -u -r1.2 cfbtab.h >--- cfb/cfbtab.h 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbtab.h 18 Aug 2004 16:20:13 -0000 >@@ -4,7 +4,9 @@ > #define _CFBTAB_H_ > > /* prototypes */ >+#if 0 > extern int starttab[32], endtab[32]; > extern unsigned int partmasks[32][32]; >+#endif > > #endif /* _CFBTAB_H_ */ >Index: cfb/cfbteblt8.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbteblt8.c,v >retrieving revision 1.2 >diff -u -r1.2 cfbteblt8.c >--- cfb/cfbteblt8.c 23 Apr 2004 19:00:12 -0000 1.2 >+++ cfb/cfbteblt8.c 18 Aug 2004 16:20:14 -0000 >@@ -160,7 +160,6 @@ > #endif > > #ifdef USE_LEFTBITS >-extern CfbBits endtab[]; > > #define IncChar(c) (c = (glyphPointer) (((char *) c) + glyphBytes)) > >@@ -408,7 +407,7 @@ > #endif > > #ifdef USE_LEFTBITS >- glyphMask = endtab[widthGlyph]; >+ glyphMask = mfbGetendtab(widthGlyph); > glyphBytes = GLYPHWIDTHBYTESPADDED(*ppci); > #endif > >Index: cfb/cfbunmap.h >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/cfb/cfbunmap.h,v >retrieving revision 1.1.1.2 >diff -u -r1.1.1.2 cfbunmap.h >--- cfb/cfbunmap.h 25 Nov 2003 19:28:27 -0000 1.1.1.2 >+++ cfb/cfbunmap.h 18 Aug 2004 16:20:14 -0000 >@@ -93,13 +93,17 @@ > #undef cfbFillSpanTileOddGeneral > #undef cfbFinishScreenInit > #undef cfbGCFuncs >+#undef cfbGCPrivateIndex > #undef cfbGetImage > #undef cfbGetScreenPixmap > #undef cfbGetSpans > #undef cfbHorzS > #undef cfbImageGlyphBlt8 >+#undef cfbInitializeColormap >+#undef cfbInstallColormap > #undef cfbLineSD > #undef cfbLineSS >+#undef cfbListInstalledColormaps > #undef cfbMapWindow > #undef cfbMatchCommon > #undef cfbNonTEOps >@@ -115,6 +119,7 @@ > #undef cfbPositionWindow > #undef cfbPutImage > #undef cfbReduceRasterOp >+#undef cfbResolveColor > #undef cfbRestoreAreas > #undef cfbSaveAreas > #undef cfbScreenInit >@@ -135,11 +140,13 @@ > #undef cfbTEOps1Rect > #undef cfbTile32FSCopy > #undef cfbTile32FSGeneral >+#undef cfbUninstallColormap > #undef cfbUnmapWindow > #undef cfbUnnaturalStippleFS > #undef cfbUnnaturalTileFS > #undef cfbValidateGC > #undef cfbVertS >+#undef cfbWindowPrivateIndex > #undef cfbXRotatePixmap > #undef cfbYRotatePixmap > #undef cfbZeroPolyArcSS8Copy >Index: mfb/maskbits.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/maskbits.c,v >retrieving revision 1.3 >diff -u -r1.3 maskbits.c >--- mfb/maskbits.c 30 Jul 2004 20:30:57 -0000 1.3 >+++ mfb/maskbits.c 18 Aug 2004 16:20:14 -0000 >@@ -1053,5 +1053,9 @@ > { O,O,O,I, }, /* set 0xf 1 */ > }; > >+mergeRopPtr mergeGetRopBits(int i) { >+ return &mergeRopBits[i]; >+} >+ > #undef O > #undef I >Index: mfb/maskbits.h >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/maskbits.h,v >retrieving revision 1.3 >diff -u -r1.3 maskbits.h >--- mfb/maskbits.h 30 Jul 2004 20:30:57 -0000 1.3 >+++ mfb/maskbits.h 18 Aug 2004 16:20:14 -0000 >@@ -396,7 +396,7 @@ > else \ > { \ > register int d = PPW-(x); \ >- *(pdst) = (*(pdst) & endtab[x]) | (SCRRIGHT((src), x)); \ >+ *(pdst) = (*(pdst) & mfbGetendtab(x)) | (SCRRIGHT((src), x)); \ > (pdst)[1] = ((pdst)[1] & mfbGetstarttab(n)) | \ > (SCRLEFT(src, d) & mfbGetendtab(n)); \ > } \ >Index: mfb/mergerop.h >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mergerop.h,v >retrieving revision 1.2 >diff -u -r1.2 mergerop.h >--- mfb/mergerop.h 23 Apr 2004 19:54:25 -0000 1.2 >+++ mfb/mergerop.h 18 Aug 2004 16:20:14 -0000 >@@ -39,6 +39,7 @@ > } mergeRopRec, *mergeRopPtr; > > extern mergeRopRec mergeRopBits[16]; >+extern mergeRopPtr mergeGetRopBits(int i); > > #if defined(PPW) && defined(PGSZ) && (PPW != PGSZ) /* cfb */ > #define DeclareMergeRop() MfbBits _ca1 = 0, _cx1 = 0, _ca2 = 0, _cx2 = 0; >@@ -59,7 +60,7 @@ > MfbBits _pm; \ > mergeRopPtr _bits; \ > _pm = PFILL(pm); \ >- _bits = &mergeRopBits[alu]; \ >+ _bits = mergeGetRopBits(alu); \ > _ca1 = _bits->ca1 & _pm; \ > _cx1 = _bits->cx1 | ~_pm; \ > _ca2 = _bits->ca2 & _pm; \ >@@ -70,7 +71,7 @@ > #define InitializeMergeRop24(alu,pm) {\ > register int i; \ > register MfbBits _pm = (pm) & 0xFFFFFF; \ >- mergeRopPtr _bits = &mergeRopBits[alu]; \ >+ mergeRopPtr _bits = mergeGetRopBits(alu); \ > MfbBits _bits_ca1 = _bits->ca1; \ > MfbBits _bits_cx1 = _bits->cx1; \ > MfbBits _bits_ca2 = _bits->ca2; \ >@@ -88,7 +89,7 @@ > #define InitializeMergeRop24(alu,pm) {\ > register int i; \ > register MfbBits _pm = (pm) & cfbmask[0]; \ >- mergeRopPtr _bits = &mergeRopBits[alu]; \ >+ mergeRopPtr _bits = mergeGetRopBits(alu); \ > MfbBits _bits_ca1 = _bits->ca1 & cfbmask[0]; \ > MfbBits _bits_cx1 = _bits->cx1 & cfbmask[0]; \ > MfbBits _bits_ca2 = _bits->ca2 & cfbmask[0]; \ >@@ -111,7 +112,7 @@ > #else /* mfb */ > #define InitializeMergeRop(alu,pm) {\ > mergeRopPtr _bits; \ >- _bits = &mergeRopBits[alu]; \ >+ _bits = mergeGetRopBits(alu); \ > _ca1 = _bits->ca1; \ > _cx1 = _bits->cx1; \ > _ca2 = _bits->ca2; \ >@@ -328,7 +329,7 @@ > #define MROP_DECLARE_REG() register MROP_DECLARE() > #define MROP_INITIALIZE(alu,pm) { \ > mergeRopPtr _bits; \ >- _bits = &mergeRopBits[alu]; \ >+ _bits = mergeGetRopBits(alu); \ > _ca1 = _bits->ca1; \ > _cx1 = _bits->cx1; \ > } >Index: mfb/mfb.h >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfb.h,v >retrieving revision 1.3 >diff -u -r1.3 mfb.h >--- mfb/mfb.h 30 Jul 2004 20:30:57 -0000 1.3 >+++ mfb/mfb.h 18 Aug 2004 16:20:15 -0000 >@@ -64,7 +64,7 @@ > #include "mibstore.h" > > extern int InverseAlu[]; >- >+extern int mfbGetInverseAlu(int i); > > /* warning: PixelType definition duplicated in maskbits.h */ > #ifndef PixelType >@@ -229,6 +229,13 @@ > extern RegionPtr mfbPixmapToRegion( > PixmapPtr /*pPix*/ > ); >+ >+#ifndef MFB_PROTOTYPES_ONLY >+typedef RegionPtr (*mfbPixmapToRegionProc)(PixmapPtr); >+ >+extern mfbPixmapToRegionProc *mfbPixmapToRegionWeak(void); >+#endif >+ > /* mfbcmap.c */ > > extern int mfbListInstalledColormaps( >@@ -371,6 +378,15 @@ > ScreenPtr /*pscr*/, > FontPtr /*pFont*/ > ); >+ >+#ifndef MFB_PROTOTYPES_ONLY >+typedef void (*mfbRealizeFontProc)(ScreenPtr, FontPtr); >+typedef void (*mfbUnrealizeFontProc)(ScreenPtr, FontPtr); >+ >+extern mfbRealizeFontProc *mfbRealizeFontWeak(void); >+extern mfbUnrealizeFontProc *mfbUnrealizeFontWeak(void); >+#endif >+ > /* mfbgc.c */ > > extern Bool mfbCreateGC( >@@ -490,6 +506,14 @@ > unsigned short * /*pheight*/, > ScreenPtr /*pScreen*/ > ); >+ >+#ifndef MFB_PROTOTYPES_ONLY >+typedef void (*mfbQueryBestSizeProc)(int, unsigned short *, unsigned short *, >+ ScreenPtr); >+ >+extern mfbQueryBestSizeProc *mfbQueryBestSizeWeak(void); >+#endif >+ > /* mfbpablack.c */ > > extern void mfbSolidBlackArea( >@@ -680,6 +704,14 @@ > int /*xOrg*/, > int /*yOrg*/ > ); >+ >+#ifndef MFB_PROTOTYPES_ONLY >+typedef void (*mfbPushPixelsProc)(GCPtr, PixmapPtr, DrawablePtr, int, int, >+ int, int); >+ >+extern mfbPushPixelsProc *mfbPushPixelsWeak(void); >+#endif >+ > /* mfbscrclse.c */ > > extern Bool mfbCloseScreen( >Index: mfb/mfbclip.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfbclip.c,v >retrieving revision 1.2 >diff -u -r1.2 mfbclip.c >--- mfb/mfbclip.c 23 Apr 2004 19:54:25 -0000 1.2 >+++ mfb/mfbclip.c 18 Aug 2004 16:20:15 -0000 >@@ -268,3 +268,9 @@ > #endif > return(pReg); > } >+ >+mfbPixmapToRegionProc * >+mfbPixmapToRegionWeak(void) >+{ >+ return mfbPixmapToRegion; >+} >Index: mfb/mfbfont.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfbfont.c,v >retrieving revision 1.1.1.1 >diff -u -r1.1.1.1 mfbfont.c >--- mfb/mfbfont.c 14 Nov 2003 16:48:57 -0000 1.1.1.1 >+++ mfb/mfbfont.c 18 Aug 2004 16:20:15 -0000 >@@ -62,6 +62,12 @@ > return (TRUE); > } > >+mfbRealizeFontProc * >+mfbRealizeFontWeak(void) >+{ >+ return mfbRealizeFont; >+} >+ > /*ARGSUSED*/ > Bool > mfbUnrealizeFont( pscr, pFont) >@@ -70,3 +76,9 @@ > { > return (TRUE); > } >+ >+mfbUnrealizeFontProc * >+mfbUnrealizeFontWeak(void) >+{ >+ return mfbUnrealizeFont; >+} >Index: mfb/mfbgc.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfbgc.c,v >retrieving revision 1.2 >diff -u -r1.2 mfbgc.c >--- mfb/mfbgc.c 23 Apr 2004 19:54:25 -0000 1.2 >+++ mfb/mfbgc.c 18 Aug 2004 16:20:15 -0000 >@@ -1454,6 +1454,12 @@ > GXset > }; > >+int mfbGetInverseAlu(i) >+ int i; >+{ >+ return InverseAlu[i]; >+} >+ > int > mfbReduceRop(alu, src) > register int alu; >Index: mfb/mfbmisc.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfbmisc.c,v >retrieving revision 1.1.1.1 >diff -u -r1.1.1.1 mfbmisc.c >--- mfb/mfbmisc.c 14 Nov 2003 16:48:57 -0000 1.1.1.1 >+++ mfb/mfbmisc.c 18 Aug 2004 16:20:15 -0000 >@@ -89,3 +89,8 @@ > } > } > >+mfbQueryBestSizeProc * >+mfbQueryBestSizeWeak(void) >+{ >+ return mfbQueryBestSize; >+} >Index: mfb/mfbpushpxl.c >=================================================================== >RCS file: /cvs/xorg/xc/programs/Xserver/mfb/mfbpushpxl.c,v >retrieving revision 1.2 >diff -u -r1.2 mfbpushpxl.c >--- mfb/mfbpushpxl.c 23 Apr 2004 19:54:25 -0000 1.2 >+++ mfb/mfbpushpxl.c 18 Aug 2004 16:20:15 -0000 >@@ -276,3 +276,8 @@ > (*pGC->ops->FillSpans)(pDrawable, pGC, ipt, pt, width, TRUE); > } > } >+ >+mfbPushPixelsProc *mfbPushPixelsWeak(void) >+{ >+ return mfbPushPixels; >+}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 61063
:
37812
|
42172
| 44214 |
44215
|
44221
|
44236