diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2016-07-28 19:43:01 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2016-07-28 19:43:01 +0100 |
commit | 8bfac0f21ab817c7ccd654a0571bb07e6c7b77d5 (patch) | |
tree | e971b953d97f48e85c41735d0a61539b4f2f77b2 /src/sna | |
parent | ab57363a1c0b970a220a59a53562b46c817cd7ea (diff) |
sna/dri2: Only force the TearFree/swcursor hack when using TearFree
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna')
-rw-r--r-- | src/sna/sna_dri2.c | 6 |
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, ®ion); } @@ -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); |