From: Zack Rusin <[email protected]> This fixes the component alpha fallback in exa. I'm not sure which branches this should go into. Also before committing this patch make sure that we get a Tested-by by somebody with a radeon card as this turns on new and wonderful paths not tested in the drivers. It works just fine on st/xorg.
Signed-off-by: Zack Rusin <[email protected]> Signed-off-by: Jakob Bornecrantz <[email protected]> --- exa/exa_render.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/exa/exa_render.c b/exa/exa_render.c index bbc2ce7..aa9ca87 100644 --- a/exa/exa_render.c +++ b/exa/exa_render.c @@ -857,6 +857,8 @@ exaTryMagicTwoPassCompositeHelper(CARD8 op, CARD16 height) { ExaScreenPriv (pDst->pDrawable->pScreen); + int oldComponentAlpha = pMask->componentAlpha; + pMask->componentAlpha = 0; assert(op == PictOpOver); @@ -865,6 +867,7 @@ exaTryMagicTwoPassCompositeHelper(CARD8 op, pDst) || !(*pExaScr->info->CheckComposite)(PictOpAdd, pSrc, pMask, pDst))) { + pMask->componentAlpha = oldComponentAlpha; return -1; } @@ -880,6 +883,7 @@ exaTryMagicTwoPassCompositeHelper(CARD8 op, exaComposite(PictOpAdd, pSrc, pMask, pDst, xSrc, ySrc, xMask, yMask, xDst, yDst, width, height); + pMask->componentAlpha = oldComponentAlpha; return 1; } -- 1.6.0.4 _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
