diff options
author | Mart Raudsepp <leio@gentoo.org> | 2010-06-14 02:34:20 +0300 |
---|---|---|
committer | Mart Raudsepp <leio@gentoo.org> | 2010-06-17 13:47:49 +0300 |
commit | 42481a36f92cf79c76fea229b5143c4fbdea444a (patch) | |
tree | e71de9612412a398838d95d29c181c4c761123a2 /src | |
parent | b46d4ff787bce43409d59837d736af0be2b0dda5 (diff) |
lx_exa: fallback in case of server-side gradients and solid fill
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 <leio@gentoo.org>
Acked-by: Otavio Salvador <otavio@ossystems.com.br>
Diffstat (limited to 'src')
-rw-r--r-- | 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 4af71f2..14980ae 100644 --- a/src/lx_exa.c +++ b/src/lx_exa.c @@ -571,6 +571,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 */ |