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