summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-07-28 19:43:01 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-07-28 19:43:01 +0100
commit8bfac0f21ab817c7ccd654a0571bb07e6c7b77d5 (patch)
treee971b953d97f48e85c41735d0a61539b4f2f77b2
parentab57363a1c0b970a220a59a53562b46c817cd7ea (diff)
sna/dri2: Only force the TearFree/swcursor hack when using TearFree
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
-rw-r--r--src/sna/sna_dri2.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/sna/sna_dri2.c b/src/sna/sna_dri2.c
index 4ec0ccaa..22667913 100644
--- a/src/sna/sna_dri2.c
+++ b/src/sna/sna_dri2.c
@@ -1006,7 +1006,7 @@ static void set_bo(PixmapPtr pixmap, struct kgem_bo *bo)
* causing recursion and mayhem.
*/
DBG(("%s: marking whole pixmap as damaged\n", __FUNCTION__));
- sna->ignore_copy_area = true;
+ sna->ignore_copy_area = sna->flags & SNA_TEAR_FREE;
DamageRegionAppend(&pixmap->drawable, &region);
}
@@ -1358,7 +1358,7 @@ __sna_dri2_copy_region(struct sna *sna, DrawablePtr draw, RegionPtr region,
}
if (APPLY_DAMAGE || flags & DRI2_DAMAGE) {
DBG(("%s: marking region as damaged\n", __FUNCTION__));
- sna->ignore_copy_area = true;
+ sna->ignore_copy_area = sna->flags & SNA_TEAR_FREE;
DamageRegionAppend(&pixmap->drawable, region);
}
@@ -2416,7 +2416,7 @@ static void sna_dri2_xchg_crtc(struct sna *sna, DrawablePtr draw, xf86CrtcPtr cr
if (APPLY_DAMAGE) {
DBG(("%s: marking drawable as damaged\n", __FUNCTION__));
- sna->ignore_copy_area = true;
+ sna->ignore_copy_area = sna->flags & SNA_TEAR_FREE;
DamageRegionAppend(&win->drawable, &win->clipList);
}
sna_shadow_set_crtc(sna, crtc, get_private(back)->bo);