AMD are continuing their open source push with 'Anvil' a new MIT-licenses wrapper library for Vulkan. Its aim is to reduce the time developers spend to get a working Vulkan application.
- A memory allocator which allocates as little memory as necessary for the specified list of memory regions, miptails, objects or subresources from one or more memory heaps, depending on platform’s capabilities.
- Automatic object lifetime management, thanks to auto pointers being used across the library.
- Descriptor sets and descriptor set layouts are automatically generated from user-created descriptor set groups.
- Helper routines for FP16<->FP32 conversion.
- Integrated validation support. Validation can be enabled by changing a single argument value at Vulkan instance creation time.
- Integration with glslang for run-time GLSL -> SPIR-V conversion. Assembly of the result blob can also be retrieved for further analysis.
- Object tracker which can be used to detect wrapper object leaks.
- Page tracker, useful for the purpose of tracking memory bindings, if sparse residency is used for buffers or images.
- Windowing system integration – current support includes XCB and Windows platforms.
It supports AMD-specific Vulkan extensions, but AMD claim it will work with any Vulkan implementation.
You can find Anvil on GitHub.