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

Chris Wilson ickle at kemper.freedesktop.org
Sun Jun 12 12:14:41 PDT 2011


 src/sna/sna.h         |    1 +
 src/sna/sna_accel.c   |    8 ++++++++
 src/sna/sna_display.c |    4 +++-
 3 files changed, 12 insertions(+), 1 deletion(-)

New commits:
commit b881d1b16a8beec024ac18eca8308418e34cb05d
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jun 12 20:13:26 2011 +0100

    sna: Check that the scanout is still attached before waiting for scanline
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
index bf0b98f..e893a37 100644
--- a/src/sna/sna_display.c
+++ b/src/sna/sna_display.c
@@ -1877,9 +1877,11 @@ sna_wait_for_scanline(struct sna *sna,
 
 	if (crtc == NULL) {
 		crtc = sna_covering_crtc(sna->scrn, clip, NULL, &crtc_box);
-		assert(crtc);
+		if (crtc == NULL)
+			return false;
 	} else
 		sna_crtc_box(crtc, &crtc_box);
+	assert(sna_crtc_on(crtc));
 
 	if (crtc->transform_in_use) {
 		box = *clip;
commit bb08e73c557c379ef131225ffea5aa729ca781d6
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Sun Jun 12 20:07:20 2011 +0100

    sna: Prevent tracking scratch pixmaps on older xservers
    
    Before the xserver is patched to send notification of release of the
    scratch pixmaps, we cannot associated GPU resources with them. In
    practice, the only advantage for doing so is for SHM pixmaps...
    
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna.h b/src/sna/sna.h
index 1173b7b..7456f05 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -121,6 +121,7 @@ static inline void list_add_tail(struct list *new, struct list *head)
 }
 
 #ifndef CREATE_PIXMAP_USAGE_SCRATCH_HEADER
+#define FAKE_CREATE_PIXMAP_USAGE_SCRATCH_HEADER 1
 #define CREATE_PIXMAP_USAGE_SCRATCH_HEADER -1
 #endif
 
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index 8a8165e..9e03caf 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -150,6 +150,9 @@ struct sna_pixmap *sna_pixmap_attach(PixmapPtr pixmap)
 
 	switch (pixmap->usage_hint) {
 	case CREATE_PIXMAP_USAGE_GLYPH_PICTURE:
+#if FAKE_CREATE_PIXMAP_USAGE_SCRATCH_HEADER
+	case CREATE_PIXMAP_USAGE_SCRATCH_HEADER:
+#endif
 		return NULL;
 	}
 
@@ -249,6 +252,11 @@ static PixmapPtr sna_create_pixmap(ScreenPtr screen,
 						 width, height, depth,
 						 I915_TILING_Y);
 
+#if FAKE_CREATE_PIXMAP_USAGE_SCRATCH_HEADER
+	if (width == 0 || height == 0)
+		usage = CREATE_PIXMAP_USAGE_SCRATCH_HEADER;
+#endif
+
 	/* XXX could use last deferred free? */
 
 	pixmap = fbCreatePixmap(screen, width, height, depth, usage);


More information about the xorg-commit mailing list