Window Manager Decoration garbage w/ head everything + KMS
Michel Dänzer
michel at daenzer.net
Thu Dec 31 03:15:48 PST 2009
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?
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