EXA: Glyph cache upload tweaks.
Track damage after using UploadToScreen directly. Don't waste any effort on empty glyphs.
This commit is contained in:
parent
cc08c06665
commit
e7eaac59c4
|
@ -394,6 +394,12 @@ exaGlyphCacheUploadGlyph(ScreenPtr pScreen,
|
||||||
pExaPixmap->sys_pitch))
|
pExaPixmap->sys_pitch))
|
||||||
return FALSE;
|
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;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -737,7 +743,8 @@ exaGlyphs (CARD8 op,
|
||||||
glyph = *glyphs++;
|
glyph = *glyphs++;
|
||||||
pPicture = GlyphPicture (glyph)[pScreen->myNum];
|
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)
|
if (maskFormat)
|
||||||
exaGlyphsToMask(pMask, &buffer);
|
exaGlyphsToMask(pMask, &buffer);
|
||||||
|
|
Loading…
Reference in New Issue