summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2023-05-07 10:07:02 +0200
committerBenjamin Otte <otte@redhat.com>2023-05-17 02:25:32 +0200
commitf302fa3c03f47fc4ece395d53596fe2b429401e1 (patch)
treeccfbc76083aa77458ef0fe72089badec4a9343f0
parent963d0c9d69fd65317b53af508bee418bc0b0e073 (diff)
downloadgtk+-f302fa3c03f47fc4ece395d53596fe2b429401e1.tar.gz
vulkan: compute new modelview directly
no need to go through a GskTransform
-rw-r--r--gsk/vulkan/gskvulkanrenderpass.c6
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))