From 1377fdf20d46998ae72ce70d4b1c8b64035d0ec9 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Thu, 2 Oct 2025 18:30:36 +0200 Subject: [PATCH] gl-renderer: Ignore transparent paint nodes Skip these completely during repaint, since they by definition won't have any effect. Signed-off-by: Daniel Stone --- libweston/renderer-gl/gl-renderer.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index 26b5d6997..728854021 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -1903,6 +1903,12 @@ draw_paint_node(struct weston_paint_node *pnode, if (!pixman_region32_not_empty(&repaint)) goto out; + if (pnode->view->alpha == 0.0f || + (pnode->draw_solid && pnode->solid.a == 0.0f)) { + gs->used_in_output_repaint = true; /* sort of */ + goto out; + } + if (ensure_surface_buffer_is_ready(gr, gs, pnode) < 0) goto out;