xf86-video-intel: 3 commits - src/sna/gen3_render.c src/sna/kgem.c src/sna/sna_composite.c src/sna/sna_io.c

Chris Wilson ickle at kemper.freedesktop.org
Sun Jan 15 02:31:46 PST 2012


 src/sna/gen3_render.c   |    3 ++-
 src/sna/kgem.c          |   16 +++++++++++++---
 src/sna/sna_composite.c |    2 +-
 src/sna/sna_io.c        |   17 ++++++++---------
 4 files changed, 24 insertions(+), 14 deletions(-)

New commits:
commit 5df7147b0934dadc63459c2c0f33e0663692425a
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jan 15 10:28:00 2012 +0000

    sna: Restore the kgem_create_map() symbol
    
    As the stub is exported to the driver even in the absence of vmapping.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 830a2ba..32d3fa0 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -2775,6 +2775,13 @@ struct kgem_bo *kgem_create_map(struct kgem *kgem,
 	     __FUNCTION__, ptr, size, read_only, handle));
 	return bo;
 }
+#else
+struct kgem_bo *kgem_create_map(struct kgem *kgem,
+				void *ptr, uint32_t size,
+				bool read_only)
+{
+	return 0;
+}
 #endif
 
 void kgem_bo_sync__cpu(struct kgem *kgem, struct kgem_bo *bo)
commit be53740c6f0bb182e3d88f0597f127732c839316
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jan 15 10:16:13 2012 +0000

    sna: Various DBG typos
    
    Fix some mispellings inside the DBG messages
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/gen3_render.c b/src/sna/gen3_render.c
index cd59a08..b131b89 100644
--- a/src/sna/gen3_render.c
+++ b/src/sna/gen3_render.c
@@ -4019,7 +4019,8 @@ gen3_render_fill_boxes_try_blt(struct sna *sna,
 						  color->blue,
 						  color->alpha,
 						  format)) {
-			DBG(("%s: unknown format %lx\n", __FUNCTION__, format));
+			DBG(("%s: unknown format %x\n", __FUNCTION__,
+			     (uint32_t)format));
 			return FALSE;
 		}
 	} else {
diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 2c77bc5..830a2ba 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -629,7 +629,7 @@ void kgem_init(struct kgem *kgem, int fd, struct pci_device *dev, int gen)
 	while (kgem->partial_buffer_size < kgem->aperture_mappable >> 10)
 		kgem->partial_buffer_size *= 2;
 	DBG(("%s: partial buffer size=%d [%d KiB]\n", __FUNCTION__,
-	     kgem->partial_buffer_size, kgem->partial_buffer_zie / 1024));
+	     kgem->partial_buffer_size, kgem->partial_buffer_size / 1024));
 
 	kgem->min_alignment = 4;
 	if (gen < 60)
@@ -3292,8 +3292,11 @@ void kgem_buffer_read_sync(struct kgem *kgem, struct kgem_bo *_bo)
 	if (bo->mmapped) {
 		struct drm_i915_gem_set_domain set_domain;
 
-		DBG(("%s: sync: needs_flush? %d, domain? %d, busy? %d\n", __FUNCTION__,
-		     bo->needs_flush, bo->domain, kgem_busy(kgem, bo->handle)));
+		DBG(("%s: sync: needs_flush? %d, domain? %d, busy? %d\n",
+		     __FUNCTION__,
+		     bo->base.needs_flush,
+		     bo->base.domain,
+		     kgem_busy(kgem, bo->base.handle)));
 
 		VG_CLEAR(set_domain);
 		set_domain.handle = bo->base.handle;
diff --git a/src/sna/sna_composite.c b/src/sna/sna_composite.c
index f8f61f5..4111b8d 100644
--- a/src/sna/sna_composite.c
+++ b/src/sna/sna_composite.c
@@ -434,7 +434,7 @@ sna_composite(CARD8 op,
 	}
 
 	if (op == PictOpClear) {
-		DBG(("%s: discarind sourceand mask for clear\n", __FUNCTION__));
+		DBG(("%s: discarding source and mask for clear\n", __FUNCTION__));
 		mask = NULL;
 		src = clear;
 	}
commit 349e9a7b94199e759acaaccac3abf5e28f3c246f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jan 15 10:04:11 2012 +0000

    sna: Prefer read-boxes inplace again
    
    Using the gpu to do the detiling just incurs extra latency and an extra
    copy, so go back to using a fence and GTT mapping for the common path.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_io.c b/src/sna/sna_io.c
index d6b988f..5d3e9e5 100644
--- a/src/sna/sna_io.c
+++ b/src/sna/sna_io.c
@@ -115,16 +115,15 @@ void sna_read_boxes(struct sna *sna,
 	}
 #endif
 
-	if (DEBUG_NO_IO || kgem->wedged || src_bo->tiling == I915_TILING_Y) {
-		read_boxes_inplace(kgem,
-				   src_bo, src_dx, src_dy,
-				   dst, dst_dx, dst_dy,
-				   box, nbox);
-		return;
-	}
+	/* XXX The gpu is faster to perform detiling in bulk, but takes
+	 * longer to setup and retrieve the results, with an additional
+	 * copy. The long term solution is to use snoopable bo and avoid
+	 * this path.
+	 */
 
-	if (src_bo->tiling != I915_TILING_X &&
-	    !kgem_bo_map_will_stall(kgem, src_bo)) {
+	if (DEBUG_NO_IO || kgem->wedged ||
+	    !kgem_bo_map_will_stall(kgem, src_bo) ||
+	    src_bo->tiling != I915_TILING_X) {
 		read_boxes_inplace(kgem,
 				   src_bo, src_dx, src_dy,
 				   dst, dst_dx, dst_dy,


More information about the xorg-commit mailing list