diff options
author | Benjamin Otte <otte@redhat.com> | 2023-05-07 10:07:02 +0200 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2023-05-17 02:25:32 +0200 |
commit | f302fa3c03f47fc4ece395d53596fe2b429401e1 (patch) | |
tree | ccfbc76083aa77458ef0fe72089badec4a9343f0 | |
parent | 963d0c9d69fd65317b53af508bee418bc0b0e073 (diff) | |
download | gtk+-f302fa3c03f47fc4ece395d53596fe2b429401e1.tar.gz |
vulkan: compute new modelview directly
no need to go through a GskTransform
-rw-r--r-- | gsk/vulkan/gskvulkanrenderpass.c | 6 |
1 files changed, 3 insertions, 3 deletions
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)) |