Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
Modules | |
ParallelPatterns | |
Classes | |
class | gts::MicroScheduler |
A work-stealing task scheduler. The scheduler is executed by the WorkerPool it is initialized with. More... | |
struct | gts::TaskContext |
The context associated with the task being executed. More... | |
struct | gts::WorkerThreadDesc |
The description of a worker Thread. More... | |
struct | gts::WorkerPoolVisitor |
A visitor object for the worker pool. Allows the user to be notified at particular points during the WorkerPool's lifetime. More... | |
struct | gts::WorkerPoolDesc |
The description of a WorkerPool. More... | |
struct | gts::MicroSchedulerDesc |
The description of a MicroScheduler. More... | |
class | gts::Task |
A Task payload that embeds TFunc and TArgs into the Task's data. It makes it easy to construct a Task from a lambda or a function plus arguments similar to std::thread. More... | |
class | gts::CStyleTask |
A Task payload that embeds a function pointer and data argument into the the Task's data. More... | |
class | gts::LambdaTaskWrapper< TFunc, TArgs > |
A Task payload that embeds TFunc and TArgs into the Task's data. It makes it easy to construct a Task from a lambda or a function plus arguments similar to std::thread. More... | |
class | gts::EmptyTask |
A empty Task that can be used as dummy or placeholder. More... | |
class | gts::WorkerPool |
A collection of running Worker threads that a MicroScheduler can be run on. More... | |
Typedefs | |
using | gts::OnCheckForTasksFcn = Task *(*)(void *pUserData, MicroScheduler *pThisScheduler, OwnedId localSchedulerId, bool isCallerExternal, bool &executedTask) |
Enumerations | |
enum class | MicroSchedulerCallbackType { CHECK_FOR_TASK , COUNT } |
Variables | |
constexpr size_t | gts::DESC_NAME_SIZE = 64 |
The fixed size for descriptive names. | |
constexpr uint32_t | gts::ANY_WORKER = UNKNOWN_UID |
Fine-grained Task scheduling abstraction.