Commit 172d9b4f authored by Committed by Øyvind "pippin" Kolås
operation, transform: use separate input buffers for different threads
Use gegl_operation_context_dup_input_maybe_copy(), added in the previous commit, in GimpOperationFilter, GimpOperationComposer, GimpOperationComposer3, and OpTransform (however, *not* in the corresponding point ops), to (potentially) create a separate copy of the input buffer for each thread, to avoid lock contention over the input buffer's tile-storage lock. Use the input buffer directly only for the first chunk, which is processed by the caller thread. This significantly improves performance of operations that randomly access the input buffer (e.g., using a sampler), and seems not to pessimize operations with a more regular access pattern (e.g., using an iterator, or scan rows).
Showing with 62 additions and 22 deletions