Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
gts_examples::ParallelFibTask3 Struct Reference

Inherits gts::Task.

Public Member Functions

 ParallelFibTask3 (uint32_t fibN, uint64_t *sum)
 
virtual Taskexecute (gts::TaskContext const &ctx) override
 
- Public Member Functions inherited from gts::Task
GTS_INLINE void addChildTaskWithoutRef (Task *pChild)
 
GTS_INLINE void addChildTaskWithRef (Task *pChild, gts::memory_order order=gts::memory_order::seq_cst)
 
GTS_INLINE void setContinuationTask (Task *pContinuation)
 
GTS_INLINE void recycle ()
 
void waitForAll ()
 
void spawnAndWaitForAll (Task *pChild)
 
GTS_INLINE void setAffinity (uint32_t workerIdx)
 
GTS_INLINE int32_t addRef (int32_t count=1, gts::memory_order order=gts::memory_order::seq_cst)
 
GTS_INLINE int32_t removeRef (int32_t count=1, gts::memory_order order=gts::memory_order::seq_cst)
 
GTS_INLINE void setRef (int32_t count, gts::memory_order order=gts::memory_order::seq_cst)
 
GTS_INLINE void setName (const char *name)
 
GTS_INLINE int32_t refCount (gts::memory_order order=gts::memory_order::acquire) const
 
GTS_INLINE uint32_t getAffinity () const
 
GTS_INLINE bool isStolen () const
 
GTS_INLINE Taskparent ()
 
GTS_INLINE const char * name () const
 

Public Attributes

uint32_t fibN
 
uint64_t * sum