Window Manager Decoration garbage w/ head everything + KMS

Andrew Chant andrew.chant+debian at gmail.com
Sat Jan 2 16:59:07 PST 2010


Worked for me as well, thanks.
-Andrew

2010/1/1 Maarten Maathuis <madman2003 at gmail.com>:
> 2009/12/31 Maarten Maathuis <madman2003 at gmail.com>:
>> Yes, i'm seeing these corruptions. Busy with something else atm though.
>>
>> Maarten.
>>
>> 2009/12/31 Michel Dänzer <michel at daenzer.net>:
>>> On Wed, 2009-12-30 at 16:11 -0500, Andrew Chant wrote:
>>>> The output of git-bisect, which I verified by checking out & it had the problem:
>>>>
>>>> t db2c6f7c91289b5d49978974093a1002b3b53a56
>>>> Author: Michel Dänzer <daenzer at vmware.com>
>>>> Date:   Tue Dec 29 15:48:44 2009 +0100
>>>>
>>>>     EXA: Don't use UTS/DFS directly for Put/GetImage when there's a system copy.
>>>>
>>>>     We want to save the result in the system memory copy, in case we'll need it
>>>>     again for subsequent software fallbacks.
>>>>
>>>>     Signed-off-by: Michel Dänzer <daenzer at vmware.com>
>>>>     Acked-By: Maarten Maathuis <madman2003 at gmail.com>
>>>>     Signed-off-by: Keith Packard <keithp at keithp.com>
>>>>
>>>> :040000 040000 1f2bb220d39d1ea98fbe330b08786570fb089190
>>>> 9cbf71dd4c6aa203c0f5220e88f9263f583a8faa M      exa
>>>
>>> Thanks for bisecting. Unfortunately, I don't yet really have an idea
>>> what's going on, and I can't seem to reproduce the problem...
>>>
>>> Maarten, are you seeing corruption in the openbox window decorations
>>> with nouveau and the commit above?
>>>
>>> Andrew, does the patch below help?
>
> This fixes the issue for me.
>
>>>
>>>
>>> diff --git a/exa/exa_accel.c b/exa/exa_accel.c
>>> index 4c55a4c..9f93482 100644
>>> --- a/exa/exa_accel.c
>>> +++ b/exa/exa_accel.c
>>> @@ -172,6 +172,17 @@ exaDoPutImage (DrawablePtr pDrawable, GCPtr pGC, int depth, int x, int y,
>>>     if (pExaScr->swappedOut)
>>>        return FALSE;
>>>
>>> +    if (pExaScr->do_migration) {
>>> +       ExaMigrationRec pixmaps[1];
>>> +
>>> +       pixmaps[0].as_dst = TRUE;
>>> +       pixmaps[0].as_src = FALSE;
>>> +       pixmaps[0].pPix = pPix;
>>> +       pixmaps[0].pReg = DamagePendingRegion(pExaPixmap->pDamage);
>>> +
>>> +       exaDoMigration (pixmaps, 1, TRUE);
>>> +    }
>>> +
>>>     pPix = exaGetOffscreenPixmap (pDrawable, &xoff, &yoff);
>>>
>>>     if (!pPix)
>>>
>>> --
>>> Earthling Michel Dänzer           |                http://www.vmware.com
>>> Libre software enthusiast         |          Debian, X and DRI developer
>>>
>>
>


More information about the xorg-driver-ati mailing list