From 52547cb9ea6bf5ea3a64780f17a71cb8af1cb458 Mon Sep 17 00:00:00 2001 From: Robert Mader Date: Thu, 18 Mar 2021 13:37:57 +0100 Subject: [PATCH] shaped-texture: Viewport update calculation fixes If only a viewport destination size is set, the noop viewport has to take the buffer scale into account. If a viewport source but no viewport destination size is set, the destination size is that of the viewport source, not of the whole texture. Part-of: --- src/compositor/meta-shaped-texture.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/compositor/meta-shaped-texture.c b/src/compositor/meta-shaped-texture.c index 547ff4d35..6ff934386 100644 --- a/src/compositor/meta-shaped-texture.c +++ b/src/compositor/meta-shaped-texture.c @@ -1031,8 +1031,8 @@ meta_shaped_texture_update_area (MetaShapedTexture *stex, viewport = (graphene_rect_t) { .origin.x = 0, .origin.y = 0, - .size.width = stex->tex_width, - .size.height = stex->tex_height, + .size.width = stex->tex_width / stex->buffer_scale, + .size.height = stex->tex_height / stex->buffer_scale, }; } @@ -1043,8 +1043,8 @@ meta_shaped_texture_update_area (MetaShapedTexture *stex, } else { - dst_width = (float) stex->tex_width; - dst_height = (float) stex->tex_height; + dst_width = (float) viewport.size.width; + dst_height = (float) viewport.size.height; } inverted_viewport = (graphene_rect_t) {