summaryrefslogtreecommitdiff
path: root/exa/exa_accel.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2008-05-24 20:01:36 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2008-05-24 20:01:36 +0200
commitf6d61d3d86971d6a202b46ff2fab8c8799a4d057 (patch)
treeb085754b4d5c69ffbfb32f7e21da3ad501e1da24 /exa/exa_accel.c
parentd73304398255e0c3b03a497a8d4a2f8d900eef44 (diff)
EXA: Don't migrate twice in exaImageGlyphBlt.
exaPrepareAccess already handles migration.
Diffstat (limited to 'exa/exa_accel.c')
-rw-r--r--exa/exa_accel.c14
1 files changed, 2 insertions, 12 deletions
diff --git a/exa/exa_accel.c b/exa/exa_accel.c
index 67d30f154..edaec23df 100644
--- a/exa/exa_accel.c
+++ b/exa/exa_accel.c
@@ -970,10 +970,8 @@ exaImageGlyphBlt (DrawablePtr pDrawable,
int dstBpp;
int dstXoff, dstYoff;
FbBits depthMask;
- Bool fallback;
PixmapPtr pPixmap = exaGetDrawablePixmap(pDrawable);
ExaPixmapPriv(pPixmap);
- ExaMigrationRec pixmaps[1];
RegionPtr pending_damage = DamagePendingRegion(pExaPixmap->pDamage);
BoxRec extents = *REGION_EXTENTS(pScreen, pending_damage);
int xoff, yoff;
@@ -982,16 +980,8 @@ exaImageGlyphBlt (DrawablePtr pDrawable,
return;
depthMask = FbFullMask(pDrawable->depth);
- fallback = (pGC->planemask & depthMask) != depthMask;
-
- pixmaps[0].as_dst = TRUE;
- pixmaps[0].as_src = FALSE;
- pixmaps[0].pPix = pPixmap;
- pixmaps[0].pReg = fallback ? NULL : pending_damage;
-
- exaDoMigration(pixmaps, 1, FALSE);
- if (fallback)
+ if ((pGC->planemask & depthMask) != depthMask)
{
ExaCheckImageGlyphBlt(pDrawable, pGC, x, y, nglyph, ppciInit, pglyphBase);
return;
@@ -1014,7 +1004,7 @@ exaImageGlyphBlt (DrawablePtr pDrawable,
extents.y1 -= yoff;
extents.y2 -= yoff;
- exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pixmaps[0].pReg);
+ exaPrepareAccessReg (pDrawable, EXA_PREPARE_DEST, pending_damage);
if (TERMINALFONT (pGC->font) && !glyph)
{