[dependencies ]
vk-mem-alloc = " 0.2.0"
Simple Vulkan Memory Allocator example
// Create the allocator
let allocator = vk_mem_alloc:: create_allocator ( & instance, physical_device, & device, None ) . unwrap ( ) ;
let buffer_create_info = vk:: BufferCreateInfo {
size,
usage : vk:: BufferUsageFlags :: STORAGE_BUFFER ,
..Default :: default ( )
} ;
let allocation_create_info = vk_mem_alloc:: AllocationCreateInfo {
usage : vk_mem_alloc:: MemoryUsage :: AUTO_PREFER_DEVICE ,
..Default :: default ( )
} ;
// Create the buffer
let ( buffer, allocation, allocation_info) = vk_mem_alloc:: create_buffer ( allocator, & buffer_create_info, & allocation_create_info) . unwrap ( ) ;
....
// Destroy the buffer
vk_mem_alloc:: destroy_buffer ( allocator, buffer, allocation) ;
// Destroy the allocator
vk_mem_alloc:: destroy_allocator ( allocator) ;
AMD for creating the Vulkan Memory Allocator.
The Ash community for creating such an awesome rust wrapper around Vulkan.
Graham Wihlidal for creating vk-mem
, my buildscript is based on its build script.