aboutsummaryrefslogtreecommitdiff
path: root/backend
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-10-01 22:57:36 +0200
committeremersion <contact@emersion.fr>2018-10-04 22:00:22 +0200
commitb0635bf3e7f0de7c641ffafb0e8962d62ee88c73 (patch)
tree4729687de85fff3e855c1958c09a03f10ab54831 /backend
parentabddfc99f2a0fb4f61292e3ac1c0b142effa28c2 (diff)
Rename get_present_clock to get_presentation clock, use it
Diffstat (limited to 'backend')
-rw-r--r--backend/backend.c6
-rw-r--r--backend/drm/backend.c4
-rw-r--r--backend/multi/backend.c17
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) {