[PATCH] cache glyphs in the destination format requested to make sure the hardware can use the cached glyphs
Michael Lorenz
macallan1888 at gmail.com
Sun Jan 8 22:36:51 UTC 2017
From: Michael Lorenz <macallan at netbsd.org>
Signed-off-by: Michael Lorenz <macallan at netbsd.org>
---
exa/exa_glyphs.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/exa/exa_glyphs.c b/exa/exa_glyphs.c
index 192a643cc..7386d05e9 100644
--- a/exa/exa_glyphs.c
+++ b/exa/exa_glyphs.c
@@ -544,7 +544,6 @@ exaBufferGlyph(ScreenPtr pScreen,
INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst, INT16 yDst)
{
ExaScreenPriv(pScreen);
- unsigned int format = (GetGlyphPicture(pGlyph, pScreen))->format;
int width = pGlyph->info.width;
int height = pGlyph->info.height;
ExaCompositeRectPtr rect;
@@ -554,13 +553,10 @@ exaBufferGlyph(ScreenPtr pScreen,
if (buffer->count == GLYPH_BUFFER_SIZE)
return ExaGlyphNeedFlush;
- if (PICT_FORMAT_BPP(format) == 1)
- format = PICT_a8;
-
for (i = 0; i < EXA_NUM_GLYPH_CACHES; i++) {
ExaGlyphCachePtr cache = &pExaScr->glyphCaches[i];
- if (format == cache->format &&
+ if (pDst->format == cache->format &&
width <= cache->glyphWidth && height <= cache->glyphHeight) {
ExaGlyphCacheResult result = exaGlyphCacheBufferGlyph(pScreen,
&pExaScr->
--
2.11.0
More information about the xorg-devel
mailing list