Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
A schedule produced by a CentralQueue_MacroScheduler. More...
#include <CentralQueue_Schedule.h>
Inherits gts::Schedule.
Public Member Functions | |
CentralQueue_Schedule (MacroScheduler *pMyScheduler, Node *pBegin, Node *pEnd) | |
virtual GTS_INLINE bool | isDone () const final |
virtual Node * | popNextNode (ComputeResource *pCompResource, bool myQueuesOnly) final |
virtual GTS_INLINE void | tryMarkDone (Node *pNode) final |
virtual void | insertReadyNode (Node *pNode) final |
Public Member Functions inherited from gts::Schedule | |
GTS_INLINE | Schedule (MacroScheduler *pMyScheduler) |
virtual | ~Schedule ()=default |
GTS_INLINE MacroScheduler * | getScheduler () |
GTS_INLINE int32_t | refCount () const |
GTS_INLINE int32_t | addRef (uint32_t refCount) |
GTS_INLINE uint32_t | removeRef (uint32_t refCount) |
virtual void | observeExecutionCost (ComputeResourceId, uint64_t) |
Friends | |
class | CentralQueue_MacroScheduler |
A schedule produced by a CentralQueue_MacroScheduler.
|
finalvirtual |
Inserts a ready Node into the schedule.
Implements gts::Schedule.
|
inlinefinalvirtual |
Implements gts::Schedule.
|
finalvirtual |
Implements gts::Schedule.
|
inlinefinalvirtual |
If 'pNode' is the last Node, mark the schedule as done.
Implements gts::Schedule.