[gtk/matthiasc/for-master: 2/5] ngl: Small optimization




commit aaf17fd3d04f00b76b5c21ec5057c4c0b474ef07
Author: Matthias Clasen <mclasen redhat com>
Date:   Sat Apr 10 20:26:45 2021 -0400

    ngl: Small optimization
    
    We really want equality here.

 gsk/ngl/gsknglrenderjob.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
---
diff --git a/gsk/ngl/gsknglrenderjob.c b/gsk/ngl/gsknglrenderjob.c
index 69c92ac80f..7c684164f3 100644
--- a/gsk/ngl/gsknglrenderjob.c
+++ b/gsk/ngl/gsknglrenderjob.c
@@ -212,6 +212,13 @@ node_is_invisible (const GskRenderNode *node)
          node->bounds.size.height == 0.0f;
 }
 
+static inline gboolean G_GNUC_PURE
+rounded_rect_equal (const GskRoundedRect *r1,
+                    const GskRoundedRect *r2)
+{
+  return memcmp (r1, r2, sizeof (GskRoundedRect)) == 0;
+}
+
 static inline void
 gsk_rounded_rect_shrink_to_minimum (GskRoundedRect *self)
 {
@@ -3474,8 +3481,8 @@ gsk_ngl_render_job_visit_node (GskNglRenderJob     *job,
                 if (gsk_render_node_get_node_type (grandchild) == GSK_COLOR_NODE &&
                     gsk_render_node_get_node_type (child2) == GSK_BORDER_NODE &&
                     gsk_border_node_get_uniform_color (child2) &&
-                    gsk_rounded_rect_equal (gsk_rounded_clip_node_get_clip (child),
-                                            gsk_border_node_get_outline (child2)))
+                    rounded_rect_equal (gsk_rounded_clip_node_get_clip (child),
+                                        gsk_border_node_get_outline (child2)))
                   {
                     gsk_ngl_render_job_visit_css_background (job, child, child2);
                     i++; /* skip the border node */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]