From 9dead2b932e13be6e25cdff20294fbb9e616d69c Mon Sep 17 00:00:00 2001 From: Dudemanguy911 Date: Sun, 20 Oct 2019 12:46:42 -0500 Subject: wayland: fix presentation time There's 2 stupid things here that need to be fixed. First of all, vulkan wasn't actually using presentation time because somehow the get_vsync function in context.c disappeared. Secondly, if the mpv window was hidden it was updating the ust time based on the refresh_usec but really it should simply just not feed any information to the vsync info structure. So this adds some logic to assume whether or not a window is hidden. --- video/out/vulkan/context_wayland.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'video/out/vulkan/context_wayland.c') diff --git a/video/out/vulkan/context_wayland.c b/video/out/vulkan/context_wayland.c index 6abec91aaf..a9540411db 100644 --- a/video/out/vulkan/context_wayland.c +++ b/video/out/vulkan/context_wayland.c @@ -122,7 +122,7 @@ static void wayland_vk_swap_buffers(struct ra_ctx *ctx) static void wayland_vk_get_vsync(struct ra_ctx *ctx, struct vo_vsync_info *info) { struct vo_wayland_state *wl = ctx->vo->wl; - if (wl->presentation) { + if (wl->presentation && !wl->hidden) { info->vsync_duration = wl->vsync_duration; info->skipped_vsyncs = wl->last_skipped_vsyncs; info->last_queue_display_time = wl->last_queue_display_time; -- cgit v1.2.3