From: Frank Huang <[email protected]> *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 protected]> --- 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 protected] http://lists.x.org/mailman/listinfo/xorg-driver-geode
