Bindings for Vulkan Memory Allocator in Odin Programming Language.
Copy the vma folder to your project or shared directory.
vma_vulkan_functions := vma.create_vulkan_functions()
allocator_create_info: vma.Allocator_Create_Info = {
flags = {.Buffer_Device_Address},
instance = instance,
vulkan_api_version = 1003000, // 1.3
physical_device = physical_device,
device = device,
vulkan_functions = &vma_vulkan_functions,
}
if res := vma.create_allocator(&allocator_create_info, &allocator); res != .SUCCESS {
log.errorf("Failed to Create Vulkan Memory Allocator: [%v]", res)
return
}
defer vma.destroy_allocator(allocator)The bindings comes with precompiled binary for Windows and Linux x64, you can find the libs in the vma/lib folder.
There is a CMakeLists.txt that you can use to build yourself.
Types and values follow the Odin Naming Convention. In general, Ada_Case for types and snake_case for values
| Case | |
|---|---|
| Import Name | snake_case (but prefer single word) |
| Types | Ada_Case |
| Enum Values | Ada_Case |
| Procedures | snake_case |
| Local Variables | snake_case |
| Constant Variables | SCREAMING_SNAKE_CASE |
MIT license.