diff options
author | Michel Dänzer <michel.daenzer@amd.com> | 2016-05-10 15:57:04 +0900 |
---|---|---|
committer | Michel Dänzer <michel@daenzer.net> | 2016-05-12 16:29:23 +0900 |
commit | 86f991838824494e68ac277fa27cbd88c23a5ee8 (patch) | |
tree | 0f7cc5853303875082a96ce2c88d96cc9ab0a4d1 | |
parent | 744ac5faff7f58e26fa76974b6bdc345ea4c7c79 (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.
(Ported from radeon commit 1ca677309720e2f6c953c9e76f5b34c22a4416c6)
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r-- | src/amdgpu_present.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/src/amdgpu_present.c b/src/amdgpu_present.c index e39b2d2..63ba812 100644 --- a/src/amdgpu_present.c +++ b/src/amdgpu_present.c @@ -233,9 +233,6 @@ amdgpu_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; @@ -312,7 +309,7 @@ amdgpu_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc, pixmap, event_id, event, crtc_id, amdgpu_present_flip_event, amdgpu_present_flip_abort, - FLIP_VSYNC); + sync_flip ? FLIP_VSYNC : FLIP_ASYNC); if (!ret) xf86DrvMsg(scrn->scrnIndex, X_ERROR, "present flip failed\n"); else |