xf86-video-intel: src/sna/sna_accel.c src/sna/sna.h src/sna/sna_trapezoids.c

Chris Wilson ickle at kemper.freedesktop.org
Wed Mar 14 14:31:04 PDT 2012


 src/sna/sna.h            |    2 ++
 src/sna/sna_accel.c      |    9 +++++++++
 src/sna/sna_trapezoids.c |    5 ++---
 3 files changed, 13 insertions(+), 3 deletions(-)

New commits:
commit 6890592cd2b2d6f0d06c530f5e770fdc98577d4f
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Mar 14 21:30:13 2012 +0000

    sna/traps: Explicitly create an unattach pixmap for fallback
    
    References: https://bugs.freedesktop.org/show_bug.cgi?id=42426
    Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>

diff --git a/src/sna/sna.h b/src/sna/sna.h
index 6ec4748..55c5f5a 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -419,6 +419,8 @@ static inline Bool pixmap_is_scanout(PixmapPtr pixmap)
 PixmapPtr sna_pixmap_create_upload(ScreenPtr screen,
 				   int width, int height, int depth,
 				   unsigned flags);
+PixmapPtr sna_pixmap_create_unattached(ScreenPtr screen,
+				       int width, int height, int depth);
 
 struct sna_pixmap *sna_pixmap_move_to_gpu(PixmapPtr pixmap, unsigned flags);
 struct sna_pixmap *sna_pixmap_force_to_gpu(PixmapPtr pixmap, unsigned flags);
diff --git a/src/sna/sna_accel.c b/src/sna/sna_accel.c
index a5da2ca..63afaaa 100644
--- a/src/sna/sna_accel.c
+++ b/src/sna/sna_accel.c
@@ -623,6 +623,15 @@ sna_pixmap_create_shm(ScreenPtr screen,
 	return pixmap;
 }
 
+PixmapPtr
+sna_pixmap_create_unattached(ScreenPtr screen,
+			     int width, int height, int depth)
+{
+	return create_pixmap(to_sna_from_screen(screen),
+			     screen, width, height, depth,
+			     CREATE_PIXMAP_USAGE_SCRATCH);
+}
+
 static PixmapPtr
 sna_pixmap_create_scratch(ScreenPtr screen,
 			  int width, int height, int depth,
diff --git a/src/sna/sna_trapezoids.c b/src/sna/sna_trapezoids.c
index f0f48e8..8ecd18a 100644
--- a/src/sna/sna_trapezoids.c
+++ b/src/sna/sna_trapezoids.c
@@ -2464,9 +2464,8 @@ trapezoids_fallback(CARD8 op, PicturePtr src, PicturePtr dst,
 				pixman_image_unref(image);
 			}
 		} else {
-			scratch = screen->CreatePixmap(screen,
-						       width, height, depth,
-						       CREATE_PIXMAP_USAGE_SCRATCH);
+			scratch = sna_pixmap_create_unattached(screen,
+							       width, height, depth);
 			if (!scratch)
 				return;
 


More information about the xorg-commit mailing list