Restore the CompositeGlyphs -> ps->Glyphs -> miGlyphs callchain to allow acceleration architectures to wrap above miGlyphs.

This commit is contained in:
Aaron Plattner 2007-10-26 15:13:50 -07:00
parent 497aba8949
commit 2251572062
2 changed files with 24 additions and 25 deletions

View File

@ -902,20 +902,22 @@ GlyphExtents (int nlist,
#define NeedsComponent(f) (PICT_FORMAT_A(f) != 0 && PICT_FORMAT_RGB(f) != 0) #define NeedsComponent(f) (PICT_FORMAT_A(f) != 0 && PICT_FORMAT_RGB(f) != 0)
/* Stub ABI compatibility for mi*Glyph, should go away */
_X_EXPORT void _X_EXPORT void
miGlyphs (CARD8 op, CompositeGlyphs (CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
PictFormatPtr maskFormat, PictFormatPtr maskFormat,
INT16 xSrc, INT16 xSrc,
INT16 ySrc, INT16 ySrc,
int nlist, int nlist,
GlyphListPtr list, GlyphListPtr lists,
GlyphPtr *glyphs) GlyphPtr *glyphs)
{ {
CompositeGlyphs(op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, list, PictureScreenPtr ps = GetPictureScreen(pDst->pDrawable->pScreen);
glyphs);
ValidatePicture (pSrc);
ValidatePicture (pDst);
(*ps->Glyphs) (op, pSrc, pDst, maskFormat, xSrc, ySrc, nlist, lists, glyphs);
} }
Bool Bool
@ -932,15 +934,15 @@ miUnrealizeGlyph (ScreenPtr pScreen,
} }
_X_EXPORT void _X_EXPORT void
CompositeGlyphs (CARD8 op, miGlyphs (CARD8 op,
PicturePtr pSrc, PicturePtr pSrc,
PicturePtr pDst, PicturePtr pDst,
PictFormatPtr maskFormat, PictFormatPtr maskFormat,
INT16 xSrc, INT16 xSrc,
INT16 ySrc, INT16 ySrc,
int nlist, int nlist,
GlyphListPtr list, GlyphListPtr list,
GlyphPtr *glyphs) GlyphPtr *glyphs)
{ {
PicturePtr pPicture; PicturePtr pPicture;
PixmapPtr pMaskPixmap = 0; PixmapPtr pMaskPixmap = 0;
@ -955,9 +957,6 @@ CompositeGlyphs (CARD8 op,
BoxRec extents = {0, 0, 0, 0}; BoxRec extents = {0, 0, 0, 0};
CARD32 component_alpha; CARD32 component_alpha;
ValidatePicture (pSrc);
ValidatePicture (pDst);
if (maskFormat) if (maskFormat)
{ {
GCPtr pGC; GCPtr pGC;

View File

@ -636,7 +636,7 @@ miPictureInit (ScreenPtr pScreen, PictFormatPtr formats, int nformats)
/* MI rendering routines */ /* MI rendering routines */
ps->Composite = 0; /* requires DDX support */ ps->Composite = 0; /* requires DDX support */
ps->Glyphs = NULL; ps->Glyphs = miGlyphs;
ps->CompositeRects = miCompositeRects; ps->CompositeRects = miCompositeRects;
ps->Trapezoids = miTrapezoids; ps->Trapezoids = miTrapezoids;
ps->Triangles = miTriangles; ps->Triangles = miTriangles;