summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2017-07-31 17:12:59 +0900
committerMichel Dänzer <michel@daenzer.net>2017-08-17 16:03:50 +0900
commitd314cbfb228bb4b8762714f98d0c114a8ee3f061 (patch)
treec5a0698aeb3ffb0d73efe15fc608110671c36de6
parent4445765af5b97d0cfd10889fe6d6f58f2ce85659 (diff)
Always allow DRI2 page flipping with TearFree
Even if TearFree is enabled for the CRTC we're synchronizing to. v2: * Move manpage hunk here from previous change. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> # v1
-rw-r--r--man/radeon.man6
-rw-r--r--src/radeon_dri2.c2
2 files changed, 2 insertions, 6 deletions
diff --git a/man/radeon.man b/man/radeon.man
index 1e9a7beb..9fd863f3 100644
--- a/man/radeon.man
+++ b/man/radeon.man
@@ -285,10 +285,8 @@ Set the default value of the per-output 'TearFree' property, which controls
tearing prevention using the hardware page flipping mechanism. TearFree is
on for any CRTC associated with one or more outputs with TearFree on. Two
separate scanout buffers need to be allocated for each CRTC with TearFree
-on. While TearFree is on for any CRTC, it may prevent clients from using
-DRI page flipping. If this option is set, the default value of the property
-is 'on' or 'off' accordingly. If this option isn't set, the default value of the
-property is
+on. If this option is set, the default value of the property is 'on' or 'off'
+accordingly. If this option isn't set, the default value of the property is
.B auto,
which means that TearFree is on for outputs with rotation or other RandR
transforms, and for RandR 1.4 slave outputs, otherwise off.
diff --git a/src/radeon_dri2.c b/src/radeon_dri2.c
index a0deb6ba..73adbe91 100644
--- a/src/radeon_dri2.c
+++ b/src/radeon_dri2.c
@@ -760,8 +760,6 @@ can_flip(xf86CrtcPtr crtc, DrawablePtr draw,
for (i = 0, num_crtcs_on = 0; i < config->num_crtc; i++) {
if (drmmode_crtc_can_flip(config->crtc[i]))
num_crtcs_on++;
- else if (config->crtc[i] == crtc)
- return FALSE;
}
return num_crtcs_on > 0 && can_exchange(pScrn, draw, front, back);