In July 2017 we released first public version of Vulkan Memory Allocator. Since then the library is in ongoing development, got few major releases, one general redesign, and currently at version 2.2.0 it supports many useful features. During that time it has been successfully used in many Vulkan® projects, from amateur and educational experiments to AAA game titles, from Windows® PC through Linux®, MacOS, to mobile platforms like Android.
Direct3D 12 is another explicit graphics API that offers similar set of features and performance as Vulkan. A recommendation to allocate large memory blocks and sub-allocate parts of them for your textures and buffers holds there as well. That's why today we want to present our new project: D3D12 Memory Allocator. It is another C++ library intended to be a D3D12-equivalent of VMA. The style of its API is adjusted to be similar to DirectX® rather than Vulkan, so it's easy to learn and integrate into your project.
The initial version 1.0.0 we present here is just the beginning of its development. It provides minimum set of features, but it's already useful for D3D12 applications and has been successfully integrated in one large game project by a developer whom we already shared the code with. Future development is planned to reach feature-parity with VMA and beyond.
Not sure if I should post here or create a new topic, but...
We just released D3D12 Memory Allocator 2.0.0 - a new major version with lots of additions and changes since the previous one.
https://gpuopen.com/d3d12-memory-allocator/ - Product page on GPUOpen.com
https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator - Code repository on GitHub
https://github.com/GPUOpen-LibrariesAndSDKs/D3D12MemoryAllocator/releases - Releases
https://gpuopen-librariesandsdks.github.io/D3D12MemoryAllocator/html/ - online documentation