Branimir Karadžić 10 years ago
parent
commit
51d41041b7
2 changed files with 9 additions and 3 deletions
  1. 8 3
      examples/common/bgfx_utils.cpp
  2. 1 0
      examples/common/bgfx_utils.h

+ 8 - 3
examples/common/bgfx_utils.cpp

@@ -21,12 +21,12 @@ namespace stl = tinystl;
 
 
 #include "bgfx_utils.h"
 #include "bgfx_utils.h"
 
 
-void* load(bx::FileReaderI* _reader, const char* _filePath, uint32_t* _size)
+void* load(bx::FileReaderI* _reader, bx::ReallocatorI* _allocator, const char* _filePath, uint32_t* _size)
 {
 {
 	if (0 == bx::open(_reader, _filePath) )
 	if (0 == bx::open(_reader, _filePath) )
 	{
 	{
 		uint32_t size = (uint32_t)bx::getSize(_reader);
 		uint32_t size = (uint32_t)bx::getSize(_reader);
-		void* data = malloc(size);
+		void* data = BX_ALLOC(_allocator, size);
 		bx::read(_reader, data, size);
 		bx::read(_reader, data, size);
 		bx::close(_reader);
 		bx::close(_reader);
 		if (NULL != _size)
 		if (NULL != _size)
@@ -45,7 +45,12 @@ void* load(bx::FileReaderI* _reader, const char* _filePath, uint32_t* _size)
 
 
 void* load(const char* _filePath, uint32_t* _size)
 void* load(const char* _filePath, uint32_t* _size)
 {
 {
-	return load(entry::getFileReader(), _filePath, _size);
+	return load(entry::getFileReader(), entry::getAllocator(), _filePath, _size);
+}
+
+void unload(void* _ptr)
+{
+	BX_FREE(entry::getAllocator(), _ptr);
 }
 }
 
 
 static const bgfx::Memory* loadMem(bx::FileReaderI* _reader, const char* _filePath)
 static const bgfx::Memory* loadMem(bx::FileReaderI* _reader, const char* _filePath)

+ 1 - 0
examples/common/bgfx_utils.h

@@ -9,6 +9,7 @@
 #include <bgfx.h>
 #include <bgfx.h>
 
 
 void* load(const char* _filePath, uint32_t* _size = NULL);
 void* load(const char* _filePath, uint32_t* _size = NULL);
+void unload(void* _ptr);
 bgfx::ShaderHandle loadShader(const char* _name);
 bgfx::ShaderHandle loadShader(const char* _name);
 bgfx::ProgramHandle loadProgram(const char* _vsName, const char* _fsName);
 bgfx::ProgramHandle loadProgram(const char* _vsName, const char* _fsName);
 bgfx::TextureHandle loadTexture(const char* _name, uint32_t _flags = BGFX_TEXTURE_NONE, uint8_t _skip = 0, bgfx::TextureInfo* _info = NULL);
 bgfx::TextureHandle loadTexture(const char* _name, uint32_t _flags = BGFX_TEXTURE_NONE, uint8_t _skip = 0, bgfx::TextureInfo* _info = NULL);