mirror of
https://github.com/seekrs/MacroLibX.git
synced 2026-01-11 14:43:34 +00:00
working on garbage collection, fixing small issues with font destroy
This commit is contained in:
@@ -11,7 +11,9 @@ namespace mlx
|
||||
static void* Malloc(std::size_t size);
|
||||
static void* AlignedMalloc(std::size_t alignment, std::size_t size);
|
||||
static void* Calloc(std::size_t n, std::size_t size);
|
||||
static void* AlignedCalloc(std::size_t alignment, std::size_t n, std::size_t size);
|
||||
static void* Realloc(void* ptr, std::size_t size);
|
||||
static void* AlignedRealloc(void* ptr, std::size_t alignment, std::size_t size);
|
||||
static void Free(void* ptr);
|
||||
|
||||
inline static bool IsInit() noexcept { return s_instance != nullptr; }
|
||||
@@ -19,9 +21,19 @@ namespace mlx
|
||||
|
||||
~MemManager();
|
||||
|
||||
private:
|
||||
struct Descriptor
|
||||
{
|
||||
void* ptr;
|
||||
std::size_t size;
|
||||
bool aligned;
|
||||
|
||||
Descriptor(void* ptr, std::size_t size, bool aligned) : ptr(ptr), size(size), aligned(aligned) {}
|
||||
};
|
||||
|
||||
private:
|
||||
static MemManager* s_instance;
|
||||
inline static std::vector<void*> s_blocks;
|
||||
inline static std::vector<Descriptor> s_blocks;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -68,12 +68,15 @@
|
||||
#endif
|
||||
|
||||
#include <Core/Memory.h>
|
||||
#include <Core/Logs.h>
|
||||
|
||||
#define VMA_STATIC_VULKAN_FUNCTIONS 0
|
||||
#define VMA_DYNAMIC_VULKAN_FUNCTIONS 0
|
||||
#define VMA_VULKAN_VERSION 1000000
|
||||
#define VMA_SYSTEM_ALIGNED_MALLOC(size, alignment) (mlx::MemManager::AlignedMalloc(alignment, size))
|
||||
#define VMA_SYSTEM_ALIGNED_FREE(ptr) (mlx::MemManager::Free(ptr))
|
||||
//#define VMA_ASSERT(expr) (mlx::Assert(expr, "VMA Assertion: " #expr))
|
||||
#define VMA_ASSERT(expr) ((void)0)
|
||||
#define VMA_ASSERT_LEAK(expr) ((void)0) // Because why not
|
||||
|
||||
#ifdef MLX_COMPILER_CLANG
|
||||
@@ -104,7 +107,6 @@
|
||||
#endif
|
||||
#include <kvf.h>
|
||||
|
||||
#include <Core/Logs.h>
|
||||
#include <Core/EventBus.h>
|
||||
#include <Core/Profiler.h>
|
||||
#include <Utils/NonOwningPtr.h>
|
||||
|
||||
Reference in New Issue
Block a user