On Fri, 2006-06-30 at 20:25 +0300, Hasso Tepper wrote: > Michel Dänzer wrote: > > Does this also occur without Option "BackingStore" or with Option > > "AccelMethod" "EXA"? > > Removing "BackingStore" doesn't have any effect to the issue.
Okay, it's generally a bad idea to enable it though. > But EXA makes rendering RGBA images significantly faster - although not as > fast I'd expect to, there is no noticeable impact to scrolling these images > in > Konqueror. Okay, do the attached patches extracted from the upstream git history make a difference? They're the only substantial changes to the XAA code since X.Org 7.0... > EXA seems to have another performance problems though. It definitely did in xserver 1.0. Should be better with 1.1, and we're still making significant improvements upstream since then. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer
From 9db5d2dfc33e384ea4db1b7cbc377e0b05cfb3ff Mon Sep 17 00:00:00 2001 From: Matthias Hopf <[EMAIL PROTECTED]> Date: Thu, 11 May 2006 10:18:08 +0000 Subject: [PATCH] Bug #4320: Improved XAA Composite fastpath. --- ChangeLog | 5 +++++ hw/xfree86/xaa/xaaPict.c | 19 +++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 9e131e7..9af4ff4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-05-11 Matthias Hopf <[EMAIL PROTECTED]> + + * hw/xfree86/xaa/xaaPict.c: (XAAComposite): + Bug #4320: Improved XAA Composite fastpath. + 2006-05-10 Adam Jackson <[EMAIL PROTECTED]> * record/record.c: diff --git a/hw/xfree86/xaa/xaaPict.c b/hw/xfree86/xaa/xaaPict.c index 847ccb2..f7c1f3d 100644 --- a/hw/xfree86/xaa/xaaPict.c +++ b/hw/xfree86/xaa/xaaPict.c @@ -507,12 +507,19 @@ XAAComposite (CARD8 op, XAAInfoRecPtr infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen); XAA_RENDER_PROLOGUE(pScreen, Composite); - if((op == PictOpSrc) && !pMask && infoRec->pScrn->vtSema && - infoRec->ScreenToScreenBitBlt && - pSrc->pDrawable && - DRAWABLE_IS_ON_CARD(pSrc->pDrawable) && - DRAWABLE_IS_ON_CARD(pDst->pDrawable) && - !pSrc->transform && !pSrc->repeat && (pSrc->format == pDst->format)) + if(!pMask && infoRec->pScrn->vtSema && + infoRec->ScreenToScreenBitBlt && + pSrc->pDrawable && + DRAWABLE_IS_ON_CARD(pSrc->pDrawable) && + DRAWABLE_IS_ON_CARD(pDst->pDrawable) && + !pSrc->transform && + (!pSrc->repeat || (xSrc >= 0 && ySrc >= 0 && + xSrc+width<=pSrc->pDrawable->width && + ySrc+height<=pSrc->pDrawable->height)) && + ((op == PictOpSrc && pSrc->format == pDst->format) || + (op == PictOpOver && !pSrc->alphaMap && !pDst->alphaMap && + pSrc->format==pDst->format && + (pSrc->format==PICT_x8r8g8b8 || pSrc->format==PICT_x8b8g8r8)))) { XAACompositeSrcCopy(pSrc, pDst, xSrc, ySrc, xDst, yDst, width, height); } else if(!pSrc->pDrawable || (pMask && !pMask->pDrawable) || -- 1.4.0
From ea5e0eabd1303a55d8fc10f44d21a3d371ce8919 Mon Sep 17 00:00:00 2001 From: Matthias Hopf <[EMAIL PROTECTED]> Date: Wed, 21 Jun 2006 17:08:51 +0200 Subject: [PATCH] Bug 4320: Fastpath corner case improvement for Composite. --- hw/xfree86/xaa/xaaPict.c | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/hw/xfree86/xaa/xaaPict.c b/hw/xfree86/xaa/xaaPict.c index f7c1f3d..a1ff510 100644 --- a/hw/xfree86/xaa/xaaPict.c +++ b/hw/xfree86/xaa/xaaPict.c @@ -516,7 +516,10 @@ XAAComposite (CARD8 op, (!pSrc->repeat || (xSrc >= 0 && ySrc >= 0 && xSrc+width<=pSrc->pDrawable->width && ySrc+height<=pSrc->pDrawable->height)) && - ((op == PictOpSrc && pSrc->format == pDst->format) || + ((op == PictOpSrc && + ((pSrc->format==pDst->format) || + (pSrc->format==PICT_a8r8g8b8 && pDst->format==PICT_x8r8g8b8) || + (pSrc->format==PICT_a8b8g8r8 && pDst->format==PICT_x8b8g8r8))) || (op == PictOpOver && !pSrc->alphaMap && !pDst->alphaMap && pSrc->format==pDst->format && (pSrc->format==PICT_x8r8g8b8 || pSrc->format==PICT_x8b8g8r8)))) -- 1.4.0