3 unstable releases
0.2.0 | Dec 25, 2022 |
---|---|
0.1.1 | Aug 12, 2022 |
0.1.0 | Aug 12, 2022 |
#38 in Rendering engine
27 downloads per month
1MB
1K
SLoC
[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);
Credits
- 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.
Dependencies
~5–7MB
~168K SLoC