xorg-x11-server/exa-greedy.diff

31 lines
832 B
Diff

Index: xorg-server-1.6.3/exa/exa_migration.c
===================================================================
--- xorg-server-1.6.3.orig/exa/exa_migration.c
+++ xorg-server-1.6.3/exa/exa_migration.c
@@ -463,7 +463,11 @@ exaMigrateTowardFb (ExaMigrationPtr migr
exaDoMoveInPixmap(migrate);
}
- ExaOffscreenMarkUsed (pPixmap);
+ if (exaPixmapIsOffscreen(pPixmap)) {
+ exaCopyDirtyToFb (migrate);
+ ExaOffscreenMarkUsed (pPixmap);
+ } else
+ exaCopyDirtyToSys (migrate);
}
/**
@@ -496,6 +500,12 @@ exaMigrateTowardSys (ExaMigrationPtr mig
if (pExaPixmap->score <= EXA_PIXMAP_SCORE_MOVE_OUT && pExaPixmap->area)
exaDoMoveOutPixmap(migrate);
+
+ if (exaPixmapIsOffscreen(pPixmap)) {
+ exaCopyDirtyToFb (migrate);
+ ExaOffscreenMarkUsed (pPixmap);
+ } else
+ exaCopyDirtyToSys (migrate);
}
/**