summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2017-08-18 17:12:15 +0900
committerMichel Dänzer <michel@daenzer.net>2017-08-22 18:34:32 +0900
commit2692508ae8920ce62f488a9384444c1645964913 (patch)
tree6678a00b0fe62764f41efd78c8b2103ef6fc9011
parent8c82878c6ef1b984ba289383dc17152192c916ee (diff)
Always allow DRI2 page flipping with TearFree
Even if TearFree is enabled for the CRTC we're synchronizing to. (Ported from radeon commit d314cbfb228bb4b8762714f98d0c114a8ee3f061) Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--man/amdgpu.man6
-rw-r--r--src/amdgpu_dri2.c2
2 files changed, 2 insertions, 6 deletions
diff --git a/man/amdgpu.man b/man/amdgpu.man
index ebb472a..c38defe 100644
--- a/man/amdgpu.man
+++ b/man/amdgpu.man
@@ -77,10 +77,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/amdgpu_dri2.c b/src/amdgpu_dri2.c
index bf85dfa..ccf5477 100644
--- a/src/amdgpu_dri2.c
+++ b/src/amdgpu_dri2.c
@@ -641,8 +641,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);