RENDER extension version 0.10 added support for doing server-side
gradients and solid fills, which we were not handling at all.
cairo-1.9 started making use of server-side gradients, and we are
crashing on those, as the source pixmap (pxSrc in lx_prepare_composite)
doesn't have a drawable in this case, and we were not expecting such
a possibility.
So, as the first measure, fallback (three years late) all server-side
gradients and solid fills instead of crashing, until we have no code
that tries to accelerate cases of these or aren't sure if we even
can accelerate any cases.

pSourcePict member was added to xserver in 2005, so no compatibility
wrapping needed.

Signed-off-by: Mart Raudsepp <[email protected]>
---
 src/lx_exa.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/lx_exa.c b/src/lx_exa.c
index b267cc0..1b08391 100644
--- a/src/lx_exa.c
+++ b/src/lx_exa.c
@@ -568,6 +568,10 @@ lx_check_composite(int op, PicturePtr pSrc, PicturePtr 
pMsk, PicturePtr pDst)
     if (pMsk && pMsk->transform)
        return FALSE;
 
+    /* XXX - don't know if we can do any hwaccel on solid fills or gradient 
types */
+    if (pSrc->pSourcePict || (pMsk && pMsk->pSourcePict))
+       return FALSE;
+
     /* Keep an eye out for source rotation transforms - those we can
      * do something about */
 
-- 
1.7.1

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

Reply via email to