From: Matthias Clasen Date: Fri, 5 May 2023 02:30:12 +0000 (-0400) Subject: gsk: Avoid some offscreens X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~308^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=ce6569d1a670a9b2ae03d72c2f22cd9019cf38a6;p=gtk4.git gsk: Avoid some offscreens We don't have to be too conservative when checking if a rect is contained in a rounded rect, we have a precise api for this. --- diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c index 7fa6408fc2..dc1be07d98 100644 --- a/gsk/gl/gskglrenderjob.c +++ b/gsk/gl/gskglrenderjob.c @@ -1750,22 +1750,13 @@ gsk_gl_render_job_visit_rounded_clip_node (GskGLRenderJob *job, if (job->clip->len <= 1) need_offscreen = FALSE; - else if (rounded_inner_rect_contains_rect (&job->current_clip->rect, &transformed_clip.bounds)) + else if (gsk_rounded_rect_contains_rect (&job->current_clip->rect, &transformed_clip.bounds)) need_offscreen = FALSE; else need_offscreen = TRUE; if (!need_offscreen) { - /* If the new clip entirely contains the current clip, the intersection is simply - * the current clip, so we can ignore the new one. - */ - if (rounded_inner_rect_contains_rect (&transformed_clip, &job->current_clip->rect.bounds)) - { - gsk_gl_render_job_visit_node (job, child); - return; - } - gsk_gl_render_job_push_clip (job, &transformed_clip); gsk_gl_render_job_visit_node (job, child); gsk_gl_render_job_pop_clip (job);