gsk: Fix rotated texture scale nodes
authorMatthias Clasen <mclasen@redhat.com>
Mon, 13 Mar 2023 16:59:04 +0000 (17:59 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 14 Mar 2023 04:36:08 +0000 (05:36 +0100)
This was causing us to render rotated texture scale
nodes to an unclipped offscreen, bringing 'giant
intermediate texture' problems back.

gsk/gl/gskglrenderjob.c

index 433e38638cb21df5d2bd4b01ee57687ee5c1d782..ce7ce774d16232f577414cbfe7b32de07616ce60 100644 (file)
@@ -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;