[Xorg-driver-geode] [PATCH 2/5] Put the one pixel rendering work back to the server to handle if the pMsk is not zero

Huang, FrankR FrankR.Huang at amd.com
Fri Jul 2 00:59:50 PDT 2010


From: Frank Huang <frankr.huang at amd.com>

*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 <frankr.huang at amd.com>
---
 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




More information about the Xorg-driver-geode mailing list