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

Chris Wilson ickle at kemper.freedesktop.org
Mon Feb 27 04:30:11 PST 2012


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

New commits:
commit 3640a0d4cb9e0f115fda9ea36212670f6ccafb22
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Mon Feb 27 12:28:22 2012 +0000

    Revert "meh"
    
    This reverts commit 4adb6967a84af8a04769c2d936a41f4a49ed1428.
    
    Oops, this debugging commit was not intended to be pushed along with the
    bugfix. :(
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 27b9327..3dd7863 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1376,10 +1376,15 @@ static void kgem_finish_partials(struct kgem *kgem)
 		if (!bo->base.exec)
 			continue;
 
-		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->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->used) {


More information about the xorg-commit mailing list