summaryrefslogtreecommitdiff
path: root/src/sna
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-04-09 22:54:51 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-04-10 12:07:12 +0100
commit102d11906a672140bac099e7bd1b35345d13a2fc (patch)
tree4718019053a14696d82607fb599348bfe435a3f2 /src/sna
parente2fb2421d8f5c07925d1699673aa4b1dd6c6b22c (diff)
sna: Check for an inactive partial buffer to reuse after retiring requests
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna')
-rw-r--r--src/sna/kgem.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 470cefb9..581e3c80 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -3575,7 +3575,7 @@ struct kgem_bo *kgem_create_buffer(struct kgem *kgem,
}
if (flags & KGEM_BUFFER_WRITE) {
- list_for_each_entry_reverse(bo, &kgem->inactive_partials, base.list) {
+ do list_for_each_entry_reverse(bo, &kgem->inactive_partials, base.list) {
assert(bo->base.io);
assert(bo->base.refcnt == 1);
@@ -3595,7 +3595,7 @@ struct kgem_bo *kgem_create_buffer(struct kgem *kgem,
bo->used = size;
list_move(&bo->base.list, &kgem->active_partials);
goto done;
- }
+ } while (kgem_retire(kgem));
}
#if !DBG_NO_MAP_UPLOAD