diff --git a/glamor/glamor.c b/glamor/glamor.c index c3e4eb9f8..03886ad65 100644 --- a/glamor/glamor.c +++ b/glamor/glamor.c @@ -121,6 +121,13 @@ glamor_create_pixmap(ScreenPtr screen, int w, int h, int depth, static Bool glamor_destroy_pixmap(PixmapPtr pixmap) { + if (pixmap->refcnt == 1) { + glamor_pixmap_private *pixmap_priv = glamor_get_pixmap_private(pixmap); + + glDeleteFramebuffersEXT(1, &pixmap_priv->fb); + glDeleteTextures(1, &pixmap_priv->tex); + } + return fbDestroyPixmap(pixmap); }