diff options
Diffstat (limited to 'glamor/glamor_pixmap.c')
-rw-r--r-- | glamor/glamor_pixmap.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/glamor/glamor_pixmap.c b/glamor/glamor_pixmap.c index 0d92710cf..f5021b24d 100644 --- a/glamor/glamor_pixmap.c +++ b/glamor/glamor_pixmap.c @@ -1132,62 +1132,3 @@ glamor_es2_pixmap_read_prepare(PixmapPtr source, int x, int y, int w, int h, glDisableVertexAttribArray(GLAMOR_VERTEX_SOURCE); return temp_fbo; } - -/* fixup a fbo to the exact size as the pixmap. */ -/* XXX LARGE pixmap? */ -Bool -glamor_fixup_pixmap_priv(ScreenPtr screen, glamor_pixmap_private *pixmap_priv) -{ - glamor_pixmap_fbo *old_fbo; - glamor_pixmap_fbo *new_fbo = NULL; - PixmapPtr scratch = NULL; - glamor_pixmap_private *scratch_priv; - DrawablePtr drawable; - GCPtr gc = NULL; - int ret = FALSE; - - drawable = &pixmap_priv->base.pixmap->drawable; - - if (!GLAMOR_PIXMAP_FBO_NOT_EXACT_SIZE(pixmap_priv)) - return TRUE; - - old_fbo = pixmap_priv->base.fbo; - - if (!old_fbo) - return FALSE; - - gc = GetScratchGC(drawable->depth, screen); - if (!gc) - goto fail; - - scratch = glamor_create_pixmap(screen, drawable->width, drawable->height, - drawable->depth, GLAMOR_CREATE_PIXMAP_FIXUP); - - scratch_priv = glamor_get_pixmap_private(scratch); - - if (!scratch_priv->base.fbo) - goto fail; - - ValidateGC(&scratch->drawable, gc); - glamor_copy_area(drawable, - &scratch->drawable, - gc, 0, 0, drawable->width, drawable->height, 0, 0); - old_fbo = glamor_pixmap_detach_fbo(pixmap_priv); - new_fbo = glamor_pixmap_detach_fbo(scratch_priv); - glamor_pixmap_attach_fbo(pixmap_priv->base.pixmap, new_fbo); - glamor_pixmap_attach_fbo(scratch, old_fbo); - - DEBUGF("old %dx%d type %d\n", - drawable->width, drawable->height, pixmap_priv->type); - DEBUGF("copy tex %d %dx%d to tex %d %dx%d \n", - old_fbo->tex, old_fbo->width, old_fbo->height, new_fbo->tex, - new_fbo->width, new_fbo->height); - ret = TRUE; - fail: - if (gc) - FreeScratchGC(gc); - if (scratch) - glamor_destroy_pixmap(scratch); - - return ret; -} |