From 98cd2e9f977236ff534799ad54904f437af5e1cd Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Mon, 18 Sep 2023 15:02:46 +0200 Subject: [PATCH] backend-vnc: Use weston_output_finish_frame_from_timer() Replace the finish frame handler logic with a call to the weston_output_finish_frame_from_timer() helper function that does the same. Signed-off-by: Philipp Zabel --- libweston/backend-vnc/vnc.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/libweston/backend-vnc/vnc.c b/libweston/backend-vnc/vnc.c index 6551c6936..c91d429fd 100644 --- a/libweston/backend-vnc/vnc.c +++ b/libweston/backend-vnc/vnc.c @@ -709,28 +709,12 @@ vnc_new_client(struct nvnc_client *client) weston_output_schedule_repaint(&output->base); } - static int finish_frame_handler(void *data) { struct vnc_output *output = data; - int refresh_nsec = millihz_to_nsec(output->base.current_mode->refresh); - struct timespec now, ts; - int delta; - /* The timer only has msec precision, but if we approximately hit our - * target, report an exact time stamp by adding to the previous frame - * time. - */ - timespec_add_nsec(&ts, &output->base.frame_time, refresh_nsec); - - /* If we are more than 1.5 ms late, report the current time instead. */ - weston_compositor_read_presentation_clock(output->base.compositor, &now); - delta = (int)timespec_sub_to_nsec(&now, &ts); - if (delta > 1500000) - ts = now; - - weston_output_finish_frame(&output->base, &ts, 0); + weston_output_finish_frame_from_timer(&output->base); return 1; }