sna: Discard the GPU bo after syncing to CPU bo for writing

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Chris Wilson 2012-08-11 12:59:49 +01:00
parent 029934662e
commit b335d369bb
1 changed files with 7 additions and 3 deletions

View File

@ -1400,9 +1400,13 @@ done:
assert(priv->gpu_bo == NULL || priv->gpu_bo->proxy == NULL);
}
if ((flags & MOVE_ASYNC_HINT) == 0 && priv->cpu_bo) {
DBG(("%s: syncing CPU bo\n", __FUNCTION__));
kgem_bo_sync__cpu(&sna->kgem, priv->cpu_bo);
if (priv->cpu_bo) {
if ((flags & MOVE_ASYNC_HINT) == 0) {
DBG(("%s: syncing CPU bo\n", __FUNCTION__));
kgem_bo_sync__cpu(&sna->kgem, priv->cpu_bo);
}
if (flags & MOVE_WRITE)
sna_pixmap_free_gpu(sna, priv);
}
priv->cpu = (flags & MOVE_ASYNC_HINT) == 0;
assert(pixmap->devPrivate.ptr);