From: Matthias Clasen Date: Mon, 13 Mar 2023 16:59:04 +0000 (+0100) Subject: gsk: Fix rotated texture scale nodes X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~5^2~3^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=dcc6cb8f1c2cc51f53624190f37d79e8946ab4b3;p=gtk4.git gsk: Fix rotated texture scale nodes This was causing us to render rotated texture scale nodes to an unclipped offscreen, bringing 'giant intermediate texture' problems back. --- diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c index 433e38638c..ce7ce774d1 100644 --- a/gsk/gl/gskglrenderjob.c +++ b/gsk/gl/gskglrenderjob.c @@ -260,6 +260,7 @@ node_supports_2d_transform (const GskRenderNode *node) case GSK_OPACITY_NODE: case GSK_COLOR_MATRIX_NODE: case GSK_TEXTURE_NODE: + case GSK_TEXTURE_SCALE_NODE: case GSK_CROSS_FADE_NODE: case GSK_LINEAR_GRADIENT_NODE: case GSK_REPEATING_LINEAR_GRADIENT_NODE: @@ -3643,6 +3644,7 @@ gsk_gl_render_job_visit_texture_scale_node (GskGLRenderJob *job, GskTextureKey key; gsk_gl_render_job_untransform_bounds (job, &job->current_clip->rect.bounds, &clip_rect); + if (!graphene_rect_intersection (bounds, &clip_rect, &clip_rect)) return;