1. 10 Nov, 2018 1 commit
    • Ell's avatar
      gegl: add gegl-parallel · 43519620
      Ell authored
      gegl-parallel provides various parallel algorithms.  Currently,
      this is limited to the gegl_parallel_distribute() family of
      functions, which distribute work across multiple threads, migrated
      from GIMP.
      
      The following commits use these functions to replace the various
      thread-pools we use to auto-parallelize operations with simpler
      code, fixing potential dealocks as a result of nested operation
      processing, as in bug #790810, along the way.
      
      Since gegl-parallel is public API, it also eases manual
      parallelization of operations, inside and outside of GEGL.
      43519620
  2. 11 Jul, 2018 1 commit
  3. 11 Nov, 2017 1 commit
    • Ell's avatar
      graph, process: replace DFS/BFS with topological search · f68e28b2
      Ell authored
      Remove gegl_visitor_{dfs,bfs}_traverse().  They weren't actually
      performing DFS and BFS, but were rather characterized by performing
      topological (dependencies-first) and reverse-topological
      (dependencies-last) search.
      
      Instead, add gegl_visitor_traverse_[reverse_]topological(), which
      perform a forward- and reverse-topological search, with lower
      overhead (in the BFS case, the specific order is different than
      before.)
      
      Adapt the rest of the code to use the new functions.  In
      particular, use a single GQueue in GeglGraphTraversal to store the
      path in topological order, instead of separate DFS and BFS paths.
      We forward-iterate over the path where we'd previously used the DFS
      list, and reverse-iterate where we'd previously used the BFS list.
      
      Remove GeglListVisitor, since it's no longer used.
      f68e28b2
  4. 05 Jun, 2013 1 commit
    • Daniel Sabo's avatar
      New graph processor · 78264149
      Daniel Sabo authored
      Streamline the graph evaluation process to reduce overhead.
      
      Important changes / gotchas:
      * get_cached_region is no longer used. The cache bounds are
        always the full output bounds, but the request will not be
        expanded.
      * The cache intersect is calculated after all requests to a node
        are combined, so partial cache hits from multiple nodes may
        skip the cache.
      * Meta nodes (nodes who's pads do not reference them) will never
        be visited.
      * Prepare is called only once per node, and must not modify the
        connectivity of the graph.
      78264149
  5. 03 Apr, 2013 1 commit
  6. 29 Apr, 2008 1 commit
  7. 06 Jan, 2008 1 commit
    • Michael Natterer's avatar
      gegl/buffer/gegl-buffer-allocator.h gegl/buffer/gegl-buffer-load.h · 925b9e0f
      Michael Natterer authored
      2008-01-06  Michael Natterer  <mitch@gimp.org>
      
      	* gegl/buffer/gegl-buffer-allocator.h
      	* gegl/buffer/gegl-buffer-load.h
      	* gegl/buffer/gegl-buffer-private.h
      	* gegl/buffer/gegl-buffer-save.h
      	* gegl/buffer/gegl-buffer-types.h
      	* gegl/buffer/gegl-buffer.h
      	* gegl/buffer/gegl-cache.h
      	* gegl/buffer/gegl-handler-cache.h
      	* gegl/buffer/gegl-handler-empty.h
      	* gegl/buffer/gegl-handler-log.h
      	* gegl/buffer/gegl-handler-zoom.h
      	* gegl/buffer/gegl-handler.h
      	* gegl/buffer/gegl-handlers.h
      	* gegl/buffer/gegl-provider.h
      	* gegl/buffer/gegl-region-generic.h
      	* gegl/buffer/gegl-region.h
      	* gegl/buffer/gegl-sampler-lanczos.h
      	* gegl/buffer/gegl-sampler-linear.h
      	* gegl/buffer/gegl-sampler-nearest.h
      	* gegl/buffer/gegl-sampler.h
      	* gegl/buffer/gegl-storage.h
      	* gegl/buffer/gegl-tile-backend.h
      	* gegl/buffer/gegl-tile-disk.h
      	* gegl/buffer/gegl-tile-mem.h
      	* gegl/buffer/gegl-tile.h
      	* gegl/operation/gegl-extension-handler.h
      	* gegl/operation/gegl-operation-area-filter.h
      	* gegl/operation/gegl-operation-composer.h
      	* gegl/operation/gegl-operation-filter.h
      	* gegl/operation/gegl-operation-meta.h
      	* gegl/operation/gegl-operation-point-composer.h
      	* gegl/operation/gegl-operation-point-filter.h
      	* gegl/operation/gegl-operation-sink.h
      	* gegl/operation/gegl-operation-source.h
      	* gegl/operation/gegl-operation.h
      	* gegl/property-types/gegl-color.h
      	* gegl/property-types/gegl-curve.h: header cleanup: added missing
      	GEGL_IS_FOO() macros, unified include guards, indentation, remove
      	tons of includes, remove trailing whitespace, stuff...
      
      
      svn path=/trunk/; revision=1809
      925b9e0f
  8. 11 Nov, 2007 1 commit
  9. 10 Nov, 2007 1 commit
    • Øyvind Kolås's avatar
      Upgraded GEGL from (L)GPLv2 to (L)GPLv3. The library itself and the · 6609e9b8
      Øyvind Kolås authored
      	operations are under LGPLv3 and the sample programs using the GEGL
      	library are licensed under GPLv3. Copyright statements in all files
      	have been updated to reflect this change, the permission to use leter
      	versions of the GNU licenses have been retained in all instances.)
      
      	* COPYING: changed to GPLv3
      	* COPYING.LESSER: added (LGPLv3 's exceptions over GPLv3)
      
      svn path=/trunk/; revision=1682
      6609e9b8
  10. 11 Feb, 2007 1 commit
  11. 06 Jul, 2006 1 commit