From e625c02e6266403fcd8a72ccce2c6c6291e2e5fc Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Sat, 30 Jun 2012 09:34:21 +0100 Subject: [PATCH] sna/damage: Early check for contains-box? if subtract and box outside region Signed-off-by: Chris Wilson --- src/sna/sna_damage.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/sna/sna_damage.c b/src/sna/sna_damage.c index ce16b773..745e2d12 100644 --- a/src/sna/sna_damage.c +++ b/src/sna/sna_damage.c @@ -1260,8 +1260,13 @@ static int __sna_damage_contains_box(struct sna_damage *damage, if (!damage->dirty) return ret; - if (damage->mode == DAMAGE_ADD && ret == PIXMAN_REGION_IN) - return ret; + if (damage->mode == DAMAGE_ADD) { + if (ret == PIXMAN_REGION_IN) + return ret; + } else { + if (ret == PIXMAN_REGION_OUT) + return ret; + } __sna_damage_reduce(damage); return pixman_region_contains_rectangle(&damage->region, (BoxPtr)box);