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>
This commit is contained in:
Axel Davy 2014-10-29 13:31:42 +01:00 committed by Keith Packard
parent 72a0754f46
commit 882f2d10d9

View File

@ -866,7 +866,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);
@ -929,7 +929,7 @@ present_notify_msc(WindowPtr window,
0, 0,
NULL,
NULL, NULL,
0,
PresentOptionAsync,
target_msc, divisor, remainder, NULL, 0);
}