From 0a8861e5ae16fa6aa9e808f2cc8ebd9e3f6a1d5e Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Wed, 11 Jan 2023 13:59:35 -0600 Subject: [PATCH] pixman-renderer: Use transform from paint node We've stored this in the paint node and don't need to calculate it here anymore. Signed-off-by: Derek Foreman --- libweston/pixman-renderer.c | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/libweston/pixman-renderer.c b/libweston/pixman-renderer.c index 6e84589d9..4cfeeb83b 100644 --- a/libweston/pixman-renderer.c +++ b/libweston/pixman-renderer.c @@ -152,31 +152,6 @@ weston_matrix_to_pixman_transform(pixman_transform_t *pt, pt->matrix[2][2] = pixman_double_to_fixed(wm->d[15]); } -static void -pixman_renderer_compute_transform(pixman_transform_t *transform_out, - struct weston_paint_node *pnode) -{ - struct weston_matrix matrix; - struct weston_output *output = pnode->output; - struct weston_view *ev = pnode->view; - - /* Set up the source transformation based on the surface - position, the output position/transform/scale and the client - specified buffer transform/scale */ - matrix = output->inverse_matrix; - - if (ev->transform.enabled) { - weston_matrix_multiply(&matrix, &ev->transform.inverse); - } else { - weston_matrix_translate(&matrix, - -ev->geometry.x, -ev->geometry.y, 0); - } - - weston_matrix_multiply(&matrix, &ev->surface->surface_to_buffer_matrix); - - weston_matrix_to_pixman_transform(transform_out, &matrix); -} - static bool view_transformation_is_translation(struct weston_view *view) { @@ -348,7 +323,8 @@ repaint_region(struct weston_paint_node *pnode, /* Clip rendering to the damaged output region */ pixman_image_set_clip_region32(target_image, repaint_output); - pixman_renderer_compute_transform(&transform, pnode); + weston_matrix_to_pixman_transform(&transform, + &pnode->output_to_buffer_matrix); if (pnode->needs_filtering) filter = PIXMAN_FILTER_BILINEAR;