mirror of
https://github.com/Yours3lf/rpi-vk-driver.git
synced 2024-11-29 11:24:14 +01:00
34 lines
439 B
C
34 lines
439 B
C
#define _POSIX_C_SOURCE 200809L
|
|
|
|
#include "AlignedAllocator.h"
|
|
|
|
void* alignedAlloc( unsigned bytes, unsigned alignment )
|
|
{
|
|
if( !bytes )
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
const unsigned maxBytes = 1024 * 1024 * 1024; //1GB is max on RPi
|
|
|
|
if( bytes > maxBytes )
|
|
{
|
|
return 0; //bad alloc
|
|
}
|
|
|
|
void* pv = 0;
|
|
|
|
if( posix_memalign( &pv, alignment, bytes ) )
|
|
{
|
|
pv = 0; //allocation failed
|
|
}
|
|
|
|
return pv;
|
|
}
|
|
|
|
void alignedFree( void* p )
|
|
{
|
|
free( p );
|
|
}
|
|
|