sna: Allow snooped buffers to be retained (and reused) between batches
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
f5d79b202d
commit
0c4a2bcc3d
|
|
@ -2023,10 +2023,9 @@ static void kgem_finish_buffers(struct kgem *kgem)
|
|||
used = ALIGN(bo->used + PAGE_SIZE-1, PAGE_SIZE);
|
||||
if (!DBG_NO_UPLOAD_ACTIVE &&
|
||||
used + PAGE_SIZE <= bytes(&bo->base) &&
|
||||
(kgem->has_llc || !IS_CPU_MAP(bo->base.map))) {
|
||||
(kgem->has_llc || !IS_CPU_MAP(bo->base.map) || bo->base.snoop)) {
|
||||
DBG(("%s: retaining upload buffer (%d/%d)\n",
|
||||
__FUNCTION__, bo->used, bytes(&bo->base)));
|
||||
assert(!bo->base.snoop);
|
||||
bo->used = used;
|
||||
list_move(&bo->base.list,
|
||||
&kgem->active_buffers);
|
||||
|
|
@ -4663,8 +4662,7 @@ struct kgem_bo *kgem_create_buffer(struct kgem *kgem,
|
|||
assert(bo->base.io);
|
||||
assert(bo->base.refcnt >= 1);
|
||||
assert(bo->mmapped);
|
||||
assert(!bo->base.snoop);
|
||||
assert(!IS_CPU_MAP(bo->base.map) || kgem->has_llc);
|
||||
assert(!IS_CPU_MAP(bo->base.map) || kgem->has_llc || bo->base.snoop);
|
||||
|
||||
if ((bo->write & ~flags) & KGEM_BUFFER_INPLACE) {
|
||||
DBG(("%s: skip write %x buffer, need %x\n",
|
||||
|
|
|
|||
Loading…
Reference in New Issue