Files
evk/evk/evkAllocator.c
T
2025-07-07 16:44:22 +03:00

75 lines
2.4 KiB
C

#include "evkAllocator.h"
#include <stdio.h>
#include <malloc.h>
// TODO Get this working on linux
// PFN_vkAllocationFunction
void* evkAllocationFunctionCallback(void* pUserData, size_t allocationSize, size_t allocationAlignment, VkSystemAllocationScope allocationScope)
{
ev_log_trace("evkAllocationFunctionCallback");
// void* alloc = _aligned_malloc(allocationSize, allocationAlignment);
// if(alloc == NULL)
{
ev_log_error("Allocation Failed");
}
// return alloc;
return NULL;
}
// PFN_vkReallocationFunction
void* evkReallocationFunctionCallback(void* pUserData, void* pOriginal, size_t allocationSize, size_t allocationAlignment, VkSystemAllocationScope allocationScope)
{
ev_log_trace("evkReallocationFunctionCallback");
// return _aligned_realloc(pOriginal, allocationSize, allocationAlignment);
return NULL;
}
// PFN_vkFreeFucntion
void evkFreeFunctionCallback(void* pUserData, void* pMemory)
{
ev_log_trace("evkFreeFunctionCallback");
// _aligned_free(pMemory);
}
// PFN_vkInternalAllocaitonNotification
void evkInternalAllocationCallback(void* pUserData, size_t allocationSize, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope)
{
ev_log_trace("evkInternalAllocationCallback");
}
// PFN_vkInternalFreeNotification
void evkInternalFreeCallback(void* pUserData, size_t allocationSize, VkInternalAllocationType allocationType, VkSystemAllocationScope allocationScope)
{
ev_log_trace("evkInternalFreeCallback");
}
TYPEDATA_GEN(
VkAllocationCallbacks,
DEFAULT(
.pUserData = &(evkAllocationUserData){ 0 }, // EV_INVALID(evkAllocationUserData)
.pfnAllocation = evkAllocationFunctionCallback,
.pfnReallocation = evkReallocationFunctionCallback,
.pfnFree = evkFreeFunctionCallback,
.pfnInternalAllocation = evkInternalAllocationCallback,
.pfnInternalFree = evkInternalFreeCallback
)
);
VkAllocationCallbacks def = {
.pUserData = NULL, // EV_INVALID(evkAllocationUserData)
.pfnAllocation = evkAllocationFunctionCallback,
.pfnReallocation = evkReallocationFunctionCallback,
.pfnFree = evkFreeFunctionCallback,
.pfnInternalAllocation = evkInternalAllocationCallback,
.pfnInternalFree = evkInternalFreeCallback
};
VkAllocationCallbacks* evkGetAllocationCallbacks()
{
/* return &EV_DEFAULT(VkAllocationCallbacks); */
/* return &def; */
return NULL;
}