diff options
author | emersion <contact@emersion.fr> | 2018-10-01 22:57:36 +0200 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-10-04 22:00:22 +0200 |
commit | b0635bf3e7f0de7c641ffafb0e8962d62ee88c73 (patch) | |
tree | 4729687de85fff3e855c1958c09a03f10ab54831 /backend/multi | |
parent | abddfc99f2a0fb4f61292e3ac1c0b142effa28c2 (diff) |
Rename get_present_clock to get_presentation clock, use it
Diffstat (limited to 'backend/multi')
-rw-r--r-- | backend/multi/backend.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/backend/multi/backend.c b/backend/multi/backend.c index 2f4b929f..cefaa361 100644 --- a/backend/multi/backend.c +++ b/backend/multi/backend.c @@ -1,6 +1,8 @@ +#define _POSIX_C_SOURCE 199309L #include <assert.h> #include <stdbool.h> #include <stdlib.h> +#include <time.h> #include <wlr/backend/interface.h> #include <wlr/backend/session.h> #include <wlr/util/log.h> @@ -77,11 +79,26 @@ static struct wlr_session *multi_backend_get_session( return backend->session; } +static clockid_t multi_backend_get_presentation_clock( + struct wlr_backend *backend) { + struct wlr_multi_backend *multi = multi_backend_from_backend(backend); + + struct subbackend_state *sub; + wl_list_for_each(sub, &multi->backends, link) { + if (sub->backend->impl->get_presentation_clock) { + return wlr_backend_get_presentation_clock(sub->backend); + } + } + + return CLOCK_MONOTONIC; +} + struct wlr_backend_impl backend_impl = { .start = multi_backend_start, .destroy = multi_backend_destroy, .get_renderer = multi_backend_get_renderer, .get_session = multi_backend_get_session, + .get_presentation_clock = multi_backend_get_presentation_clock, }; static void handle_display_destroy(struct wl_listener *listener, void *data) { |