summaryrefslogtreecommitdiff
path: root/src/radeon_present.c
diff options
context:
space:
mode:
authorMario Kleiner <mario.kleiner.de@gmail.com>2015-05-09 07:24:35 +0200
committerMichel Dänzer <michel.daenzer@amd.com>2015-05-11 12:44:35 +0900
commite3be8b0a8cf484ff16597413a6172788178e80c8 (patch)
treed3d6fc6c686d64277109a62482dbb2657323b9fa /src/radeon_present.c
parent1584dc545c78e0bce8d4b4b9f26b568e2c211453 (diff)
present: Move check for async flips
Check for and reject currently unsupported async_flip inside radeon_present_check_flip() instead of inside radeon_present_flip(). This way the server can detect early that async flips aren't supported by the ddx and can deal with this correctly by using its non-vsync'ed CopyRegion fallback. Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Diffstat (limited to 'src/radeon_present.c')
-rw-r--r--src/radeon_present.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/radeon_present.c b/src/radeon_present.c
index 5b1d5ab7..d9e20bc1 100644
--- a/src/radeon_present.c
+++ b/src/radeon_present.c
@@ -251,6 +251,9 @@ radeon_present_check_flip(RRCrtcPtr crtc, WindowPtr window, PixmapPtr pixmap,
if (!info->allowPageFlip)
return FALSE;
+ if (!sync_flip)
+ return FALSE;
+
/* The kernel driver doesn't handle flipping between BOs with different
* tiling parameters correctly yet
*/
@@ -311,9 +314,6 @@ radeon_present_flip(RRCrtcPtr crtc, uint64_t event_id, uint64_t target_msc,
uint32_t handle;
Bool ret;
- if (!sync_flip)
- return FALSE;
-
if (!radeon_present_check_flip(crtc, screen->root, pixmap, sync_flip))
return FALSE;