33 #ifndef _AK_TOOLS_COMMON_AKPLATFORMFUNCS_H
34 #define _AK_TOOLS_COMMON_AKPLATFORMFUNCS_H
41 #if defined(AK_WIN) || defined(AK_XBOXONE)
44 #elif defined (AK_APPLE)
46 #include <AK/Tools/POSIX/AkPlatformFuncs.h>
48 #elif defined (AK_ANDROID)
51 #elif defined (AK_PS4)
54 #elif defined (AK_EMSCRIPTEN)
55 #include <AK/Tools/Emscripten/AkPlatformFuncs.h>
57 #elif defined (AK_LINUX)
59 #include <AK/Tools/POSIX/AkPlatformFuncs.h>
61 #elif defined (AK_QNX)
62 #include <AK/Tools/QNX/AkPlatformFuncs.h>
63 #include <AK/Tools/POSIX/AkPlatformFuncs.h>
69 #error AkPlatformFuncs.h: Undefined platform
72 #ifndef AkPrefetchZero
73 #define AkPrefetchZero(___Dest, ___Size)
76 #ifndef AkPrefetchZeroAligned
77 #define AkPrefetchZeroAligned(___Dest, ___Size)
80 #ifndef AkZeroMemAligned
81 #define AkZeroMemAligned(___Dest, ___Size) AKPLATFORM::AkMemSet(___Dest, 0, ___Size);
83 #ifndef AkZeroMemLarge
84 #define AkZeroMemLarge(___Dest, ___Size) AKPLATFORM::AkMemSet(___Dest, 0, ___Size);
86 #ifndef AkZeroMemSmall
87 #define AkZeroMemSmall(___Dest, ___Size) AKPLATFORM::AkMemSet(___Dest, 0, ___Size);
91 #define AkAllocaSIMD( _size_ ) AkAlloca( _size_ )
94 #ifndef AK_THREAD_INIT_CODE
95 #define AK_THREAD_INIT_CODE(_threadProperties)
106 while( in_uWord ){ ++num; in_uWord &= in_uWord-1; }
120 #ifndef AK_PERF_RECORDING_RESET
121 #define AK_PERF_RECORDING_RESET()
123 #ifndef AK_PERF_RECORDING_START
124 #define AK_PERF_RECORDING_START( __StorageName__, __uExecutionCountStart__, __uExecutionCountStop__ )
126 #ifndef AK_PERF_RECORDING_STOP
127 #define AK_PERF_RECORDING_STOP( __StorageName__, __uExecutionCountStart__, __uExecutionCountStop__ )
130 #ifndef AK_INSTRUMENT_BEGIN
131 #define AK_INSTRUMENT_BEGIN( _zone_name_ )
132 #define AK_INSTRUMENT_END( _zone_name_ )
133 #define AK_INSTRUMENT_SCOPE( _zone_name_ )
135 #define AK_INSTRUMENT_BEGIN_C(_colour_, _zone_name_ )
137 #define AK_INSTRUMENT_IDLE_BEGIN( _zone_name_ )
138 #define AK_INSTRUMENT_IDLE_END( _zone_name_ )
139 #define AK_INSTRUMENT_IDLE_SCOPE( _zone_name_ )
141 #define AK_INSTRUMENT_STALL_BEGIN( _zone_name_ )
142 #define AK_INSTRUMENT_STALL_END( _zone_name_ )
143 #define AK_INSTRUMENT_STALL_SCOPE( _zone_name_ )
145 #define AK_INSTRUMENT_THREAD_START( _thread_name_ )
148 #endif // _AK_TOOLS_COMMON_AKPLATFORMFUNCS_H
int nPriority
Thread priority.
void AkGetDefaultHighPriorityThreadProperties(AkThreadProperties &out_threadProperties)
AkForceInline AkUInt32 GetNumNonZeroBits(AkUInt32 in_uWord)
AkForceInline void AkGetDefaultThreadProperties(AkThreadProperties &out_threadProperties)
Platform Independent Helper.