Window Manager Decoration garbage w/ head everything + KMS

Maarten Maathuis madman2003 at gmail.com
Fri Jan 1 10:03:38 PST 2010


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