mirror of
https://github.com/copyrighttxt/watrbx-game-engine.git
synced 2026-09-04 20:57:49 +00:00
75 lines
1.8 KiB
C
75 lines
1.8 KiB
C
#ifndef _FMODDURANGO_H
|
|
#define _FMODDURANGO_H
|
|
|
|
/*
|
|
[ENUM]
|
|
[
|
|
[DESCRIPTION]
|
|
Cores available for mapping threads onto.
|
|
|
|
[REMARKS]
|
|
|
|
[SEE_ALSO]
|
|
FMOD_DURANGO_THREADAFFINITY
|
|
]
|
|
*/
|
|
typedef enum
|
|
{
|
|
FMOD_THREAD_DEFAULT = 0, /* Use default thread assignment. */
|
|
FMOD_THREAD_CORE0 = 1 << 0,
|
|
FMOD_THREAD_CORE1 = 1 << 1,
|
|
FMOD_THREAD_CORE2 = 1 << 2, /* Default for all threads. */
|
|
FMOD_THREAD_CORE3 = 1 << 3,
|
|
FMOD_THREAD_CORE4 = 1 << 4,
|
|
FMOD_THREAD_CORE5 = 1 << 5,
|
|
FMOD_THREAD_CORE6 = 1 << 6,
|
|
} FMOD_THREAD;
|
|
|
|
|
|
/*
|
|
[STRUCTURE]
|
|
[
|
|
[DESCRIPTION]
|
|
Mapping of cores to threads.
|
|
|
|
[REMARKS]
|
|
|
|
[SEE_ALSO]
|
|
FMOD_THREAD
|
|
FMOD_Durango_SetThreadAffinity
|
|
]
|
|
*/
|
|
typedef struct FMOD_DURANGO_THREADAFFINITY
|
|
{
|
|
unsigned int mixer; /* Software mixer thread. */
|
|
unsigned int feeder; /* Audio hardware feeder (including mmdevapi.dll) thread. */
|
|
unsigned int stream; /* Stream thread. */
|
|
unsigned int nonblocking; /* Asynchronous sound loading thread. */
|
|
unsigned int file; /* File thread. */
|
|
unsigned int geometry; /* Geometry processing thread. */
|
|
unsigned int acp; /* ACP update thread. */
|
|
unsigned int studioUpdate; /* Studio update thread. */
|
|
unsigned int studioLoad; /* Studio loading thread. */
|
|
} FMOD_DURANGO_THREADAFFINITY;
|
|
|
|
|
|
/*
|
|
[API]
|
|
[
|
|
[DESCRIPTION]
|
|
Control which core particular FMOD threads are created on.
|
|
|
|
[PARAMETERS]
|
|
'affinity' Pointer to a structure that describes the affinity for each thread.
|
|
|
|
[REMARKS]
|
|
Call before System::init or affinity values will not apply.
|
|
|
|
[SEE_ALSO]
|
|
FMOD_DURANGO_THREADAFFINITY
|
|
]
|
|
*/
|
|
extern "C" FMOD_RESULT F_API FMOD_Durango_SetThreadAffinity(FMOD_DURANGO_THREADAFFINITY *affinity);
|
|
|
|
#endif /* _FMODDURANGO_H */
|