diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2013-10-30 10:02:28 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2013-10-30 13:42:44 +0000 |
commit | 4d13d52258702f2581ca4f695b69e4dc8f510581 (patch) | |
tree | 70242f05ef5494fb1c4ce6d9d92d6ecbb1999b55 /src | |
parent | 59531ba31aa479497cb76b67ea972d1cfa6aec79 (diff) |
sna: Queue retirement when placing a BO on the deferred flushing list
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src')
-rw-r--r-- | src/sna/kgem.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sna/kgem.c b/src/sna/kgem.c index 6afbec76..7c0ad119 100644 --- a/src/sna/kgem.c +++ b/src/sna/kgem.c @@ -2183,6 +2183,7 @@ static bool __kgem_retire_rq(struct kgem *kgem, struct kgem_request *rq) __FUNCTION__, bo->handle)); list_add(&bo->request, &kgem->flushing); bo->rq = MAKE_REQUEST(kgem, RQ_RING(bo->rq)); + kgem->need_retire = true; continue; } @@ -2710,6 +2711,7 @@ void kgem_reset(struct kgem *kgem) assert(bo->domain == DOMAIN_GPU || bo->domain == DOMAIN_NONE); list_add(&bo->request, &kgem->flushing); bo->rq = (void *)kgem; + kgem->need_retire = true; } else __kgem_bo_clear_busy(bo); @@ -3952,6 +3954,7 @@ __kgem_bo_create_as_display(struct kgem *kgem, int size, int tiling, int pitch) assert(bo->exec == NULL); list_add(&bo->request, &kgem->flushing); bo->rq = (void *)kgem; + kgem->need_retire = true; } assert_tiling(kgem, bo); |