Blender V4.3
BLI_task.hh File Reference
#include "BLI_function_ref.hh"
#include "BLI_index_range.hh"
#include "BLI_lazy_threading.hh"
#include "BLI_span.hh"
#include "BLI_task_size_hints.hh"
#include "BLI_utildefines.h"

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... 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)