Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
Recursively splits a range until it is no longer divisible. More...
#include <Partitioners.h>
Public Types | |
using | splitter_type = EvenSplitter |
Public Member Functions | |
template<typename TRange > | |
GTS_INLINE | SimplePartitioner (SimplePartitioner &, uint16_t, TRange const &) |
template<typename TPattern , typename TRange > | |
GTS_INLINE Task * | execute (TaskContext const &ctx, TPattern *pPattern, TRange &range) |
template<typename TPattern , typename TRange > | |
GTS_INLINE void | initialOffer (TaskContext const &ctx, TPattern *pPattern, TRange &range, splitter_type const &splitter) |
template<typename TPattern , typename TRange > | |
GTS_INLINE Task * | doExecute (TaskContext const &ctx, TPattern *pPattern, TRange &range, splitter_type const &splitter) |
template<typename TRange > | |
GTS_INLINE void | adjustIfStolen (Task *) |
template<typename TRange > | |
GTS_INLINE void | initialize (uint16_t) |
GTS_INLINE bool | isDivisible () |
Static Public Member Functions | |
template<typename TRange > | |
static GTS_INLINE void | split () |
template<typename TRange > | |
static GTS_INLINE uint16_t | getSplit (SimplePartitioner &) |
Recursively splits a range until it is no longer divisible.