Games Task Scheduler (GTS)
A multi-processor scheduling framework for games engines
|
Clone the repository.
The paths below are relative to the root location where GTS was cloned.
Files | Description |
---|---|
source/gts/include/ | Public header files. |
File | Description |
---|---|
_build/gts/<vs*>/<compiler_flavor>/<build_flavor>/gts.lib | GTS static library |
File | Description |
---|---|
_build/gts/gmake/<build_flavor>/gts.a | GTS static library |
GTS supports the following build-time options.
Option | Supported values (defaults in bold) | Description |
---|---|---|
GTS_ENABLE_ASSERTS | not defined, defined | Enables asserts in NDEBUG builds. |
GTS_ENABLE_INTERNAL_ASSERTS | not defined, defined | Enables internal asserts in NDEBUG builds. |
GTS_TRACE_CONCURRENT_USE_LOGGER | 0, 1 | Enables tracing with the ConcurrentLogger. |
GTS_TRACE_USE_TRACY | 0, 1 | Enables tracing with the Tracy. |
GTS_TRACE_USE_RAD_TELEMETRY | 0, 1 | Enables tracing with the RAD Telemetry. |
GTS_TRACE_USE_ITT | 0, 1 | Enables tracing with Intel's ITT. |
GTS_ENABLE_COUNTER | not defined, defined | Enables statistics counters. |
GTS_USE_GTS_MALLOC | not defined, defined | All internal GTS dynamic memory allocations will be done through GTS malloc. |
GTS_HAS_CUSTOM_CPU_INTRINSICS_WRAPPERS | not defined, defined | Indicates that the CPU intrinsic wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_DYNAMIC_MEMORY_WRAPPERS | not defined, defined | Indicates that the dynamic memory wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_OS_MEMORY_WRAPPERS | not defined, defined | Indicates that the OS memory wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_THREAD_WRAPPERS | not defined, defined | Indicates that the OS thread wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_EVENT_WRAPPERS | not defined, defined | Indicates that the OS event wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_ATOMICS_WRAPPERS | not defined, defined | Indicates that the atomics wrappers will be user provided in user_config.h. |
GTS_HAS_CUSTOM_ASSERT_WRAPPER | not defined, defined | Indicates that assert handling will be user provided in user_config.h. |
GTS_HAS_CUSTOM_TRACE_WRAPPER | not defined, defined | Indicates that the trace wrappers will be user provided in user_config.h. |
Tracing overrides have the folowing precedence ordering:
See Tracing (TBD) for details.
Memory overrides folowing precedence ordering:
If the user defines any of the GTS_HAS_CUSTOM_*; they must implement the corresponding marco in their user_config.h.
See Platform Replacement for details.