
- Added asserts to make sure we detect similar bugs faster - Made simd shippable & configurable - Some documentation in oogabooga.c on configuration - Very optimized release build script - Cleaned some stuff up
31 lines
No EOL
1.1 KiB
C
31 lines
No EOL
1.1 KiB
C
// Custom allocators for lodepng
|
|
Allocator get_heap_allocator();
|
|
Allocator lodepng_allocator = {0};
|
|
void* lodepng_malloc(size_t size) {
|
|
#ifdef LODEPNG_MAX_ALLOC
|
|
if(size > LODEPNG_MAX_ALLOC) return 0;
|
|
#endif
|
|
return alloc(get_heap_allocator(), size);
|
|
}
|
|
void* lodepng_realloc(void* ptr, size_t new_size) {
|
|
if (!ptr) return lodepng_malloc(new_size);
|
|
|
|
#ifdef LODEPNG_MAX_ALLOC
|
|
if(new_size > LODEPNG_MAX_ALLOC) return 0;
|
|
#endif
|
|
if (lodepng_allocator.proc) return lodepng_allocator.proc(new_size, ptr, ALLOCATOR_REALLOCATE, lodepng_allocator.data);
|
|
return get_heap_allocator().proc(new_size, ptr, ALLOCATOR_REALLOCATE, get_heap_allocator().data);
|
|
}
|
|
void lodepng_free(void* ptr) {
|
|
if (!ptr) return;
|
|
if (lodepng_allocator.proc) dealloc(lodepng_allocator, ptr);
|
|
else dealloc(get_heap_allocator(), ptr);
|
|
}
|
|
#define LODEPNG_NO_COMPILE_ALLOCATORS
|
|
//#define LODEPNG_NO_COMPILE_ANCILLARY_CHUNKS
|
|
#define LODEPNG_NO_COMPILE_DISK
|
|
#define LODEPNG_NO_COMPILE_ERROR_TEXT
|
|
#define LODEPNG_NO_COMPILE_ENCODER
|
|
// One day I might write my own png decoder so we don't even need this
|
|
#include "third_party/lodepng.h"
|
|
#include "third_party/lodepng.c" |