summaryrefslogtreecommitdiff
path: root/src/sna/sna_glyphs.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-11-23 15:42:18 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2012-11-23 15:42:18 +0000
commit4023b2044757a9a67d564be0c8adf4885973a6e3 (patch)
tree53cf69e8f2199deeb953ccaeabcde3fb8fa71521 /src/sna/sna_glyphs.c
parentf74b62755c6e41097c23cc506984859e556a3415 (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.c3
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,