diff options
Diffstat (limited to 'source/blender/blenlib/BLI_task.h')
-rw-r--r-- | source/blender/blenlib/BLI_task.h | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/source/blender/blenlib/BLI_task.h b/source/blender/blenlib/BLI_task.h index 7ef5e518cc8..05c3d43a0de 100644 --- a/source/blender/blenlib/BLI_task.h +++ b/source/blender/blenlib/BLI_task.h @@ -196,9 +196,22 @@ void BLI_task_parallel_range(const int start, const int stop, void *userdata, TaskParallelRangeFunc func, - const TaskParallelSettings *settings); - -/* This data is shared between all tasks, its access needs thread lock or similar protection. */ + TaskParallelSettings *settings); + +typedef struct TaskParallelRangePool TaskParallelRangePool; +struct TaskParallelRangePool *BLI_task_parallel_range_pool_init( + const struct TaskParallelSettings *settings); +void BLI_task_parallel_range_pool_push(struct TaskParallelRangePool *range_pool, + const int start, + const int stop, + void *userdata, + TaskParallelRangeFunc func, + const struct TaskParallelSettings *settings); +void BLI_task_parallel_range_pool_work_and_wait(struct TaskParallelRangePool *range_pool); +void BLI_task_parallel_range_pool_free(struct TaskParallelRangePool *range_pool); + +/* This data is shared between all tasks, its access needs thread lock or similar protection. + */ typedef struct TaskParallelIteratorStateShared { /* Maximum amount of items to acquire at once. */ int chunk_size; |