diff options
author | Maarten Maathuis <madman2003@gmail.com> | 2009-02-17 19:01:44 +0100 |
---|---|---|
committer | Maarten Maathuis <madman2003@gmail.com> | 2009-02-17 19:25:35 +0100 |
commit | 97c1cbc70216366e92b9371de608ce94e60aa874 (patch) | |
tree | d6ac524583d6cd97b0756cd6ac3a2569acfc2f78 /exa | |
parent | 4039603413f9f46d7f725463a70b4a51838e0049 (diff) |
exa: the extent of the valid region is probably much larger than that of the pending damage.
- Since the default has been changed from nothing to everything.
Diffstat (limited to 'exa')
-rw-r--r-- | exa/exa_migration.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/exa/exa_migration.c b/exa/exa_migration.c index 9d0eda0de..36b1a8c08 100644 --- a/exa/exa_migration.c +++ b/exa/exa_migration.c @@ -174,23 +174,13 @@ exaCopyDirty(ExaMigrationPtr migrate, RegionPtr pValidDst, RegionPtr pValidSrc, #endif /* Try to prevent destination valid region from growing too many - * rects by filling it up to the extents of the union of the - * destination valid region and the pending damage region. + * rects by filling it up to the extents of the pending damage region. */ if (REGION_NUM_RECTS(pValidDst) > 10) { - BoxRec box; - BoxPtr pValidExt, pDamageExt; + BoxPtr pDamageExt = REGION_EXTENTS(pScreen, pending_damage); RegionRec closure; - pValidExt = REGION_EXTENTS(pScreen, pValidDst); - pDamageExt = REGION_EXTENTS(pScreen, pending_damage); - - box.x1 = min(pValidExt->x1, pDamageExt->x1); - box.y1 = min(pValidExt->y1, pDamageExt->y1); - box.x2 = max(pValidExt->x2, pDamageExt->x2); - box.y2 = max(pValidExt->y2, pDamageExt->y2); - - REGION_INIT(pScreen, &closure, &box, 0); + REGION_INIT(pScreen, &closure, pDamageExt, 0); REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, &closure); } else REGION_INTERSECT(pScreen, &CopyReg, &CopyReg, pending_damage); |