123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312 |
- #ifndef _AKMEMORYMGR_H_
- #define _AKMEMORYMGR_H_
- #if !defined( AK_OPTIMIZED ) && !( defined AK_DISABLE_MEMDEBUG )
- #ifndef AK_MEMDEBUG
- #define AK_MEMDEBUG
- #endif
- #endif
- #include <AK/SoundEngine/Common/AkTypes.h>
- #include <AK/SoundEngine/Common/AkSoundEngineExport.h>
- struct AkMemSettings;
- enum AkMemID
- {
- AkMemID_Object,
- AkMemID_Event,
- AkMemID_Structure,
- AkMemID_Media,
- AkMemID_GameObject,
- AkMemID_Processing,
- AkMemID_ProcessingPlugin,
- AkMemID_Streaming,
- AkMemID_StreamingIO,
- AkMemID_SpatialAudio,
- AkMemID_SpatialAudioGeometry,
- AkMemID_SpatialAudioPaths,
- AkMemID_GameSim,
- AkMemID_MonitorQueue,
- AkMemID_Profiler,
- AkMemID_FilePackage,
- AkMemID_SoundEngine,
- AkMemID_Integration,
- AkMemID_JobMgr,
- AkMemID_NUM,
- AkMemID_MASK = 0x1FFFFFFF,
- AkMemType_Media = 0x20000000,
- AkMemType_Device = 0x40000000,
- AkMemType_NoTrack = 0x80000000
- };
- namespace AK
- {
-
-
-
-
- namespace MemoryMgr
- {
-
-
-
-
-
-
- struct CategoryStats
- {
-
- AkUInt64 uUsed;
-
- AkUInt64 uPeakUsed;
- AkUInt32 uAllocs;
- AkUInt32 uFrees;
- };
-
-
-
-
-
-
- struct GlobalStats
- {
- AkUInt64 uUsed;
- AkUInt64 uDeviceUsed;
- AkUInt64 uReserved;
- AkUInt64 uMax;
- };
-
-
-
-
-
-
-
-
-
- AK_EXTERNAPIFUNC( bool, IsInitialized )();
-
-
-
-
- AK_EXTERNAPIFUNC( void, Term )();
-
-
-
-
-
-
-
- AK_EXTERNAPIFUNC( void, InitForThread )();
-
-
-
-
-
-
-
- AK_EXTERNAPIFUNC( void, TermForThread )();
-
-
-
-
-
-
-
-
-
-
- AK_EXTERNAPIFUNC( void, TrimForThread )();
-
-
-
-
- #ifdef AK_MEMDEBUG
-
-
-
-
- AK_EXTERNAPIFUNC( void *, dMalloc )(
- AkMemPoolId in_poolId,
- size_t in_uSize,
- const char *in_pszFile,
- AkUInt32 in_uLine
- );
- #endif
-
-
-
-
- AK_EXTERNAPIFUNC( void *, Malloc )(
- AkMemPoolId in_poolId,
- size_t in_uSize
- );
- #ifdef AK_MEMDEBUG
-
-
-
-
- AK_EXTERNAPIFUNC( void*, dRealloc )(
- AkMemPoolId in_poolId,
- void *in_pAlloc,
- size_t in_uSize,
- const char *in_pszFile,
- AkUInt32 in_uLine
- );
- #endif
-
-
-
-
- AK_EXTERNAPIFUNC( void *, Realloc )(
- AkMemPoolId in_poolId,
- void * in_pAlloc,
- size_t in_uSize
- );
- #ifdef AK_MEMDEBUG
-
-
-
-
- AK_EXTERNAPIFUNC( void*, dReallocAligned )(
- AkMemPoolId in_poolId,
- void *in_pAlloc,
- size_t in_uSize,
- AkUInt32 in_uAlignment,
- const char *in_pszFile,
- AkUInt32 in_uLine
- );
- #endif
-
-
-
-
- AK_EXTERNAPIFUNC( void *, ReallocAligned )(
- AkMemPoolId in_poolId,
- void * in_pAlloc,
- size_t in_uSize,
- AkUInt32 in_uAlignment
- );
-
-
-
- AK_EXTERNAPIFUNC( void, Free )(
- AkMemPoolId in_poolId,
- void * in_pMemAddress
- );
- #ifdef AK_MEMDEBUG
-
-
-
-
- AK_EXTERNAPIFUNC( void *, dMalign )(
- AkMemPoolId in_poolId,
- size_t in_uSize,
- AkUInt32 in_uAlignment,
- const char* in_pszFile,
- AkUInt32 in_uLine
- );
- #endif
-
-
-
-
- AK_EXTERNAPIFUNC( void *, Malign )(
- AkMemPoolId in_poolId,
- size_t in_uSize,
- AkUInt32 in_uAlignment
- );
-
-
-
-
-
-
- AK_EXTERNAPIFUNC( void, GetCategoryStats )(
- AkMemPoolId in_poolId,
- CategoryStats& out_poolStats
- );
-
-
- AK_EXTERNAPIFUNC( void, GetGlobalStats )(
- GlobalStats& out_stats
- );
-
-
- AK_EXTERNAPIFUNC( void, StartProfileThreadUsage )(
- );
-
-
-
- AK_EXTERNAPIFUNC( AkUInt64, StopProfileThreadUsage )(
- );
-
-
- AK_EXTERNAPIFUNC( void, DumpToFile )(
- const AkOSChar* pszFilename
- );
-
- }
- }
- #endif
|