xc/programs/Xserver/afb/afbbres.c
xc/programs/Xserver/afb/afbbresd.c xc/programs/Xserver/afb/afbclip.c xc/programs/Xserver/afb/afbhrzvert.c xc/programs/Xserver/afb/afbline.c xc/programs/Xserver/afb/afbmodule.c xc/programs/Xserver/afb/afbpixmap.c xc/programs/Xserver/afb/afbpolypnt.c xc/programs/Xserver/afb/afbpushpxl.c xc/programs/Xserver/afb/afbtegblt.c xc/programs/Xserver/cfb/Imakefile.inc xc/programs/Xserver/cfb/cfballpriv.c xc/programs/Xserver/cfb/cfbbitblt.c xc/programs/Xserver/cfb/cfbcppl.c xc/programs/Xserver/cfb/cfbgc.c xc/programs/Xserver/cfb/cfbglblt8.c xc/programs/Xserver/cfb/cfbmap.h xc/programs/Xserver/cfb/cfbpixmap.c xc/programs/Xserver/cfb/cfbscrinit.c xc/programs/Xserver/cfb/cfbtab.h xc/programs/Xserver/cfb/cfbteblt8.c xc/programs/Xserver/cfb/cfbunmap.h xc/programs/Xserver/mfb/maskbits.c xc/programs/Xserver/mfb/maskbits.h xc/programs/Xserver/mfb/mergerop.h xc/programs/Xserver/mfb/mfb.h xc/programs/Xserver/mfb/mfbclip.c xc/programs/Xserver/mfb/mfbfont.c xc/programs/Xserver/mfb/mfbgc.c xc/programs/Xserver/mfb/mfbmisc.c xc/programs/Xserver/mfb/mfbpushpxl.c //bugs.freedesktop.org/show_bug.cgi?id=1114) attachment #667 (https://bugs.freedesktop.org/attachment.cgi?id=667): Convert afb and cfb{,16,24,32} to be dlloader-friendly. Patch by Adam Jackson <ajax@freedesktop.org>.
This commit is contained in:
@@ -1053,5 +1053,9 @@ mergeRopRec mergeRopBits[16] = {
|
||||
{ O,O,O,I, }, /* set 0xf 1 */
|
||||
};
|
||||
|
||||
mergeRopPtr mergeGetRopBits(int i) {
|
||||
return &mergeRopBits[i];
|
||||
}
|
||||
|
||||
#undef O
|
||||
#undef I
|
||||
|
||||
@@ -396,7 +396,7 @@ extern PixelType mfbGetmask(int);
|
||||
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)); \
|
||||
} \
|
||||
|
||||
@@ -39,6 +39,7 @@ typedef struct _mergeRopBits {
|
||||
} 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 @@ extern mergeRopRec mergeRopBits[16];
|
||||
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 @@ extern mergeRopRec mergeRopBits[16];
|
||||
#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 @@ extern mergeRopRec mergeRopBits[16];
|
||||
#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 @@ extern mergeRopRec mergeRopBits[16];
|
||||
#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 @@ extern mergeRopRec mergeRopBits[16];
|
||||
#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; \
|
||||
}
|
||||
|
||||
34
mfb/mfb.h
34
mfb/mfb.h
@@ -64,7 +64,7 @@ SOFTWARE.
|
||||
#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 void mfbRestoreAreas(
|
||||
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 @@ extern Bool mfbUnrealizeFont(
|
||||
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 @@ extern void mfbQueryBestSize(
|
||||
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 @@ extern void mfbPushPixels(
|
||||
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(
|
||||
|
||||
@@ -268,3 +268,9 @@ mfbPixmapToRegion(pPix)
|
||||
#endif
|
||||
return(pReg);
|
||||
}
|
||||
|
||||
mfbPixmapToRegionProc *
|
||||
mfbPixmapToRegionWeak(void)
|
||||
{
|
||||
return mfbPixmapToRegion;
|
||||
}
|
||||
|
||||
@@ -62,6 +62,12 @@ mfbRealizeFont( pscr, pFont)
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
mfbRealizeFontProc *
|
||||
mfbRealizeFontWeak(void)
|
||||
{
|
||||
return mfbRealizeFont;
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
Bool
|
||||
mfbUnrealizeFont( pscr, pFont)
|
||||
@@ -70,3 +76,9 @@ mfbUnrealizeFont( pscr, pFont)
|
||||
{
|
||||
return (TRUE);
|
||||
}
|
||||
|
||||
mfbUnrealizeFontProc *
|
||||
mfbUnrealizeFontWeak(void)
|
||||
{
|
||||
return mfbUnrealizeFont;
|
||||
}
|
||||
|
||||
@@ -1454,6 +1454,12 @@ int InverseAlu[16] = {
|
||||
GXset
|
||||
};
|
||||
|
||||
int mfbGetInverseAlu(i)
|
||||
int i;
|
||||
{
|
||||
return InverseAlu[i];
|
||||
}
|
||||
|
||||
int
|
||||
mfbReduceRop(alu, src)
|
||||
register int alu;
|
||||
|
||||
@@ -89,3 +89,8 @@ ScreenPtr pScreen;
|
||||
}
|
||||
}
|
||||
|
||||
mfbQueryBestSizeProc *
|
||||
mfbQueryBestSizeWeak(void)
|
||||
{
|
||||
return mfbQueryBestSize;
|
||||
}
|
||||
|
||||
@@ -276,3 +276,8 @@ mfbPushPixels(pGC, pBitMap, pDrawable, dx, dy, xOrg, yOrg)
|
||||
(*pGC->ops->FillSpans)(pDrawable, pGC, ipt, pt, width, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
mfbPushPixelsProc *mfbPushPixelsWeak(void)
|
||||
{
|
||||
return mfbPushPixels;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user