summaryrefslogtreecommitdiff
path: root/src/compositor.h
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2013-04-05 23:07:11 +0200
committerKristian Høgsberg <krh@bitplanet.net>2013-04-08 14:24:03 -0400
commite5a1225bc436f86b5241152bb332014d64f5b446 (patch)
tree53ba499a646ba92e4e36ef3266c01c4f3c60c1bc /src/compositor.h
parentb76237e508d7440ce3f210b03d03f09723506436 (diff)
Make backends always specify output repaint time
Most backends relies on gettimeofday(2) for output repaint timestamps but this is not a requirement. Before this patch repaints coming from idle_repaint() always used gettimeofday(2) for timestamps. For backends not using that time source this could cause large jumps between timestamps. To fix this, timestamps needs to always come from the backend. This means that the backend needs to always be responsible of starting the repaint loop in case that the repaint cannot start immediately. The drm backend implementation is from the patch by Ander Conselvan de Oliveira found here: http://lists.freedesktop.org/archives/wayland-devel/2013-February/007393.html Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Diffstat (limited to 'src/compositor.h')
-rw-r--r--src/compositor.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/compositor.h b/src/compositor.h
index 7d1d68e4..1e999a67 100644
--- a/src/compositor.h
+++ b/src/compositor.h
@@ -186,6 +186,7 @@ struct weston_output {
struct weston_mode *origin;
struct wl_list mode_list;
+ void (*start_repaint_loop)(struct weston_output *output);
void (*repaint)(struct weston_output *output,
pixman_region32_t *damage);
void (*destroy)(struct weston_output *output);