summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2016-03-15 16:47:35 +0900
committerMichel Dänzer <michel@daenzer.net>2016-04-12 17:46:56 +0900
commit1ca677309720e2f6c953c9e76f5b34c22a4416c6 (patch)
tree1d4e6f91993bd0e830088333de41c262d69aa221
parent90a915c62d012e99193833aecc93974e68880c60 (diff)
present: Support async flips
The xserver Present code only calls radeon_present_flip with sync_flip=FALSE if radeon_present_screen_init sets PresentCapabilityAsync, and the latter only sets it if the kernel driver advertises support for async flips. Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--src/radeon_present.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/src/radeon_present.c b/src/radeon_present.c
index c012fedd..1eced4ad 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -248,9 +248,6 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
if (info->hwcursor_disabled)
return FALSE;
- if (!sync_flip)
- return FALSE;
-
if (info->drmmode.dri2_flipping)
return FALSE;
@@ -339,7 +336,7 @@ radeon_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc,
event_id, event, crtc_id,
radeon_present_flip_event,
radeon_present_flip_abort,
- FLIP_VSYNC);
+ sync_flip ? FLIP_VSYNC : FLIP_ASYNC);
if (!ret)
xf86DrvMsg(scrn->scrnIndex, X_ERROR, "present flip failed\n");
else