diff options
author | Matthias Clasen <mclasen@redhat.com> | 2023-03-18 00:10:38 -0400 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2023-03-18 00:10:38 -0400 |
commit | d31ba5f551642a0fc7049b0d30dd118d2898b5ca (patch) | |
tree | 4b38a2dd0707a9fa7bdfcf85b14bb3986a91b466 /gsk | |
parent | fb6e432afb34b47b75577f9f9298840de55101c8 (diff) | |
download | gtk+-d31ba5f551642a0fc7049b0d30dd118d2898b5ca.tar.gz |
gsk: Drop texture subsetting
We don't do this for unfiltered textures either,
and with working slicing, it isn't needed.
Diffstat (limited to 'gsk')
-rw-r--r-- | gsk/gl/gskglrenderjob.c | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/gsk/gl/gskglrenderjob.c b/gsk/gl/gskglrenderjob.c index f29375fa6b..8fbc06ab35 100644 --- a/gsk/gl/gskglrenderjob.c +++ b/gsk/gl/gskglrenderjob.c @@ -3643,8 +3643,6 @@ gsk_gl_render_job_visit_texture_scale_node (GskGLRenderJob *job, guint prev_fbo; float u0, u1, v0, v1; GskTextureKey key; - GdkTexture *subtexture = NULL; - graphene_rect_t subbounds; guint texture_id; if (filter == GSK_SCALING_FILTER_LINEAR) @@ -3685,36 +3683,6 @@ gsk_gl_render_job_visit_texture_scale_node (GskGLRenderJob *job, return; } - if G_UNLIKELY (texture->width > max_texture_size || - texture->height > max_texture_size) - { - float scale_x = bounds->size.width / texture->width; - float scale_y = bounds->size.height / texture->height; - int x, y, width, height; - - x = (int) floorf ((clip_rect.origin.x - bounds->origin.x) / scale_x); - y = (int) floorf ((clip_rect.origin.y - bounds->origin.y) / scale_y); - width = (int) ceilf (clip_rect.size.width / scale_x); - height = (int) ceilf (clip_rect.size.height / scale_y); - - if (width <= max_texture_size && height <= max_texture_size) - { - GdkMemoryTexture *memtex; - - memtex = gdk_memory_texture_from_texture (texture, gdk_texture_get_format (texture)); - subtexture = gdk_memory_texture_new_subtexture (memtex, x, y, width, height); - g_object_unref (memtex); - - subbounds.origin.x = bounds->origin.x + x * scale_x; - subbounds.origin.y = bounds->origin.y + y * scale_y; - subbounds.size.width = width * scale_x; - subbounds.size.height = height * scale_y; - - texture = subtexture; - bounds = &subbounds; - } - } - gsk_gl_render_job_set_viewport (job, &viewport, &prev_viewport); gsk_gl_render_job_set_projection_from_rect (job, &viewport, &prev_projection); gsk_gl_render_job_set_modelview (job, NULL); @@ -3819,8 +3787,6 @@ render_texture: clip_rect.size.height / ceilf (clip_rect.size.height), 0, (guint16[]){ FP16_ZERO, FP16_ZERO, FP16_ZERO, FP16_ZERO } ); gsk_gl_render_job_end_draw (job); - - g_clear_object (&subtexture); } static inline void |