void* VMemoryManager_CRT::AlignedAlloc(size_t iSize, int iAlignment) { #if defined(WIN32) || defined (_VISION_XENON) #if defined(VBASE_USE_CRT_DEBUG) return _aligned_malloc_dbg(iSize, iAlignment, 0, 0); #else return _aligned_malloc(iSize, iAlignment); #endif #elif defined (_VISION_PS3) return memalign(iAlignment, iSize); #elif defined (_VISION_POSIX) && !defined(_VISION_ANDROID) void* pMemPointer = NULL; posix_memalign(&pMemPointer, iAlignment, iSize); return pMemPointer; #elif defined(_VISION_PSP2) return memalign(iAlignment, iSize); #elif defined(_VISION_ANDROID) return memalign(iAlignment, iSize); #elif defined(_VISION_WIIU) return MEMAllocFromDefaultHeapEx(iSize, iAlignment); #else #error Undefined platform! #endif }
void* FogDemo::operator new(size_t size) { #if defined(DEBUG) || defined(_DEBUG) return _aligned_malloc_dbg(size, Alignment, __FILE__, __LINE__); #else return _aligned_malloc(size, Alignment); #endif }
void * LightManager::operator new(size_t nSize, size_t nAlignment) { if (((nAlignment)&(nAlignment - 1)) == 0) return (void *)_aligned_malloc_dbg(nSize, nAlignment, __FILE__, __LINE__); else return (void *)NULL; }
void allocAlignedMalloc(bool bFree) { void* leaked = _aligned_offset_malloc(64, 16, 1); int* leaked_memory = (int*)_aligned_malloc(64, 16); int* leaked_memory_dbg = (int*)_aligned_malloc_dbg(32, 16, __FILE__, __LINE__); if (bFree) { _aligned_free(leaked); _aligned_free(leaked_memory); _aligned_free_dbg(leaked_memory_dbg); } }
void allocAlignedRealloc(bool bFree) { void* leaked = _aligned_offset_malloc(64, 16, 1); int* leaked_memory = (int*)_aligned_malloc(64, 16); int* leaked_memory_dbg = (int*)_aligned_malloc_dbg(32, 16, __FILE__, __LINE__); leaked = (int*)_aligned_offset_realloc(leaked, 48, 16, 2); leaked_memory = (int*)_aligned_realloc(leaked_memory, 128, 16); leaked_memory_dbg = (int*)_aligned_realloc_dbg(leaked_memory_dbg, 48, 16, __FILE__, __LINE__); leaked = (int*)_aligned_offset_recalloc(leaked, 1, 52, 16, 2); leaked_memory = (int*)_aligned_recalloc(leaked_memory, 1, 132, 16); leaked_memory_dbg = (int*)_aligned_recalloc_dbg(leaked_memory_dbg, 1, 64, 16, __FILE__, __LINE__); if (bFree) { _aligned_free(leaked); _aligned_free(leaked_memory); _aligned_free_dbg(leaked_memory_dbg); } }