mirror of https://github.com/PCSX2/pcsx2.git
Merge pull request #585 from turtleli/fix-broken-aligned-malloc
Fix AlignedMalloc on Windows
This commit is contained in:
commit
091f0d5ee9
|
@ -29,8 +29,9 @@ static const uint headsize = sizeof(AlignedMallocHeader);
|
||||||
void* __fastcall pcsx2_aligned_malloc(size_t size, size_t align)
|
void* __fastcall pcsx2_aligned_malloc(size_t size, size_t align)
|
||||||
{
|
{
|
||||||
pxAssert( align < 0x10000 );
|
pxAssert( align < 0x10000 );
|
||||||
|
#ifdef _WIN32
|
||||||
#if defined(__USE_ISOC11) && !defined(ASAN_WORKAROUND) // not supported yet on gcc 4.9
|
return _aligned_malloc(size, align);
|
||||||
|
#elif defined(__USE_ISOC11) && !defined(ASAN_WORKAROUND) // not supported yet on gcc 4.9
|
||||||
return aligned_alloc(align, size);
|
return aligned_alloc(align, size);
|
||||||
#else
|
#else
|
||||||
void *result=0;
|
void *result=0;
|
||||||
|
@ -48,12 +49,16 @@ void* __fastcall pcsx2_aligned_realloc(void* handle, size_t size, size_t align)
|
||||||
if( handle != NULL )
|
if( handle != NULL )
|
||||||
{
|
{
|
||||||
memcpy_fast( newbuf, handle, size );
|
memcpy_fast( newbuf, handle, size );
|
||||||
free( handle );
|
pcsx2_aligned_free(handle);
|
||||||
}
|
}
|
||||||
return newbuf;
|
return newbuf;
|
||||||
}
|
}
|
||||||
|
|
||||||
__fi void pcsx2_aligned_free(void* pmem)
|
__fi void pcsx2_aligned_free(void* pmem)
|
||||||
{
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
_aligned_free(pmem);
|
||||||
|
#elif
|
||||||
free(pmem);
|
free(pmem);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue