f66f325faa
Signed-off-by: Robear Selwans <robear.selwans@outlook.com>
75 lines
2.4 KiB
C
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;
|
|
}
|