summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichel Dänzer <michel.daenzer@amd.com>2018-09-07 18:16:22 +0200
committerMichel Dänzer <michel@daenzer.net>2018-09-07 18:19:05 +0200
commit5d5d883496842da84d9418e91cb13454751da625 (patch)
tree20d852fc00be7a05d370e17b572cb65e67815412
parent4c7d5e50a5e469a541bc463cecb505fe850c0824 (diff)
Bail early from drm_wait_pending_flip if there's no pending flip
No need to process any events in that case. (Ported from amdgpu commit ca5eb9894fff153c0a1df7bdc4a4745713309e27)
-rw-r--r--src/radeon_drm_queue.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/radeon_drm_queue.c b/src/radeon_drm_queue.c
index bf1650ea..ea78e8e2 100644
--- a/src/radeon_drm_queue.c
+++ b/src/radeon_drm_queue.c
@@ -284,7 +284,8 @@ void radeon_drm_wait_pending_flip(xf86CrtcPtr crtc)
drmmode_crtc->wait_flip_nesting_level++;
- while (!xorg_list_is_empty(&radeon_drm_flip_signalled)) {
+ while (drmmode_crtc->flip_pending &&
+ !xorg_list_is_empty(&radeon_drm_flip_signalled)) {
e = xorg_list_first_entry(&radeon_drm_flip_signalled,
struct radeon_drm_queue_entry, list);
radeon_drm_queue_handle_one(e);