static void frame_done(void *data, struct wl_callback *callback, uint32_t time) { struct weston_output *output = data; wl_callback_destroy(callback); weston_output_finish_frame(output, time); }
static void headless_output_start_repaint_loop(struct weston_output *output) { struct timespec ts; weston_compositor_read_presentation_clock(output->compositor, &ts); weston_output_finish_frame(output, &ts, WP_PRESENTATION_FEEDBACK_INVALID); }
static int finish_frame_handler(void *data) { struct headless_output *output = data; struct timespec ts; weston_compositor_read_presentation_clock(output->base.compositor, &ts); weston_output_finish_frame(&output->base, &ts, 0); return 1; }
static int finish_frame_handler(void *data) { struct weston_output *output = data; uint32_t msec; struct timeval tv; gettimeofday(&tv, NULL); msec = tv.tv_sec * 1000 + tv.tv_usec / 1000; weston_output_finish_frame(output, msec); return 1; }