[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