xaa vs. WriteImage()

Michael Lorenz <[email protected]> Mon, 3 Mar 2008 18:26:38 -0500
Newsgroups gmane.comp.xfree86.devel
Message-ID <[email protected]>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hello,

I noticed the following - XAACopyArea() only attempts to use  
accelerated WriteImage() when writing to a DRAWABLE_WINDOW but not on  
off-screen pixmaps. I used the following changes to make it work:

diff -u -w -r1.1.1.3 xaaCpyArea.c
- --- xaaCpyArea.c	9 Jun 2001 15:09:02 -0000	1.1.1.3
+++ xaaCpyArea.c	3 Mar 2008 20:51:05 -0000
@@ -64,9 +64,16 @@
              return (XAABitBlt( pSrcDrawable, pDstDrawable,
  		pGC, srcx, srcy, width, height, dstx, dsty,
  		XAADoBitBlt, 0L));
+	} else {
+	    if(infoRec->ScreenToScreenBitBlt &&
+	     CHECK_ROP(pGC,infoRec->ScreenToScreenBitBltFlags) &&
+	     CHECK_ROPSRC(pGC,infoRec->ScreenToScreenBitBltFlags) &&
+	     CHECK_PLANEMASK(pGC,infoRec->ScreenToScreenBitBltFlags))
+            return (XAABitBlt( pSrcDrawable, pDstDrawable,
+		pGC, srcx, srcy, width, height, dstx, dsty,
+		XAADoImageWrite, 0L));
  	}
      }

have fun
Michael

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (Darwin)

iQEVAwUBR8yJLspnzkX8Yg2nAQJB1Af/WJURJ35CVffglB7R3mZm6oNZARbxmiGo
yUn2se/QF5MmuuUqOWexdyGhw6W1rpzlDUdpvLhaOV0zFXW1Jbt9zQLFtWkY58TE
2esnUzJNGrt5HZ7egcjfQvKcvLHePJp8N+nBObY8skQhEQJIrgRdRUCRF6NwPF2M
P7erfgmTBOu3nZpRAoDAED5A7DQ3BAvR9NG6WOUGVWq+5OB1vk9JJ/paR0Dmy/vQ
vtnyn0mO8SMvYd4vy8YVgQN27O4tuSojdJW4A9cFM775fOwbdZ98W6w6pHhKCzkC
OP1kylCXNu9pth4MzgLa0b/7lyEs8z3Zq3M/eihpiQKz6Hnqji98cQ==
=67pe
-----END PGP SIGNATURE-----