diff --git a/glamor/glamor.c b/glamor/glamor.c index 53fe71d49..c0f9d51b5 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -359,6 +359,9 @@ glamor_init(ScreenPtr screen, unsigned int flags) ps->CreatePicture = glamor_create_picture; glamor_priv->saved_destroy_picture = ps->DestroyPicture; ps->DestroyPicture = glamor_destroy_picture; + + glamor_priv->saved_unrealize_glyph = ps->UnrealizeGlyph; + ps->UnrealizeGlyph = glamor_glyph_unrealize; #endif glamor_init_solid_shader(screen); glamor_init_tile_shader(screen); diff --git a/glamor/glamor_priv.h b/glamor/glamor_priv.h index 76e21ea1e..325fa4343 100644 --- a/glamor/glamor_priv.h +++ b/glamor/glamor_priv.h @@ -205,6 +205,7 @@ typedef struct glamor_screen_private { TrianglesProcPtr saved_triangles; CreatePictureProcPtr saved_create_picture; DestroyPictureProcPtr saved_destroy_picture; + UnrealizeGlyphProcPtr saved_unrealize_glyph; int yInverted; int screen_fbo; @@ -828,6 +829,8 @@ void glamor_glyphs(CARD8 op, INT16 xSrc, INT16 ySrc, int nlist, GlyphListPtr list, GlyphPtr * glyphs); +void +glamor_glyph_unrealize (ScreenPtr screen, GlyphPtr glyph); /* glamor_setspans.c */ void glamor_set_spans(DrawablePtr drawable, GCPtr gc, char *src, DDXPointPtr points, int *widths, int n, int sorted);