mirror of
https://github.com/libsdl-org/SDL.git
synced 2025-05-28 07:29:09 +00:00
Add SDL_sem implementation using Atomics and WaitOnAddress API.
Keep Semaphore Kernel Object impl for Windows 7 and older - choose at runtime v2: - Fix mixed int/LONG types - Reorder definitions - Add missing include v3: - Use `GetModuleHandle()` to load the API Set
This commit is contained in:
parent
2b040cebbe
commit
d0b8295c0d
2 changed files with 339 additions and 23 deletions
|
@ -1210,6 +1210,22 @@ extern "C" {
|
|||
*/
|
||||
#define SDL_HINT_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS "SDL_WINDOWS_FORCE_MUTEX_CRITICAL_SECTIONS"
|
||||
|
||||
/**
|
||||
* \brief Force SDL to use Kernel Semaphores on Windows.
|
||||
* Kernel Semaphores are inter-process and require a context
|
||||
* switch on every interaction. On Windows 8 and newer, the
|
||||
* WaitOnAddress API is available. Using that and atomics to
|
||||
* implement semaphores increases performance.
|
||||
* SDL will fall back to Kernel Objects on older OS versions
|
||||
* or if forced to by this hint.
|
||||
*
|
||||
* This variable can be set to the following values:
|
||||
* "0" - Use Atomics and WaitOnAddress API when available. If not, fall back to Kernel Objects. (default)
|
||||
* "1" - Force the use of Kernel Objects in all cases.
|
||||
*
|
||||
*/
|
||||
#define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL"
|
||||
|
||||
/**
|
||||
* \brief Tell SDL which Dispmanx layer to use on a Raspberry PI
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue