xserver: Branch 'master'

Maarten Maathuis madman2003 at kemper.freedesktop.org
Thu Mar 19 12:40:41 PDT 2009


 exa/exa.c |   18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

New commits:
commit 12aeddf5ad41902a180f8108623f356642b3e911
Author: Maarten Maathuis <madman2003 at gmail.com>
Date:   Thu Mar 19 19:07:59 2009 +0100

    exa: Accept scratch pixmaps with offscreen memory as such.

diff --git a/exa/exa.c b/exa/exa.c
index ecb2117..10abf06 100644
--- a/exa/exa.c
+++ b/exa/exa.c
@@ -427,11 +427,19 @@ exaModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, int depth,
         if (devKind > 0)
             pExaPixmap->sys_pitch = devKind;
 
-	/* Is this the framebuffer (for classic exa)? */
-	if (pPixData && pPixData == pExaScr->info->memoryBase) {
-	    pExaPixmap->fb_ptr = pPixData;
-	    pExaPixmap->fb_pitch = devKind;
-	    pExaPixmap->offscreen = TRUE;
+	/* Classic EXA:
+	 * - Framebuffer.
+	 * - Scratch pixmap with offscreen memory.
+	 */
+	if (!(pExaScr->info->flags & EXA_HANDLES_PIXMAPS) &&
+		pExaScr->info->memoryBase && pPixData) {
+	    if ((CARD8 *)pPixData >= pExaScr->info->memoryBase &&
+		((CARD8 *)pPixData - pExaScr->info->memoryBase) <
+				pExaScr->info->memorySize) {
+		pExaPixmap->fb_ptr = pPixData;
+		pExaPixmap->fb_pitch = devKind;
+		pExaPixmap->offscreen = TRUE;
+	    }
 	}
 
         if (width > 0 && height > 0 && bitsPerPixel > 0) {


More information about the xorg-commit mailing list