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;
}