VMA (Vulkan Memory Allocator) is our single-header, MIT-licensed, C++ library for easily and efficiently managing memory allocation for your Vulkan® games and applications. One year after our previous release, we are publishing a new version. You can get it now by going to VulkanMemoryAllocator Releases on GitHub and grabbing the latest v2.3.0.

Many things have happened throughout this past year. In March, we conducted a survey among developers, which gave us a good understanding on how the project is being used. We learned which of the existing features are important, which ones… not so much, and which ones aren’t there but are very much needed. This allowed to prepare our internal roadmap for future development.

The library was also used in many projects – open source code on GitHub, some AAA games, and even official Khronos® Group Vulkan Samples. VMA is used on all kinds of platforms, from mobile SOC, through desktop, to cloud gaming. Many users reported bugs, suggestions for improvements, questions, and other contributions.

During this time the library had continuous development on the “master” branch and special feature branches, so if you were using the latest code, the list of new features won’t be a surprise to you. Otherwise, here is a brief list of notable changes since previous version 2.2.0:

  • Added support for Vulkan 1.1 (Vulkan 1.0 may still be used).
  • Added support for query for memory budget and staying within the budget with optional use of VK_EXT_memory_budget extension.
  • Added support for VK_KHR_bind_memory2 extension.

As always, accompanying file formats and tools are updated to support all new features. You can now, for example, give string names to your custom memory pools and see them visualized on a picture using VmaDumpVis Python script.

For more information see:

We’d like to thank everyone who has contributed feedback to this project throughout the year and we hope you like the changes in VMA 2.3.0. As always, VMA thrives on your feedback and requests, so please do let us know if you have any comments or feedback.