compositor-drm: deliver frame seq for feedback

Add 'msc' field to weston_output to maintain the refresh counter, and
use it in presentation_feedback.presented.

Make compositor-drm update the per-output refresh counter with the
values reported by DRM. If the DRM reported value jumps backwards,
assume it wrapped around once.

Other backends do not update weston_output::msc, and there
presentation_feedback will always deliver refresh counter as zero.

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 c405589..44379fe 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -203,6 +203,7 @@
 	struct wl_signal destroy_signal;
 	int move_x, move_y;
 	uint32_t frame_time; /* presentation timestamp in milliseconds */
+	uint64_t msc;        /* media stream counter */
 	int disable_planes;
 	int destroying;
 	struct wl_list feedback_list;