summaryrefslogtreecommitdiffstats
path: root/video/out
diff options
context:
space:
mode:
Diffstat (limited to 'video/out')
-rw-r--r--video/out/x11_common.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/video/out/x11_common.c b/video/out/x11_common.c
index f041d594ec..054557189f 100644
--- a/video/out/x11_common.c
+++ b/video/out/x11_common.c
@@ -1286,11 +1286,13 @@ void vo_x11_check_events(struct vo *vo)
break;
case GenericEvent: {
XGenericEventCookie *cookie = (XGenericEventCookie *)&Event.xcookie;
- if (cookie->extension == x11->present_code && x11->have_present &&
- x11->has_mesa && !x11->has_nvidia)
+ if (cookie->extension == x11->present_code && x11->have_present)
{
+ int present = x11->opts->x11_present;
+ bool use_present = (x11->has_mesa && !x11->has_nvidia &&
+ present) || present == 2;
XGetEventData(x11->display, cookie);
- if (cookie->evtype == PresentCompleteNotify) {
+ if (cookie->evtype == PresentCompleteNotify && use_present) {
XPresentCompleteNotifyEvent *present_event;
present_event = (XPresentCompleteNotifyEvent *)cookie->data;
present_update_sync_values(x11->present, present_event->ust,