|
|
32cb41 |
From 4c1c3541efa37acf3a03822289a8ab8705cbbc4e Mon Sep 17 00:00:00 2001
|
|
|
32cb41 |
From: Christian Hergert <chergert@redhat.com>
|
|
|
32cb41 |
Date: Sun, 23 Feb 2020 17:27:08 -0800
|
|
|
32cb41 |
Subject: [PATCH 1/3] clutter: avoid redundant _clutter_paint_node_init_types()
|
|
|
32cb41 |
|
|
|
32cb41 |
This only needs to be initialized once but is in the hot path of creating
|
|
|
32cb41 |
new paint nodes (for which we create many). Instead, do this as part of
|
|
|
32cb41 |
the clutter_init() workflow to keep it out of the hot path.
|
|
|
32cb41 |
|
|
|
32cb41 |
https://gitlab.gnome.org/GNOME/mutter/merge_requests/1087
|
|
|
32cb41 |
---
|
|
|
32cb41 |
clutter/clutter/clutter-main.c | 4 ++++
|
|
|
32cb41 |
clutter/clutter/clutter-paint-node.c | 2 --
|
|
|
32cb41 |
2 files changed, 4 insertions(+), 2 deletions(-)
|
|
|
32cb41 |
|
|
|
32cb41 |
diff --git a/clutter/clutter/clutter-main.c b/clutter/clutter/clutter-main.c
|
|
|
32cb41 |
index 71ec0d80c..645c8bceb 100644
|
|
|
32cb41 |
--- a/clutter/clutter/clutter-main.c
|
|
|
32cb41 |
+++ b/clutter/clutter/clutter-main.c
|
|
|
32cb41 |
@@ -61,6 +61,7 @@
|
|
|
32cb41 |
#include "clutter-main.h"
|
|
|
32cb41 |
#include "clutter-master-clock.h"
|
|
|
32cb41 |
#include "clutter-mutter.h"
|
|
|
32cb41 |
+#include "clutter-paint-node-private.h"
|
|
|
32cb41 |
#include "clutter-private.h"
|
|
|
32cb41 |
#include "clutter-settings-private.h"
|
|
|
32cb41 |
#include "clutter-stage-manager.h"
|
|
|
32cb41 |
@@ -1366,6 +1367,9 @@ clutter_init_real (GError **error)
|
|
|
32cb41 |
if (clutter_enable_accessibility)
|
|
|
32cb41 |
cally_accessibility_init ();
|
|
|
32cb41 |
|
|
|
32cb41 |
+ /* Initialize types required for paint nodes */
|
|
|
32cb41 |
+ _clutter_paint_node_init_types ();
|
|
|
32cb41 |
+
|
|
|
32cb41 |
return CLUTTER_INIT_SUCCESS;
|
|
|
32cb41 |
}
|
|
|
32cb41 |
|
|
|
32cb41 |
diff --git a/clutter/clutter/clutter-paint-node.c b/clutter/clutter/clutter-paint-node.c
|
|
|
32cb41 |
index e731ca60a..73765a4e9 100644
|
|
|
32cb41 |
--- a/clutter/clutter/clutter-paint-node.c
|
|
|
32cb41 |
+++ b/clutter/clutter/clutter-paint-node.c
|
|
|
32cb41 |
@@ -1177,8 +1177,6 @@ _clutter_paint_node_create (GType gtype)
|
|
|
32cb41 |
{
|
|
|
32cb41 |
g_return_val_if_fail (g_type_is_a (gtype, CLUTTER_TYPE_PAINT_NODE), NULL);
|
|
|
32cb41 |
|
|
|
32cb41 |
- _clutter_paint_node_init_types ();
|
|
|
32cb41 |
-
|
|
|
32cb41 |
return (gpointer) g_type_create_instance (gtype);
|
|
|
32cb41 |
}
|
|
|
32cb41 |
|
|
|
32cb41 |
--
|
|
|
32cb41 |
2.26.0
|
|
|
32cb41 |
|