compositor: implement presentation_feedback
Implement the presentation.feedback request, and the
presentation_feedback protocol interface. Feedback information is
delivered to clients as the backend reports it, except the refresh
counter (MSC) which is always reported as zero.
Changes in v4:
* add 'flags' argument to 'presented' event without implementation
Changes in v5:
* remove the 'destroy' method implementation for feedback objects
[Pekka Paalanen: do not leak struct feedback.]
Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
v3 Reviewed-by: Mario Kleiner <mario.kleiner.de@gmail.com>
diff --git a/src/compositor.h b/src/compositor.h
index 61b374f..c405589 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -205,6 +205,7 @@
uint32_t frame_time; /* presentation timestamp in milliseconds */
int disable_planes;
int destroying;
+ struct wl_list feedback_list;
char *make, *model, *serial_number;
uint32_t subpixel;
@@ -835,6 +836,9 @@
/* wl_surface.frame */
struct wl_list frame_callback_list;
+ /* presentation.feedback */
+ struct wl_list feedback_list;
+
/* wl_surface.set_buffer_transform */
/* wl_surface.set_scaling_factor */
/* wl_viewport.set */
@@ -874,6 +878,7 @@
uint32_t output_mask;
struct wl_list frame_callback_list;
+ struct wl_list feedback_list;
struct weston_buffer_reference buffer_ref;
struct weston_buffer_viewport buffer_viewport;