31#ifdef WITH_VULKAN_GUARDEDALLOC
32void *vk_memory_allocation(
void *user_data,
35 VkSystemAllocationScope scope);
36void *vk_memory_reallocation(
37 void *user_data,
void *original,
size_t size,
size_t alignment, VkSystemAllocationScope scope);
38void vk_memory_free(
void *user_data,
void *memory);
40constexpr VkAllocationCallbacks vk_allocation_callbacks_init(
const char *name)
42 VkAllocationCallbacks callbacks = {};
43 callbacks.pUserData =
const_cast<char *
>(name);
44 callbacks.pfnAllocation = vk_memory_allocation;
45 callbacks.pfnReallocation = vk_memory_reallocation;
46 callbacks.pfnFree = vk_memory_free;
47 callbacks.pfnInternalAllocation =
nullptr;
48 callbacks.pfnInternalFree =
nullptr;
52# define VK_ALLOCATION_CALLBACKS \
53 static constexpr const VkAllocationCallbacks vk_allocation_callbacks_ = \
54 vk_allocation_callbacks_init(__func__); \
55 static constexpr const VkAllocationCallbacks *vk_allocation_callbacks = \
56 &vk_allocation_callbacks_;
58# define VK_ALLOCATION_CALLBACKS \
59 static constexpr const VkAllocationCallbacks *vk_allocation_callbacks = nullptr;