EXA: Don't migrate twice in exaImageGlyphBlt.

exaPrepareAccess already handles migration.
This commit is contained in:
Michel Dänzer 2008-05-24 20:01:36 +02:00
parent d733043982
commit f6d61d3d86

View File

@ -970,10 +970,8 @@ exaImageGlyphBlt (DrawablePtr pDrawable,
int dstBpp; int dstBpp;
int dstXoff, dstYoff; int dstXoff, dstYoff;
FbBits depthMask; FbBits depthMask;
Bool fallback;
PixmapPtr pPixmap = exaGetDrawablePixmap(pDrawable); PixmapPtr pPixmap = exaGetDrawablePixmap(pDrawable);
ExaPixmapPriv(pPixmap); ExaPixmapPriv(pPixmap);
ExaMigrationRec pixmaps[1];
RegionPtr pending_damage = DamagePendingRegion(pExaPixmap->pDamage); RegionPtr pending_damage = DamagePendingRegion(pExaPixmap->pDamage);
BoxRec extents = *REGION_EXTENTS(pScreen, pending_damage); BoxRec extents = *REGION_EXTENTS(pScreen, pending_damage);
int xoff, yoff; int xoff, yoff;
@ -982,16 +980,8 @@ exaImageGlyphBlt (DrawablePtr pDrawable,
return; return;
depthMask = FbFullMask(pDrawable->depth); depthMask = FbFullMask(pDrawable->depth);
fallback = (pGC->planemask & depthMask) != depthMask;
pixmaps[0].as_dst = TRUE; if ((pGC->planemask & depthMask) != depthMask)
pixmaps[0].as_src = FALSE;
pixmaps[0].pPix = pPixmap;
pixmaps[0].pReg = fallback ? NULL : pending_damage;
exaDoMigration(pixmaps, 1, FALSE);
if (fallback)
{ {
ExaCheckImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppciInit, pglyphBase); ExaCheckImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppciInit, pglyphBase);
return; return;
@ -1014,7 +1004,7 @@ exaImageGlyphBlt (DrawablePtr pDrawable,
extents.y1 -= yoff; extents.y1 -= yoff;
extents.y2 -= yoff; extents.y2 -= yoff;
exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pixmaps[0].pReg); exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pending_damage);
if (TERMINALFONT (pGC->font) && !glyph) if (TERMINALFONT (pGC->font) && !glyph)
{ {