From ab924064f230cce2aea2e45bd113adea9d37f286 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Tue, 5 Dec 2023 16:09:16 +0100 Subject: [PATCH] scene: drop wlr_scene_set_presentation() --- include/wlr/types/wlr_scene.h | 11 ----------- types/scene/surface.c | 5 ----- types/scene/wlr_scene.c | 19 ------------------- 3 files changed, 35 deletions(-) diff --git a/include/wlr/types/wlr_scene.h b/include/wlr/types/wlr_scene.h index 2811e95b..76ac32ec 100644 --- a/include/wlr/types/wlr_scene.h +++ b/include/wlr/types/wlr_scene.h @@ -99,12 +99,10 @@ struct wlr_scene { struct wl_list outputs; // wlr_scene_output.link // May be NULL - struct wlr_presentation *presentation; struct wlr_linux_dmabuf_v1 *linux_dmabuf_v1; // private state - struct wl_listener presentation_destroy; struct wl_listener linux_dmabuf_v1_destroy; enum wlr_scene_debug_damage_option debug_damage_option; @@ -303,15 +301,6 @@ struct wlr_scene_node *wlr_scene_node_at(struct wlr_scene_node *node, */ struct wlr_scene *wlr_scene_create(void); -/** - * Handle presentation feedback for all surfaces in the scene, assuming that - * scene outputs and the scene rendering functions are used. - * - * Asserts that a struct wlr_presentation hasn't already been set for the scene. - */ -void wlr_scene_set_presentation(struct wlr_scene *scene, - struct wlr_presentation *presentation); - /** * Handles linux_dmabuf_v1 feedback for all surfaces in the scene. * diff --git a/types/scene/surface.c b/types/scene/surface.c index c5963afe..11396e2f 100644 --- a/types/scene/surface.c +++ b/types/scene/surface.c @@ -48,11 +48,6 @@ static void handle_scene_buffer_output_sample( return; } - struct wlr_scene *root = scene_node_get_root(&surface->buffer->node); - if (!root->presentation) { - return; - } - if (event->direct_scanout) { wlr_presentation_surface_scanned_out_on_output(surface->surface, scene_output->output); } else { diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index eebadec8..d5aba68e 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -123,7 +123,6 @@ void wlr_scene_node_destroy(struct wlr_scene_node *node) { wlr_scene_output_destroy(scene_output); } - wl_list_remove(&scene->presentation_destroy.link); wl_list_remove(&scene->linux_dmabuf_v1_destroy.link); } else { assert(node->parent); @@ -157,7 +156,6 @@ struct wlr_scene *wlr_scene_create(void) { scene_tree_init(&scene->tree, NULL); wl_list_init(&scene->outputs); - wl_list_init(&scene->presentation_destroy.link); wl_list_init(&scene->linux_dmabuf_v1_destroy.link); const char *debug_damage_options[] = { @@ -1193,23 +1191,6 @@ static void scene_entry_render(struct render_list_entry *entry, const struct ren pixman_region32_fini(&render_region); } -static void scene_handle_presentation_destroy(struct wl_listener *listener, - void *data) { - struct wlr_scene *scene = - wl_container_of(listener, scene, presentation_destroy); - wl_list_remove(&scene->presentation_destroy.link); - wl_list_init(&scene->presentation_destroy.link); - scene->presentation = NULL; -} - -void wlr_scene_set_presentation(struct wlr_scene *scene, - struct wlr_presentation *presentation) { - assert(scene->presentation == NULL); - scene->presentation = presentation; - scene->presentation_destroy.notify = scene_handle_presentation_destroy; - wl_signal_add(&presentation->events.destroy, &scene->presentation_destroy); -} - static void scene_handle_linux_dmabuf_v1_destroy(struct wl_listener *listener, void *data) { struct wlr_scene *scene =