From: Benjamin Otte Date: Sun, 7 May 2023 08:07:02 +0000 (+0200) Subject: vulkan: compute new modelview directly X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~1^2~185^2~59 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=0e31cf95422765a8a803a234cd85316da0eeaa6e;p=gtk4.git vulkan: compute new modelview directly no need to go through a GskTransform --- diff --git a/gsk/vulkan/gskvulkanrenderpass.c b/gsk/vulkan/gskvulkanrenderpass.c index f364b7f4c1..78c3911560 100644 --- a/gsk/vulkan/gskvulkanrenderpass.c +++ b/gsk/vulkan/gskvulkanrenderpass.c @@ -505,8 +505,8 @@ gsk_vulkan_render_pass_add_transform_node (GskVulkanRenderPass *self, }; graphene_matrix_t old_mv; GskRenderNode *child; - GskTransform *next_transform; GskTransform *transform; + graphene_matrix_t transform_matrix; float new_scale_x = self->scale_x; float new_scale_y = self->scale_x; float old_scale_x; @@ -579,8 +579,8 @@ gsk_vulkan_render_pass_add_transform_node (GskVulkanRenderPass *self, self->scale_x = new_scale_x; self->scale_y = new_scale_y; - next_transform = gsk_transform_matrix (gsk_transform_ref (transform), &self->mv); - gsk_transform_to_matrix (next_transform, &self->mv); + gsk_transform_to_matrix (transform, &transform_matrix); + graphene_matrix_multiply (&transform_matrix, &self->mv, &self->mv); child = gsk_transform_node_get_child (node); if (!gsk_vulkan_push_constants_transform (&op.constants.constants, constants, transform, &child->bounds))