2
3
4
5
10#define VMA_IMPLEMENTATION
11#include "vk_mem_alloc.h"
21
22
23
24 VmaAllocatorCreateInfo createInfo {};
25 createInfo.instance = vulkanState.m_Instance;
26 createInfo.physicalDevice = vulkanState.m_PhysicalDevice;
27 createInfo.device = vulkanState.m_Device;
28 createInfo.vulkanApiVersion = VK_API_VERSION_1_3;
29 createInfo.flags = VMA_ALLOCATOR_CREATE_KHR_DEDICATED_ALLOCATION_BIT |
30 VMA_ALLOCATOR_CREATE_KHR_BIND_MEMORY2_BIT |
31 VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE4_BIT |
32 VMA_ALLOCATOR_CREATE_KHR_MAINTENANCE5_BIT |
33 VMA_ALLOCATOR_CREATE_EXT_MEMORY_BUDGET_BIT |
34 VMA_ALLOCATOR_CREATE_BUFFER_DEVICE_ADDRESS_BIT |
35 VMA_ALLOCATOR_CREATE_EXT_MEMORY_PRIORITY_BIT |
36 VMA_ALLOCATION_CREATE_HOST_ACCESS_SEQUENTIAL_WRITE_BIT |
37 VMA_ALLOCATION_CREATE_HOST_ACCESS_RANDOM_BIT ;
40
41
42 VK_CHECK(vmaCreateAllocator(&createInfo, &vulkanState.m_VmaAllocator))
#define SPICES_PROFILE_ZONE
#define VK_CHECK(expr)
Vulkan Check macro. Verify Vulkan API Effectiveness.
virtual ~VulkanMemoryAllocator() override
Destructor Function.
VulkanMemoryAllocator(VulkanState &vulkanState)
Constructor Function. Create Specific ThreadPool.
VulkanState & m_VulkanState
The global VulkanState Referenced from VulkanRenderBackend.
VulkanObject(VulkanState &vulkanState)
Constructor Function. Init member variables.
VulkanObject Class. This class defines the basic behaves of VulkanObject. When we create an new Vulka...
This struct contains all Vulkan object in used global.