diff options
Diffstat (limited to 'src/sna/sna_accel.c')
-rw-r--r-- | src/sna/sna_accel.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index ba97b33c..0994c331 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -3942,7 +3942,13 @@ try_upload_tiled_x(PixmapPtr pixmap, RegionRec *region, DBG(("%s: bo? %d, can tile? %d\n", __FUNCTION__, priv->gpu_bo != NULL, - priv->gpu_bo ? can_upload_tiled(&sna->kgem, priv->gpu_bo) : 0)); + priv->gpu_bo ? can_upload_tiled_x(&sna->kgem, priv->gpu_bo) : 0)); + + if (priv->gpu_bo && priv->gpu_bo->proxy) { + DBG(("%s: discarding cached upload proxy\n", __FUNCTION__)); + kgem_bo_destroy(&sna->kgem, priv->gpu_bo); + priv->gpu_bo = NULL; + } if (priv->gpu_bo == NULL && !create_upload_tiled_x(&sna->kgem, pixmap, priv)) |