xf86-video-ati/U_03-present-Support-async-flips.patch
Max Staudt 84a4590c79 Accepting request 438260 from home:mstaudt:branches:X11:XOrg
- U_01-* ... U_20-* :
  Include patches that haven't made it into the 7.7.1 release.

  This means almost all commits between xf86-video-ati-7.7.0
  and 12d30eeb9711bd2b1609d6bbb74c4a1760596f72.

  Fixes (bsc#990066).

OBS-URL: https://build.opensuse.org/request/show/438260
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xf86-video-ati?expand=0&rev=51
2016-11-02 10:39:34 +00:00

43 lines
1.4 KiB
Diff

From: Michel Dänzer <michel.daenzer@amd.com>
Date: Tue Mar 15 16:47:35 2016 +0900
Subject: [PATCH 3/20]present: Support async flips
Patch-mainline: Upstream
Git-repo: git://anongit.freedesktop.org/xorg/driver/xf86-video-ati
Git-commit: 1ca677309720e2f6c953c9e76f5b34c22a4416c6
References: bsc#990066
Signed-off-by: Max Staudt <mstaudt@suse.de>
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>
---
src/radeon_present.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/radeon_present.c b/src/radeon_present.c
index 1a0e06a..69a0532 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