From caf9144271a10f90ea580c246b2df3f69a10b7a0 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 20 Apr 2012 17:15:37 +0100 Subject: [PATCH] sna: Remove the assertions that the cached upload buffers are active These were added to track down some corruption, but the assertions themselves are incorrect, just very rare. The upload buffer may genuinely be cached if we abort the render operation after uploading the source data, leaving the proxy not coupled to any request. References: https://bugs.freedesktop.org/show_bug.cgi?id=48400 Signed-off-by: Chris Wilson --- src/sna/sna_accel.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c index 06bd2c00..382c6714 100644 --- a/src/sna/sna_accel.c +++ b/src/sna/sna_accel.c @@ -1943,7 +1943,6 @@ sna_drawable_use_bo(DrawablePtr drawable, } if (priv->gpu_bo && priv->gpu_bo->proxy) { - assert(priv->gpu_bo->proxy->rq); kgem_bo_destroy(&to_sna_from_pixmap(pixmap)->kgem, priv->gpu_bo); priv->gpu_bo = NULL; @@ -2290,7 +2289,6 @@ sna_pixmap_move_to_gpu(PixmapPtr pixmap, unsigned flags) if (flags & MOVE_WRITE && priv->gpu_bo && priv->gpu_bo->proxy) { DBG(("%s: discarding cached upload buffer\n", __FUNCTION__)); - assert(priv->gpu_bo->proxy->rq); kgem_bo_destroy(&sna->kgem, priv->gpu_bo); priv->gpu_bo = NULL; } @@ -2744,7 +2742,6 @@ sna_put_zpixmap_blt(DrawablePtr drawable, GCPtr gc, RegionPtr region, if (priv->gpu_bo && priv->gpu_bo->proxy) { DBG(("%s: discarding cached upload buffer\n", __FUNCTION__)); - assert(priv->gpu_bo->proxy->rq); kgem_bo_destroy(&sna->kgem, priv->gpu_bo); priv->gpu_bo = NULL; } @@ -3540,7 +3537,6 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc, if (dst_priv->gpu_bo && dst_priv->gpu_bo->proxy) { DBG(("%s: discarding cached upload\n", __FUNCTION__)); - assert(dst_priv->gpu_bo->proxy->rq); kgem_bo_destroy(&sna->kgem, dst_priv->gpu_bo); dst_priv->gpu_bo = NULL; } @@ -8383,9 +8379,10 @@ sna_poly_arc(DrawablePtr drawable, GCPtr gc, int n, xArc *arc) if (data.flags == 0) return; - DBG(("%s: extents=(%d, %d), (%d, %d)\n", __FUNCTION__, + DBG(("%s: extents=(%d, %d), (%d, %d), flags=%x\n", __FUNCTION__, data.region.extents.x1, data.region.extents.y1, - data.region.extents.x2, data.region.extents.y2)); + data.region.extents.x2, data.region.extents.y2, + data.flags)); data.region.data = NULL;