Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
The description of a WorkerPool. More...
#include <MicroSchedulerTypes.h>
Public Types | |
using | SetThreadLocalStateFcn = void(*)(uintptr_t state) |
using | GetThreadLocalStateFcn = uintptr_t(*)() |
Public Attributes | |
gts::Vector< WorkerThreadDesc > | workerDescs |
The description of each worker thread. More... | |
SetThreadLocalStateFcn | pSetThreadLocalStateFcn = nullptr |
The setter for the thread local value that holds each worker thread's index. Useful for cross DLL thread local storage. Uses default if nullptr. | |
GetThreadLocalStateFcn | pGetThreadLocalStateFcn = nullptr |
The getter for the thread local value that holds each worker thread's index. Useful for cross DLL thread local storage. Uses default if nullptr. | |
WorkerPoolVisitor * | pVisitor = nullptr |
A user-defined visitor object for the WorkerPool. The object must stay alive for the lifetime of the WorkerPool. | |
uint32_t | cachableTaskSize = GTS_NO_SHARING_CACHE_LINE_SIZE * 2 |
The maximum size of Tasks that are cached and reused. Sizes larger than this will be allocated from the heap. | |
uint32_t | initialTaskCountPerWorker = 0 |
The number of Tasks to create and cache per Worker during initialization. | |
char | name [DESC_NAME_SIZE] = { 0 } |
A name to help with debugging. | |
The description of a WorkerPool.
gts::Vector<WorkerThreadDesc> gts::WorkerPoolDesc::workerDescs |
The description of each worker thread.