xserver: Branch 'master'
Maarten Maathuis
madman2003 at kemper.freedesktop.org
Mon Feb 16 11:43:58 PST 2009
exa/exa_migration.c | 7 +++++++
1 file changed, 7 insertions(+)
New commits:
commit caa5310e163b040689383f6d25ccab5ef1b2e215
Author: Maarten Maathuis <madman2003 at gmail.com>
Date: Mon Feb 16 20:41:14 2009 +0100
exa: reintroduce src rect optimisation, with a slightly higher threshold.
- I got some feedback on gtkperf line test regression.
- The increased threshold should ensure the destination optimisation is dominant.
diff --git a/exa/exa_migration.c b/exa/exa_migration.c
index 59db25b..9d0eda0 100644
--- a/exa/exa_migration.c
+++ b/exa/exa_migration.c
@@ -257,6 +257,13 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc,
pExaPixmap->offscreen = save_offscreen;
pPixmap->devKind = save_pitch;
+ /* Try to prevent source valid region from growing too many rects by
+ * removing parts of it which are also in the destination valid region.
+ * Removing anything beyond that would lead to data loss.
+ */
+ if (REGION_NUM_RECTS(pValidSrc) > 20)
+ REGION_SUBTRACT(pScreen, pValidSrc, pValidSrc, pValidDst);
+
/* The copied bits are now valid in destination */
REGION_UNION(pScreen, pValidDst, pValidDst, &CopyReg);
More information about the xorg-commit
mailing list