From c65284bf9d0fc74db957b82e57eaee4d78c60bcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Molinari?= Date: Fri, 26 Jul 2024 13:32:35 +0200 Subject: [PATCH] gl-renderer: Fix debug clear region MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The debug clear region must be generated out of the current render buffer's damage region, not out of the current damage region, unless shadow 16F is enabled. Signed-off-by: Loïc Molinari --- libweston/renderer-gl/gl-renderer.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libweston/renderer-gl/gl-renderer.c b/libweston/renderer-gl/gl-renderer.c index 9e2126e7..16e60770 100644 --- a/libweston/renderer-gl/gl-renderer.c +++ b/libweston/renderer-gl/gl-renderer.c @@ -2337,11 +2337,12 @@ gl_renderer_repaint_output(struct weston_output *output, * EGL_KHR_partial_update, since we damage the whole area. */ if (gr->debug_clear) { pixman_region32_t undamaged; + pixman_region32_t *damaged = + shadow_exists(go) ? output_damage : &rb->base.damage; int debug_mode = gr->debug_mode; pixman_region32_init(&undamaged); - pixman_region32_subtract(&undamaged, &output->region, - output_damage); + pixman_region32_subtract(&undamaged, &output->region, damaged); gr->debug_mode = DEBUG_MODE_NONE; repaint_views(output, &undamaged); gr->debug_mode = debug_mode;