summaryrefslogtreecommitdiff
path: root/src/sna/sna.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-09-10 13:53:45 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-09-10 13:57:12 +0100
commitb0d14071f7b60729c223af925935227393fbd3ee (patch)
tree5cfb2bfec45d06786f7122ac7163f7eb87d4ec2c /src/sna/sna.h
parentcfa0c6162bbd2f6edab1301b6aed886af7e8ab38 (diff)
sna: Workaround issue with global glyph privates and shared ZaphodHeads
Under ZaphodHeads we end up with multple screens accessing the common sna_glyph_key and so cause conflicting updates and erroneous references into the screen-local texture atlases. Two approaches can be tried here. Transition to a screen-specific private key introduced with xorg-1.13, or to move the glyph cache (and the rest of the gpu state tracker) down into the device private rather than screen private. This is neither of those, but a workaround to avoid reusing the incorrect entries from shared screens. Reported-by: Stephen Liang <inteldriver@angrywalls.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54707 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna.h')
-rw-r--r--src/sna/sna.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h
index 44e7f6e4..382c0a52 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -709,6 +709,12 @@ void sna_glyphs(CARD8 op,
int nlist,
GlyphListPtr list,
GlyphPtr *glyphs);
+void sna_glyphs__shared(CARD8 op,
+ PicturePtr src,
+ PicturePtr dst,
+ PictFormatPtr mask,
+ INT16 src_x, INT16 src_y,
+ int nlist, GlyphListPtr list, GlyphPtr *glyphs);
void sna_glyph_unrealize(ScreenPtr screen, GlyphPtr glyph);
void sna_glyphs_close(struct sna *sna);