EXA: Glyph cache upload tweaks.

Track damage after using UploadToScreen directly.

Don't waste any effort on empty glyphs.
This commit is contained in:
Michel Dänzer 2008-04-28 21:00:55 +02:00
parent cc08c06665
commit e7eaac59c4

View File

@ -394,6 +394,12 @@ exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
pExaPixmap->sys_pitch))
return FALSE;
exaPixmapDirty (pCachePixmap,
CACHE_X(pos) + cacheXoff,
CACHE_Y(pos) + cacheYoff,
CACHE_X(pos) + cacheXoff + pGlyph->info.width,
CACHE_Y(pos) + cacheYoff + pGlyph->info.height);
return TRUE;
}
@ -737,7 +743,8 @@ exaGlyphs (CARD8 op,
glyph = *glyphs++;
pPicture = GlyphPicture (glyph)[pScreen->myNum];
if (exaBufferGlyph(pScreen, &buffer, glyph, x, y) == ExaGlyphNeedFlush)
if (glyph->info.width > 0 && glyph->info.height > 0 &&
exaBufferGlyph(pScreen, &buffer, glyph, x, y) == ExaGlyphNeedFlush)
{
if (maskFormat)
exaGlyphsToMask(pMask, &buffer);