diff --git a/src/gallium/drivers/nouveau/nouveau_buffer.c b/src/gallium/drivers/nouveau/nouveau_buffer.c index 284525086d0..78f8a9cb5d8 100644 --- a/src/gallium/drivers/nouveau/nouveau_buffer.c +++ b/src/gallium/drivers/nouveau/nouveau_buffer.c @@ -91,12 +91,8 @@ nouveau_buffer_release_gpu_storage(struct nv04_resource *buf) { assert(!(buf->status & NOUVEAU_BUFFER_STATUS_USER_PTR)); - if (buf->fence && buf->fence->state < NOUVEAU_FENCE_STATE_FLUSHED) { - nouveau_fence_work(buf->fence, nouveau_fence_unref_bo, buf->bo); - buf->bo = NULL; - } else { - nouveau_bo_ref(NULL, &buf->bo); - } + nouveau_fence_work(buf->fence, nouveau_fence_unref_bo, buf->bo); + buf->bo = NULL; if (buf->mm) release_allocation(&buf->mm, buf->fence); diff --git a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c index 8f45d9e659f..4554dbf02d4 100644 --- a/src/gallium/drivers/nouveau/nv50/nv50_miptree.c +++ b/src/gallium/drivers/nouveau/nv50/nv50_miptree.c @@ -163,11 +163,7 @@ nv50_miptree_destroy(struct pipe_screen *pscreen, struct pipe_resource *pt) { struct nv50_miptree *mt = nv50_miptree(pt); - if (mt->base.fence && mt->base.fence->state < NOUVEAU_FENCE_STATE_FLUSHED) - nouveau_fence_work(mt->base.fence, nouveau_fence_unref_bo, mt->base.bo); - else - nouveau_bo_ref(NULL, &mt->base.bo); - + nouveau_fence_work(mt->base.fence, nouveau_fence_unref_bo, mt->base.bo); nouveau_fence_ref(NULL, &mt->base.fence); nouveau_fence_ref(NULL, &mt->base.fence_wr);