summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2023-05-01 14:46:30 -0400
committerMatthias Clasen <mclasen@redhat.com>2023-05-01 14:46:30 -0400
commitb79d4a3a22441efe61d0cfc4467704e45f205d10 (patch)
treee91b7a1510179ed6f43039b8d612779c679fbd36
parent33ab588d4e2f74d67e118cdd7d81d4d009fe6828 (diff)
downloadgtk+-b79d4a3a22441efe61d0cfc4467704e45f205d10.tar.gz
gsk: Fix rendering big textures with offsets
When slicing the texture, the GL renderer was forgetting to apply the viewport origin. This shows up when rendering things with negative scales, leading to negative origins.
-rw-r--r--gsk/gl/gskglrenderer.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gsk/gl/gskglrenderer.c b/gsk/gl/gskglrenderer.c
index 306b042c98..007dae1f87 100644
--- a/gsk/gl/gskglrenderer.c
+++ b/gsk/gl/gskglrenderer.c
@@ -356,7 +356,8 @@ gsk_gl_renderer_render_texture (GskRenderer *renderer,
for (x = 0; x < width; x += max_size)
{
texture = gsk_gl_renderer_render_texture (renderer, root,
- &GRAPHENE_RECT_INIT (x, y,
+ &GRAPHENE_RECT_INIT (viewport->origin.x + x,
+ viewport->origin.y + y,
MIN (max_size, viewport->size.width - x),
MIN (max_size, viewport->size.height - y)));
gdk_texture_download (texture,