From 86f991838824494e68ac277fa27cbd88c23a5ee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michel=20D=C3=A4nzer?= Date: Tue, 10 May 2016 15:57:04 +0900 Subject: [PATCH] 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 --- src/amdgpu_present.c | 5 +---- 1 file changed, 1 insertion(+), 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