gl renderer: Speed up bounds transformation
authorTimm Bäder <mail@baedert.org>
Fri, 20 Dec 2019 19:31:37 +0000 (20:31 +0100)
committerTimm Bäder <mail@baedert.org>
Tue, 7 Jan 2020 16:27:17 +0000 (17:27 +0100)
We started saving the scale of the current modelview directly in the
RenderOpBuilder, so we don't need to poke the modelview stack anymore.

gsk/gl/gskglrenderops.c

index a4b7786d300e4d595b837403b936ebb8bb597fb8..39916be36c8063910569b64f63112a786cd253a5 100644 (file)
@@ -180,17 +180,13 @@ ops_transform_bounds_modelview (const RenderOpBuilder *builder,
                                 const graphene_rect_t *src,
                                 graphene_rect_t       *dst)
 {
-  const MatrixStackEntry *head;
-
   g_assert (builder->mv_stack != NULL);
   g_assert (builder->mv_stack->len >= 1);
 
-  head = &g_array_index (builder->mv_stack, MatrixStackEntry, builder->mv_stack->len - 1);
-
   gsk_transform_transform_bounds (builder->current_modelview, src, dst);
 
-  dst->origin.x += builder->dx * head->metadata.scale_x;
-  dst->origin.y += builder->dy * head->metadata.scale_y;
+  dst->origin.x += builder->dx * builder->scale_x;
+  dst->origin.y += builder->dy * builder->scale_y;
 }
 
 void