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