From 42481a36f92cf79c76fea229b5143c4fbdea444a Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Mon, 14 Jun 2010 02:34:20 +0300 Subject: 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 Acked-by: Otavio Salvador --- src/lx_exa.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/lx_exa.c') 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 */ -- cgit v1.2.3