diff options
author | Kristian Høgsberg <krh@bitplanet.net> | 2010-12-01 09:42:10 -0500 |
---|---|---|
committer | Kristian Høgsberg <krh@bitplanet.net> | 2010-12-01 09:42:57 -0500 |
commit | 3ada7ec83ace0be56119ca8b14a568f0efb27cde (patch) | |
tree | 59fcc294da428528b55ad36e91d394166f77f16c | |
parent | 4203df1fd5be095b45389d6084047649c5763cde (diff) | |
download | weston-3ada7ec83ace0be56119ca8b14a568f0efb27cde.tar.gz |
compositor-wayland: Call wlsc_compositor_finish_frame from frame callback
-rw-r--r-- | compositor/compositor-wayland.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/compositor/compositor-wayland.c b/compositor/compositor-wayland.c index e5d0d842..3ac8c5f1 100644 --- a/compositor/compositor-wayland.c +++ b/compositor/compositor-wayland.c @@ -27,7 +27,6 @@ #include <string.h> #include <fcntl.h> #include <unistd.h> -#include <sys/time.h> #include "wayland-client.h" @@ -170,11 +169,18 @@ wayland_compositor_init_egl(struct wayland_compositor *c) } static void +frame_callback(void *data, uint32_t time) +{ + struct wayland_compositor *c = (struct wayland_compositor *) data; + + wlsc_compositor_finish_frame(&c->base, time); +} + +static void wayland_compositor_present(struct wlsc_compositor *base) { struct wayland_compositor *c = (struct wayland_compositor *) base; struct wayland_output *output; - struct timeval tv; uint32_t msec; glFlush(); @@ -193,10 +199,7 @@ wayland_compositor_present(struct wlsc_compositor *base) output->base.width, output->base.height); } - - gettimeofday(&tv, NULL); - msec = tv.tv_sec * 1000 + tv.tv_usec / 1000; - wlsc_compositor_finish_frame(&c->base, msec); + wl_display_frame_callback(c->parent.display, frame_callback, c); } static int |