summaryrefslogtreecommitdiff
path: root/src/wayland/meta-wayland.h
diff options
context:
space:
mode:
authorJonas Ådahl <jadahl@gmail.com>2020-04-27 15:43:19 +0200
committerJonas Ådahl <jadahl@gmail.com>2020-05-26 16:46:57 +0200
commit066bc5986d04204788880e372f259d6048cc1ae6 (patch)
treed53e6b8750bf38904438ca702b55c47d674c1c80 /src/wayland/meta-wayland.h
parente8b09df8d2746eacd341b00160b02738e9e5e8a1 (diff)
downloadmutter-066bc5986d04204788880e372f259d6048cc1ae6.tar.gz
wayland: Drive frame callbacks from stage updates
Don't tie frame callbacks to actor painting, as it may end up in situations where we miss sending frame callbacks when we should have. An example of this is when a surface is partially off screen, and then reports damage that is fully off screen. When this happen, we are likely not to repaint anything, thus we won't send any frame callbacks even though it's "suitable" for rendering again, as the surface is not on a separate workspace or fully obscured. Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/817 Closes: https://gitlab.gnome.org/GNOME/mutter/-/issues/1152 https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1218
Diffstat (limited to 'src/wayland/meta-wayland.h')
-rw-r--r--src/wayland/meta-wayland.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/wayland/meta-wayland.h b/src/wayland/meta-wayland.h
index 4164563e8..3549fb2d5 100644
--- a/src/wayland/meta-wayland.h
+++ b/src/wayland/meta-wayland.h
@@ -62,8 +62,11 @@ void meta_wayland_compositor_set_input_focus (MetaWaylandComp
void meta_wayland_compositor_paint_finished (MetaWaylandCompositor *compositor);
-void meta_wayland_compositor_destroy_frame_callbacks (MetaWaylandCompositor *compositor,
- MetaWaylandSurface *surface);
+void meta_wayland_compositor_add_frame_callback_surface (MetaWaylandCompositor *compositor,
+ MetaWaylandSurface *surface);
+
+void meta_wayland_compositor_remove_frame_callback_surface (MetaWaylandCompositor *compositor,
+ MetaWaylandSurface *surface);
META_EXPORT_TEST
const char *meta_wayland_get_wayland_display_name (MetaWaylandCompositor *compositor);