From 6fd8d74a6aedb6484e53e704d9f44e0bf83ae9ab Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Mon, 27 Feb 2012 12:06:50 +0000 Subject: [PATCH] sna: Upload the ordinary partial buffers! Signed-off-by: Chris Wilson --- src/sna/kgem.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/sna/kgem.c b/src/sna/kgem.c index 48c131b1..27b93279 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -1393,6 +1393,7 @@ static void kgem_finish_partials(struct kgem *kgem) assert(bo->base.rq == kgem->next_request); assert(bo->base.domain != DOMAIN_GPU); + assert(bo->need_io); if (bo->base.refcnt == 1 && bo->used < bytes(&bo->base) / 2) { struct kgem_bo *shrink; @@ -1439,16 +1440,16 @@ static void kgem_finish_partials(struct kgem *kgem) bubble_sort_partial(kgem, bo); continue; } - - DBG(("%s: handle=%d, uploading %d/%d\n", - __FUNCTION__, bo->base.handle, bo->used, bytes(&bo->base))); - assert(!kgem_busy(kgem, bo->base.handle)); - assert(bo->used <= bytes(&bo->base)); - gem_write(kgem->fd, bo->base.handle, - 0, bo->used, bo->mem); - bo->need_io = 0; } + DBG(("%s: handle=%d, uploading %d/%d\n", + __FUNCTION__, bo->base.handle, bo->used, bytes(&bo->base))); + assert(!kgem_busy(kgem, bo->base.handle)); + assert(bo->used <= bytes(&bo->base)); + gem_write(kgem->fd, bo->base.handle, + 0, bo->used, bo->mem); + bo->need_io = 0; + decouple: list_del(&bo->base.list); kgem_bo_unref(kgem, &bo->base);