Blender V5.0
BLI_task.hh File Reference

Go to the source code of this file.

Classes

struct  blender::GrainSize

Namespaces

namespace  blender
namespace  blender::threading
namespace  blender::threading::detail

Functions

template<typename Range, typename Function>
void blender::threading::parallel_for_each (Range &&range, const Function &function)
void blender::threading::detail::parallel_for_impl (IndexRange range, int64_t grain_size, FunctionRef< void(IndexRange)> function, const TaskSizeHints &size_hints)
void blender::threading::detail::memory_bandwidth_bound_task_impl (FunctionRef< void()> function)
template<typename Function>
void blender::threading::parallel_for (const IndexRange range, const int64_t grain_size, const Function &function, const TaskSizeHints &size_hints=detail::TaskSizeHints_Static(1))
IndexRange blender::threading::align_sub_range (const IndexRange unaligned_range, const int64_t alignment, const IndexRange global_range)
template<typename Function>
void blender::threading::parallel_for_aligned (const IndexRange range, const int64_t grain_size, const int64_t alignment, const Function &function)
template<typename Value, typename Function, typename Reduction>
Value blender::threading::parallel_reduce (IndexRange range, int64_t grain_size, const Value &identity, const Function &function, const Reduction &reduction)
template<typename Value, typename Function, typename Reduction>
Value blender::threading::parallel_reduce_aligned (const IndexRange range, const int64_t grain_size, const int64_t alignment, const Value &identity, const Function &function, const Reduction &reduction)
template<typename Value, typename Function, typename Reduction>
Value blender::threading::parallel_deterministic_reduce (IndexRange range, int64_t grain_size, const Value &identity, const Function &function, const Reduction &reduction)
template<typename... Functions>
void blender::threading::parallel_invoke (Functions &&...functions)
template<typename... Functions>
void blender::threading::parallel_invoke (const bool use_threading, Functions &&...functions)
template<typename Function>
void blender::threading::isolate_task (const Function &function)
template<typename Function>
void blender::threading::memory_bandwidth_bound_task (const int64_t approximate_bytes_touched, const Function &function)