Subject: [PATCH 2/5] Put the one pixel rendering workback to the server to handle if the pMsk is not zero

From: "Huang, FrankR" <[email-masked]>
Date: Fri, 2 Jul 2010 16:46:15 +0800

From: Frank Huang <[email-masked]>

*With mask, our driver can only do one pixel source with repeat
rendering. That is a solid source picture. Otherwise, we must
return it to server.

Signed-off-by: Frank Huang <[email-masked]>
---
 src/lx_exa.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/lx_exa.c b/src/lx_exa.c
index e0def8f..fbb62a0 100644
--- a/src/lx_exa.c
+++ b/src/lx_exa.c
@@ -589,6 +589,13 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr pMsk, PicturePtr pDst)
     if (pSrc->format == PICT_a8 || pDst->format == PICT_a8)
 	return FALSE;
 
+    /* When the mask is not zero, we can only do one pixel source(1x1)
+     * with repeatable parameter rendering, because we need a solid source
+     * picture. If that is not so, return to Xserver to handle it */
+
+    if (pMsk && (!pSrc->repeat))
+	return FALSE;
+
     if (pMsk && op != PictOpClear) {
 	struct blend_ops_t *opPtr = &lx_alpha_ops[op * 2];
 	int direction = (opPtr->channel == CIMGP_CHANNEL_A_SOURCE) ? 0 : 1;
-- 
1.7.1

_______________________________________________
Xorg-driver-geode mailing list
[email-masked]
http://lists.x.org/mailman/listinfo/xorg-driver-geode