[Pixman] [PATCH 1/4] Expose general_composite_rect outside pixman-general.c

Ben Avison bavison at riscosopen.org
Tue Aug 25 16:23:23 PDT 2015


---
 pixman/pixman-general.c |    8 ++++----
 pixman/pixman-private.h |    9 +++++++++
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/pixman/pixman-general.c b/pixman/pixman-general.c
index c8f272b..bb14b5e 100644
--- a/pixman/pixman-general.c
+++ b/pixman/pixman-general.c
@@ -123,9 +123,9 @@ operator_needs_division (pixman_op_t op)
     return needs_division[op];
 }
 
-static void
-general_composite_rect  (pixman_implementation_t *imp,
-                         pixman_composite_info_t *info)
+void
+_pixman_general_composite_rect  (pixman_implementation_t *imp,
+                                 pixman_composite_info_t *info)
 {
     PIXMAN_COMPOSITE_ARGS (info);
     uint8_t stack_scanline_buffer[3 * SCANLINE_BUFFER_LENGTH];
@@ -240,7 +240,7 @@ general_composite_rect  (pixman_implementation_t *imp,
 
 static const pixman_fast_path_t general_fast_path[] =
 {
-    { PIXMAN_OP_any, PIXMAN_any, 0, PIXMAN_any,	0, PIXMAN_any, 0, general_composite_rect },
+    { PIXMAN_OP_any, PIXMAN_any, 0, PIXMAN_any,	0, PIXMAN_any, 0, _pixman_general_composite_rect },
     { PIXMAN_OP_NONE }
 };
 
diff --git a/pixman/pixman-private.h b/pixman/pixman-private.h
index a8298ac..d2fbd53 100644
--- a/pixman/pixman-private.h
+++ b/pixman/pixman-private.h
@@ -573,6 +573,15 @@ _pixman_implementation_iter_init (pixman_implementation_t       *imp,
                                   iter_flags_t                   flags,
                                   uint32_t                       image_flags);
 
+/* Provide a grubby back door to the fetcher / combiner system for
+ * use by implementations where we know the iterators are faster than
+ * pixman-fast-path.c (or more generally, any other lower-priority
+ * implementation in the chain) for a specific operation.
+ */
+void
+_pixman_general_composite_rect  (pixman_implementation_t *imp,
+                                 pixman_composite_info_t *info);
+
 /* Specific implementations */
 pixman_implementation_t *
 _pixman_implementation_create_general (void);
-- 
1.7.5.4



More information about the Pixman mailing list