diff --git a/include/libweston/libweston.h b/include/libweston/libweston.h index 7a3f2e001..cc4a1cd3b 100644 --- a/include/libweston/libweston.h +++ b/include/libweston/libweston.h @@ -445,6 +445,7 @@ struct weston_output { struct wl_signal destroy_signal; /**< sent when disabled */ struct weston_coord_global move; struct timespec frame_time; /* presentation timestamp */ + uint32_t frame_flags; /* presentation flags */ uint64_t msc; /* media stream counter */ int disable_planes; int destroying; diff --git a/libweston/compositor.c b/libweston/compositor.c index 192af8df4..360693a61 100644 --- a/libweston/compositor.c +++ b/libweston/compositor.c @@ -4154,6 +4154,7 @@ weston_output_finish_frame(struct weston_output *output, if (!stamp) { output->next_repaint = now; output->next_present = now; + output->frame_flags = 0; goto out; } @@ -4172,6 +4173,7 @@ weston_output_finish_frame(struct weston_output *output, } output->frame_time = *stamp; + output->frame_flags = presented_flags; /* If we're tearing just repaint right away */ if (presented_flags & WESTON_FINISH_FRAME_TEARING) {