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

Chris Wilson ickle at kemper.freedesktop.org
Fri Jun 20 02:57:33 PDT 2014


 src/sna/sna_accel.c |    2 +-
 src/sna/sna_dri2.c  |   16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

New commits:
commit db6dfc3227155a4792ba3831681daf16839b14bb
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Fri Jun 20 07:28:02 2014 +0100

    sna/dri2: Don't decouple front buffer tracking for invalid SwapBuffer calls
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index cfe65f4..e9d06ae 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -2658,6 +2658,14 @@ sna_dri2_schedule_swap(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
 	assert(get_private(front)->bo->refcnt);
 	assert(get_private(back)->bo->refcnt);
 
+	if (get_private(front)->pixmap != get_drawable_pixmap(draw))
+		goto skip;
+
+	if (get_private(back)->stale)
+		goto skip;
+
+	assert(sna_pixmap_from_drawable(draw)->flush);
+
 	if (draw->type != DRAWABLE_PIXMAP) {
 		struct dri2_window *priv = dri2_window((WindowPtr)draw);
 		if (priv->front) {
@@ -2668,14 +2676,6 @@ sna_dri2_schedule_swap(ClientPtr client, DrawablePtr draw, DRI2BufferPtr front,
 		}
 	}
 
-	if (get_private(front)->pixmap != get_drawable_pixmap(draw))
-		goto skip;
-
-	if (get_private(back)->stale)
-		goto skip;
-
-	assert(sna_pixmap_from_drawable(draw)->flush);
-
 	/* Drawable not displayed... just complete the swap */
 	if ((sna->flags & SNA_NO_WAIT) == 0)
 		crtc = sna_dri2_get_crtc(draw);
commit 113a8b9be9dd7ffbc6f7c713bc40561bdf38e8b0
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Thu Jun 19 20:39:59 2014 +0100

    sna: Mark upload from SHM segment as read-only
    
    As this may be mapped by the Xserver using a read-only SHM segment, we
    are forced to treat it always as read-only. And this being X, that it is
    using a SHM segment is opaque to the driver. Fantastic middlelayer.
    
    This was incorrectly removed in
    commit e680e54eab6ffa72e5e1eb6cc0e3fe4b235b06a1
    Author: Chris Wilson <chris at chris-wilson.co.uk>
    Date:   Wed Jun 11 10:48:26 2014 +0100
    
        sna: Ignore setting read-only for temporary userptr maps
    
    Also let's not forget the ShmPutImage -> CopyArea path.
    
    Reported-by: Christoph Haag <haagch.christoph at googlemail.com>
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=78411
    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 e53f1b8..d77f4c9 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -6368,7 +6368,7 @@ discard_cow:
 			src_bo = kgem_create_map(&sna->kgem,
 						 src_pixmap->devPrivate.ptr,
 						 src_pixmap->devKind * src_pixmap->drawable.height,
-						 false);
+						 true);
 			if (src_bo) {
 				src_bo->pitch = src_pixmap->devKind;
 				kgem_bo_mark_unreusable(src_bo);


More information about the xorg-commit mailing list