Fix present_notify to return right away when querying current or past msc.

When the target msc is past or is the current one, we want to get immediate
feedback. This patch fixes this behaviour.

Signed-off-by: Axel Davy <axel.davy@ens.fr>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit 882f2d10d9)
Signed-off-by: Julien Cristau <jcristau@debian.org>
This commit is contained in:
Axel Davy 2014-10-29 13:31:42 +01:00 committed by Julien Cristau
parent 27600a6b20
commit a7c207cc8e
1 changed files with 2 additions and 2 deletions

View File

@ -858,7 +858,7 @@ present_pixmap(WindowPtr window,
xorg_list_add(&vblank->event_queue, &present_exec_queue);
vblank->queued = TRUE;
if (target_msc >= crtc_msc) {
if ((pixmap && target_msc >= crtc_msc) || (!pixmap && target_msc > crtc_msc)) {
ret = present_queue_vblank(screen, target_crtc, vblank->event_id, target_msc);
if (ret != Success) {
xorg_list_del(&vblank->event_queue);
@ -921,7 +921,7 @@ present_notify_msc(WindowPtr window,
0, 0,
NULL,
NULL, NULL,
0,
PresentOptionAsync,
target_msc, divisor, remainder, NULL, 0);
}