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:
Roland Mainz
2005-01-14 08:37:30 +00:00
parent 61b3c3aef5
commit 2137bc6eb9
30 changed files with 178 additions and 54 deletions

View File

@@ -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

View File

@@ -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)); \
} \

View File

@@ -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; \
}

View File

@@ -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(

View File

@@ -268,3 +268,9 @@ mfbPixmapToRegion(pPix)
#endif
return(pReg);
}
mfbPixmapToRegionProc *
mfbPixmapToRegionWeak(void)
{
return mfbPixmapToRegion;
}

View File

@@ -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;
}

View File

@@ -1454,6 +1454,12 @@ int InverseAlu[16] = {
GXset
};
int mfbGetInverseAlu(i)
int i;
{
return InverseAlu[i];
}
int
mfbReduceRop(alu, src)
register int alu;

View File

@@ -89,3 +89,8 @@ ScreenPtr pScreen;
}
}
mfbQueryBestSizeProc *
mfbQueryBestSizeWeak(void)
{
return mfbQueryBestSize;
}

View File

@@ -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;
}