xf86-video-intel: 2 commits - src/sna/kgem.c

Chris Wilson ickle at kemper.freedesktop.org
Mon Feb 27 04:23:16 PST 2012


 src/sna/kgem.c |   32 +++++++++++++-------------------
 1 file changed, 13 insertions(+), 19 deletions(-)

New commits:
commit 6fd8d74a6aedb6484e53e704d9f44e0bf83ae9ab
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Feb 27 12:06:50 2012 +0000

    sna: Upload the ordinary partial buffers!
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 48c131b..27b9327 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1393,6 +1393,7 @@ static void kgem_finish_partials(struct kgem *kgem)
 
 		assert(bo->base.rq == kgem->next_request);
 		assert(bo->base.domain != DOMAIN_GPU);
+		assert(bo->need_io);
 
 		if (bo->base.refcnt == 1 && bo->used < bytes(&bo->base) / 2) {
 			struct kgem_bo *shrink;
@@ -1439,16 +1440,16 @@ static void kgem_finish_partials(struct kgem *kgem)
 				bubble_sort_partial(kgem, bo);
 				continue;
 			}
-
-			DBG(("%s: handle=%d, uploading %d/%d\n",
-			     __FUNCTION__, bo->base.handle, bo->used, bytes(&bo->base)));
-			assert(!kgem_busy(kgem, bo->base.handle));
-			assert(bo->used <= bytes(&bo->base));
-			gem_write(kgem->fd, bo->base.handle,
-				  0, bo->used, bo->mem);
-			bo->need_io = 0;
 		}
 
+		DBG(("%s: handle=%d, uploading %d/%d\n",
+		     __FUNCTION__, bo->base.handle, bo->used, bytes(&bo->base)));
+		assert(!kgem_busy(kgem, bo->base.handle));
+		assert(bo->used <= bytes(&bo->base));
+		gem_write(kgem->fd, bo->base.handle,
+			  0, bo->used, bo->mem);
+		bo->need_io = 0;
+
 decouple:
 		list_del(&bo->base.list);
 		kgem_bo_unref(kgem, &bo->base);
commit 4adb6967a84af8a04769c2d936a41f4a49ed1428
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Feb 27 11:36:35 2012 +0000

    meh

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 2097994..48c131b 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1376,15 +1376,10 @@ static void kgem_finish_partials(struct kgem *kgem)
 		if (!bo->base.exec)
 			continue;
 
-		if (bo->mmapped) {
-			assert(bo->write & KGEM_BUFFER_WRITE_INPLACE);
-			assert(!bo->need_io);
-			if (kgem->has_llc || !IS_CPU_MAP(bo->base.map)) {
-				DBG(("%s: retaining partial upload buffer (%d/%d)\n",
-				     __FUNCTION__, bo->used, bytes(&bo->base)));
-				continue;
-			}
-			goto decouple;
+		if (bo->write & KGEM_BUFFER_WRITE_INPLACE) {
+			DBG(("%s: retaining partial upload buffer (%d/%d)\n",
+			     __FUNCTION__, bo->used, bytes(&bo->base)));
+			continue;
 		}
 
 		if (!bo->used) {
@@ -3471,8 +3466,6 @@ struct kgem_bo *kgem_create_buffer(struct kgem *kgem,
 			}
 			DBG(("%s: created handle=%d for buffer\n",
 			     __FUNCTION__, bo->base.handle));
-
-			bo->base.domain = DOMAIN_CPU;
 		}
 
 		bo->mem = kgem_bo_map__cpu(kgem, &bo->base);


More information about the xorg-commit mailing list