[gegl/threaded-base-classes: 13/13] operation: do not auto-paralellize source ops



commit 5d10a279016f26da5f58271ef1af62b88aeb1583
Author: Øyvind Kolås <pippin gimp org>
Date:   Fri Jun 27 00:05:13 2014 +0200

    operation: do not auto-paralellize source ops
    
    But do so for point-render - which is the type of source ops which most likely
    work out of the box with auto parallelization. This fixes tests which break
    due to parallelized reads when using threads.

 gegl/operation/gegl-operation-point-render.c |    1 +
 gegl/operation/gegl-operation-source.c       |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)
---
diff --git a/gegl/operation/gegl-operation-point-render.c b/gegl/operation/gegl-operation-point-render.c
index e46c2db..a31a3e2 100644
--- a/gegl/operation/gegl-operation-point-render.c
+++ b/gegl/operation/gegl-operation-point-render.c
@@ -57,6 +57,7 @@ gegl_operation_point_render_class_init (GeglOperationPointRenderClass *klass)
 
   operation_class->detect = detect;
   operation_class->no_cache = FALSE;
+  operation_class->parallelize = TRUE;
   operation_class->get_cached_region = NULL; /* we are able to compute anything
                                                  anywhere when we're our kind
                                                  of class */
diff --git a/gegl/operation/gegl-operation-source.c b/gegl/operation/gegl-operation-source.c
index 5de4623..233601a 100644
--- a/gegl/operation/gegl-operation-source.c
+++ b/gegl/operation/gegl-operation-source.c
@@ -53,6 +53,7 @@ gegl_operation_source_class_init (GeglOperationSourceClass * klass)
 
   operation_class->process = gegl_operation_source_process;
   operation_class->attach  = attach;
+  operation_class->parallelize = FALSE;
   operation_class->get_cached_region = get_cached_region;
 
   operation_class->get_bounding_box  = get_bounding_box;


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