33 #ifndef _AK_TOOLS_COMMON_AKPLATFORMFUNCS_H
34 #define _AK_TOOLS_COMMON_AKPLATFORMFUNCS_H
36 #include <AK/SoundEngine/Common/AkTypes.h>
41 #if defined(AK_WIN) || defined(AK_XBOXONE)
42 #include <AK/Tools/Win32/AkPlatformFuncs.h>
44 #elif defined (AK_APPLE)
45 #include <AK/Tools/Mac/AkPlatformFuncs.h>
46 #include <AK/Tools/POSIX/AkPlatformFuncs.h>
48 #elif defined (AK_ANDROID)
49 #include <AK/Tools/Android/AkPlatformFuncs.h>
51 #elif defined (AK_PS4)
52 #include <AK/Tools/PS4/AkPlatformFuncs.h>
54 #elif defined (AK_PELLEGRINO)
55 #include <AK/Tools/Pellegrino/AkPlatformFuncs.h>
57 #elif defined (AK_EMSCRIPTEN)
58 #include <AK/Tools/Emscripten/AkPlatformFuncs.h>
60 #elif defined (AK_LINUX)
63 #include <AK/Tools/GGP/AkPlatformFuncs.h>
65 #include <AK/Tools/Linux/AkPlatformFuncs.h>
66 #include <AK/Tools/POSIX/AkPlatformFuncs.h>
68 #elif defined (AK_QNX)
69 #include <AK/Tools/QNX/AkPlatformFuncs.h>
70 #include <AK/Tools/POSIX/AkPlatformFuncs.h>
73 #include <AK/Tools/NX/AkPlatformFuncs.h>
76 #error AkPlatformFuncs.h: Undefined platform
79 #ifndef AkPrefetchZero
80 #define AkPrefetchZero(___Dest, ___Size)
83 #ifndef AkPrefetchZeroAligned
84 #define AkPrefetchZeroAligned(___Dest, ___Size)
87 #ifndef AkZeroMemAligned
88 #define AkZeroMemAligned(___Dest, ___Size) AKPLATFORM::AkMemSet(___Dest, 0, ___Size);
90 #ifndef AkZeroMemLarge
91 #define AkZeroMemLarge(___Dest, ___Size) AKPLATFORM::AkMemSet(___Dest, 0, ___Size);
93 #ifndef AkZeroMemSmall
94 #define AkZeroMemSmall(___Dest, ___Size) AKPLATFORM::AkMemSet(___Dest, 0, ___Size);
98 #define AkAllocaSIMD( _size_ ) AkAlloca( _size_ )
101 #ifndef AK_THREAD_INIT_CODE
102 #define AK_THREAD_INIT_CODE(_threadProperties)
113 while( in_uWord ){ ++num; in_uWord &= in_uWord-1; }
123 out_threadProperties.
nPriority = AK_THREAD_PRIORITY_ABOVE_NORMAL;
127 #ifndef AK_PERF_RECORDING_RESET
128 #define AK_PERF_RECORDING_RESET()
130 #ifndef AK_PERF_RECORDING_START
131 #define AK_PERF_RECORDING_START( __StorageName__, __uExecutionCountStart__, __uExecutionCountStop__ )
133 #ifndef AK_PERF_RECORDING_STOP
134 #define AK_PERF_RECORDING_STOP( __StorageName__, __uExecutionCountStart__, __uExecutionCountStop__ )
137 #ifndef AK_INSTRUMENT_BEGIN
138 #define AK_INSTRUMENT_BEGIN( _zone_name_ )
139 #define AK_INSTRUMENT_END( _zone_name_ )
140 #define AK_INSTRUMENT_SCOPE( _zone_name_ )
142 #define AK_INSTRUMENT_BEGIN_C(_colour_, _zone_name_ )
144 #define AK_INSTRUMENT_IDLE_BEGIN( _zone_name_ )
145 #define AK_INSTRUMENT_IDLE_END( _zone_name_ )
146 #define AK_INSTRUMENT_IDLE_SCOPE( _zone_name_ )
148 #define AK_INSTRUMENT_STALL_BEGIN( _zone_name_ )
149 #define AK_INSTRUMENT_STALL_END( _zone_name_ )
150 #define AK_INSTRUMENT_STALL_SCOPE( _zone_name_ )
152 #define AK_INSTRUMENT_THREAD_START( _thread_name_ )
155 #endif // _AK_TOOLS_COMMON_AKPLATFORMFUNCS_H
int nPriority
Thread priority.
AkForceInline void AkGetDefaultThreadProperties(AkThreadProperties &out_threadProperties)
Platform Independent Helper.
void AkGetDefaultHighPriorityThreadProperties(AkThreadProperties &out_threadProperties)
AkForceInline AkUInt32 GetNumNonZeroBits(AkUInt32 in_uWord)
Tell us about your project. We're here to help.
Register your project and we'll help you get started with no strings attached!
Get started with Wwise