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 | |
parent | abddfc99f2a0fb4f61292e3ac1c0b142effa28c2 (diff) |
Rename get_present_clock to get_presentation clock, use it
Diffstat (limited to 'backend')
-rw-r--r-- | backend/backend.c | 6 | ||||
-rw-r--r-- | backend/drm/backend.c | 4 | ||||
-rw-r--r-- | backend/multi/backend.c | 17 |
3 files changed, 22 insertions, 5 deletions
diff --git a/backend/backend.c b/backend/backend.c index b8cf8797..4b186767 100644 --- a/backend/backend.c +++ b/backend/backend.c @@ -64,9 +64,9 @@ struct wlr_session *wlr_backend_get_session(struct wlr_backend *backend) { return NULL; } -clockid_t wlr_backend_get_present_clock(struct wlr_backend *backend) { - if (backend->impl->get_present_clock) { - return backend->impl->get_present_clock(backend); +clockid_t wlr_backend_get_presentation_clock(struct wlr_backend *backend) { + if (backend->impl->get_presentation_clock) { + return backend->impl->get_presentation_clock(backend); } return CLOCK_MONOTONIC; } diff --git a/backend/drm/backend.c b/backend/drm/backend.c index b230613d..a9082077 100644 --- a/backend/drm/backend.c +++ b/backend/drm/backend.c @@ -65,7 +65,7 @@ static struct wlr_renderer *backend_get_renderer( } } -static clockid_t backend_get_present_clock(struct wlr_backend *backend) { +static clockid_t backend_get_presentation_clock(struct wlr_backend *backend) { struct wlr_drm_backend *drm = get_drm_backend_from_backend(backend); return drm->clock; } @@ -74,7 +74,7 @@ static struct wlr_backend_impl backend_impl = { .start = backend_start, .destroy = backend_destroy, .get_renderer = backend_get_renderer, - .get_present_clock = backend_get_present_clock, + .get_presentation_clock = backend_get_presentation_clock, }; bool wlr_backend_is_drm(struct wlr_backend *b) { 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) { |