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