Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
A construct that maps a parallel-wavefront behavior to a MicroScheduler. More...
#include <ParallelWavefront.h>
Public Member Functions | |
GTS_INLINE | ParallelWavefront (MicroScheduler &scheduler, uint32_t priority=0) |
Creates a ParallelWavefront object bound to the specified 'scheduler'. All parallel-wavefront operations will be scheduled with the specified 'priority'. | |
template<typename TFunc , typename TPartitioner , template< typename... > class TRange, class... TArgs> | |
GTS_INLINE void | operator() (TRange< TArgs... > const &range, TFunc wavefrontFunc, TPartitioner partitioner, void *pUserData) |
Applies the given function 'wavefrontFunc' to the specified iteration 'range'. More... | |
A construct that maps a parallel-wavefront behavior to a MicroScheduler.
Implement 3D version.
Cleanup and Optimize
|
inline |
Applies the given function 'wavefrontFunc' to the specified iteration 'range'.
range | An iteration range. |
wavefrontFunc | The wavefront function to apply to each range block. Signature: void(*)(TRange& range, void* pUserData, TaskContext const&);
|
partitioner | The partitioning algorithmic that will subdivided range. |
pUserData | Optional user data that will be passed into func. |