xf86-video-intel: 3 commits - man/intel.man src/sna/kgem.c src/sna/sna_accel.c

Chris Wilson ickle at kemper.freedesktop.org
Sun Sep 2 09:23:28 PDT 2012


 man/intel.man       |    5 ++---
 src/sna/kgem.c      |    3 +++
 src/sna/sna_accel.c |   14 +++++++++++++-
 3 files changed, 18 insertions(+), 4 deletions(-)

New commits:
commit 164ae7a4f9fd3e538f1b506031d297088fc0c659
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Sep 2 17:19:12 2012 +0100

    man: Malformed "Backlight" section
    
    Reported-by: Matthew Monaco <dgbaley27 at 0x01b.net>
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54397
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/man/intel.man b/man/intel.man
index 9ab9fa2..0942dc1 100644
--- a/man/intel.man
+++ b/man/intel.man
@@ -132,12 +132,11 @@ have options for selecting adaptors.
 .IP
 Default: Textured video adaptor is preferred.
 .TP
-.BI "Option \*Backlight\*q \*q" string \*q
+.BI "Option \*qBacklight\*q \*q" string \*q
 Override the probed backlight control interface. Sometimes the automatically
 selected backlight interface may not correspond to the correct, or simply
 most useful, interface available on the system. This allows you to override
-by specifying the entry under /sys/class/backlight to use.
-server log.
+that choice by specifying the entry under /sys/class/backlight to use.
 .IP
 Default: Automatic selection.
 .TP
commit 67b44104168650473a24e69056707e0b35f1713e
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Sep 2 12:47:36 2012 +0100

    sna: Cache the temporary upload buffer when copying boxes
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index bb7cda2..0cb10bc 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -3889,6 +3889,9 @@ move_to_gpu(PixmapPtr pixmap, struct sna_pixmap *priv,
 
 		return count > SOURCE_BIAS;
 	} else {
+		if (w == pixmap->drawable.width && h == pixmap->drawable.height)
+			return count > SOURCE_BIAS;
+
 		return count * w*h >= (SOURCE_BIAS+2) * (int)pixmap->drawable.width * pixmap->drawable.height;
 	}
 }
@@ -4348,6 +4351,7 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc,
 
 		if (alu != GXcopy) {
 			PixmapPtr tmp;
+			struct kgem_bo *src_bo;
 			int i;
 
 			assert(src_pixmap->drawable.depth != 1);
@@ -4363,6 +4367,9 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc,
 			if (tmp == NullPixmap)
 				return;
 
+			src_bo = sna_pixmap_get_bo(tmp);
+			assert(src_bo != NULL);
+
 			dx = -region->extents.x1;
 			dy = -region->extents.y1;
 			for (i = 0; i < n; i++) {
@@ -4389,8 +4396,13 @@ sna_copy_boxes(DrawablePtr src, DrawablePtr dst, GCPtr gc,
 					   box[i].y2 - box[i].y1);
 			}
 
+			if (n == 1 &&
+			    tmp->drawable.width == src_pixmap->drawable.width &&
+			    tmp->drawable.height == src_pixmap->drawable.height)
+				kgem_proxy_bo_attach(src_bo, &src_priv->gpu_bo);
+
 			if (!sna->render.copy_boxes(sna, alu,
-						    tmp, sna_pixmap_get_bo(tmp), dx, dy,
+						    tmp, src_bo, dx, dy,
 						    dst_pixmap, bo, 0, 0,
 						    box, n, 0)) {
 				DBG(("%s: fallback - accelerated copy boxes failed\n",
commit 4b558281e04e4d4febfc361632a90f8a45080c49
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Sep 2 12:23:59 2012 +0100

    sna: Don't retire when searching for a snoopable buffer without hw support
    
    If the hw/kernel doesn't support snoopable buffers, then it makes little
    sense to search for one, and force a retire in the certainty of not
    finding any.
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/kgem.c b/src/sna/kgem.c
index 6df5a2e..cb0c82a 100644
--- a/src/sna/kgem.c
+++ b/src/sna/kgem.c
@@ -1375,6 +1375,9 @@ search_snoop_cache(struct kgem *kgem, unsigned int num_pages, unsigned flags)
 
 	DBG(("%s: num_pages=%d, flags=%x\n", __FUNCTION__, num_pages, flags));
 
+	if ((kgem->has_cacheing | kgem->has_userptr) == 0)
+		return NULL;
+
 	if (list_is_empty(&kgem->snoop)) {
 		DBG(("%s: inactive and cache empty\n", __FUNCTION__));
 		if (!__kgem_throttle_retire(kgem, flags)) {


More information about the xorg-commit mailing list