EXA: Use exaShmPutImage for pushing glyphs to scratch pixmap in exaGlyphs.

This commit is contained in:
Michel Dänzer 2007-08-31 16:59:28 +02:00
parent be922b3048
commit 5f7da4da8d
3 changed files with 15 additions and 1 deletions

View File

@ -287,7 +287,7 @@ exaDoShmPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth,
* We also need to set the pending damage to ensure correct migration in all
* cases.
*/
static void
void
exaShmPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, unsigned int format,
int w, int h, int sx, int sy, int sw, int sh, int dx, int dy,
char *data)

View File

@ -299,6 +299,11 @@ exaFillRegionTiled (DrawablePtr pDrawable, RegionPtr pRegion, PixmapPtr pTile,
void
exaPaintWindow(WindowPtr pWin, RegionPtr pRegion, int what);
void
exaShmPutImage(DrawablePtr pDrawable, GCPtr pGC, int depth, unsigned int format,
int w, int h, int sx, int sy, int sw, int sh, int dx, int dy,
char *data);
void
exaGetImage (DrawablePtr pDrawable, int x, int y, int w, int h,
unsigned int format, unsigned long planeMask, char *d);

View File

@ -1282,6 +1282,15 @@ exaGlyphs (CARD8 op,
pScratchPixmap->drawable.serialNumber = NEXT_SERIAL_NUMBER;
}
#ifdef MITSHM
if (pExaScr->info->PrepareComposite)
exaShmPutImage(&pPixmap->drawable, pGC,
pPixmap->drawable.depth, ZPixmap,
glyph->info.width, glyph->info.height, 0, 0,
glyph->info.width, glyph->info.height, 0, 0,
glyphdata);
else
#endif
exaCopyArea (&pScratchPixmap->drawable, &pPixmap->drawable, pGC,
0, 0, glyph->info.width, glyph->info.height, 0, 0);
}