From 6c649bab537f75ebf4def87be2a59c860bcc6859 Mon Sep 17 00:00:00 2001
From: Simon Ser <contact@emersion.fr>
Date: Sat, 16 Nov 2019 22:15:33 +0100
Subject: output: add wlr_output_event_present.commit_seq

This is set to the value of wlr_output.commit_seq when the frame has
been submitted. This allows tracking presentation with more then 1 full
frame of latency.

References: https://github.com/swaywm/wlroots/issues/1917
---
 backend/drm/drm.c | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'backend')

diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index 9bcafeb6..fc6834ff 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -1497,6 +1497,9 @@ static void page_flip_handler(int fd, unsigned seq,
 		.tv_nsec = tv_usec * 1000,
 	};
 	struct wlr_output_event_present present_event = {
+		/* The DRM backend guarantees that the presentation event will be for
+		 * the last submitted frame. */
+		.commit_seq = conn->output.commit_seq,
 		.when = &present_time,
 		.seq = seq,
 		.refresh = mhz_to_nsec(conn->output.refresh),
-- 
cgit v1.2.3