From 4d4f823263031cbef06f51547a5fe476e2eb5e38 Mon Sep 17 00:00:00 2001 From: Alexander Orzechowski Date: Tue, 16 Aug 2022 07:03:22 -0400 Subject: [PATCH] wlr_scene: Simplify calculate_visibilty option --- types/scene/wlr_scene.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/types/scene/wlr_scene.c b/types/scene/wlr_scene.c index 79701ab3..ddd09a35 100644 --- a/types/scene/wlr_scene.c +++ b/types/scene/wlr_scene.c @@ -398,15 +398,13 @@ static bool scene_node_update_iterator(struct wlr_scene_node *node, struct wlr_box box = { .x = lx, .y = ly }; scene_node_get_size(node, &box.width, &box.height); + pixman_region32_subtract(&node->visible, &node->visible, data->update_region); + pixman_region32_union(&node->visible, &node->visible, data->visible); + pixman_region32_intersect_rect(&node->visible, &node->visible, + lx, ly, box.width, box.height); + if (data->calculate_visibility) { - pixman_region32_subtract(&node->visible, &node->visible, data->update_region); - pixman_region32_union(&node->visible, &node->visible, data->visible); - pixman_region32_intersect_rect(&node->visible, &node->visible, - lx, ly, box.width, box.height); scene_node_cull_hidden(node, lx, ly, data->visible); - } else { - pixman_region32_fini(&node->visible); - pixman_region32_init_rect(&node->visible, lx, ly, box.width, box.height); } update_node_update_outputs(node, data->outputs, NULL);