diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-11-23 15:42:18 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-11-23 15:42:18 +0000 |
commit | 4023b2044757a9a67d564be0c8adf4885973a6e3 (patch) | |
tree | 53cf69e8f2199deeb953ccaeabcde3fb8fa71521 /src/sna/sna_glyphs.c | |
parent | f74b62755c6e41097c23cc506984859e556a3415 (diff) |
sna/gen4: Force composite(WHITE, glyph) for building the glyphstring mask
For reasons that are not apparent, if we don't composite with
source/mask for the glyph strings, there appears to be some cache
corruption. About as bizarre as the rest of gen4 idiosynacracies.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_glyphs.c')
-rw-r--r-- | src/sna/sna_glyphs.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/sna/sna_glyphs.c b/src/sna/sna_glyphs.c index 9a6ad4b5..51ef2b0e 100644 --- a/src/sna/sna_glyphs.c +++ b/src/sna/sna_glyphs.c @@ -1090,7 +1090,8 @@ next_image: __FUNCTION__, (int)this_atlas->format, (int)(format->depth << 24 | format->format))); - if (this_atlas->format == (format->depth << 24 | format->format)) { + if (this_atlas->format == (format->depth << 24 | format->format) && + !(sna->kgem.gen >= 40 && sna->kgem.gen < 50)) { /* XXX cache corruption? how? */ ok = sna->render.composite(sna, PictOpAdd, this_atlas, NULL, mask, 0, 0, 0, 0, 0, 0, |