[PATCH xf86-video-amdgpu 2/2] present: Support async flips

Michel Dänzer michel at daenzer.net
Tue May 10 07:36:56 UTC 2016


From: Michel Dänzer <michel.daenzer at amd.com>

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)

Signed-off-by: Michel Dänzer <michel.daenzer at amd.com>
---
 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
-- 
2.8.1



More information about the xorg-driver-ati mailing list