Vulkan Memory Allocator 2.3.0

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.

Latest news

AMD Matrix Cores (amd-lab-notes)

This first post in the ‘AMD lab notes’ series takes a look at AMD’s Matrix Core technology and how best to use it to speed up your matrix operations.

Looking for a good place to get started with exploring GPUOpen?

Getting started: our software

New or fairly new to AMD’s tools, libraries, and effects? This is the best place to get started on GPUOpen!

Getting started: development and performance

Looking for tips on getting started with developing and/or optimizing your game, whether on AMD hardware or generally? We’ve got you covered!

You may also like...

Explore our huge collection of detailed tutorials, sample code, presentations, and documentation to find your answers to your graphics development questions.

Create wonder. No black boxes.

The home of great performance and optimization advice for AMD RDNA™ 2 GPUs, AMD Ryzen™ CPUs, and so much more.

Browse all our useful samples. Perfect for when you’re needing to get started, want to integrate one of our libraries, and much more.

Discover what our SDK technologies can offer you. Query hardware or software, manage memory, create rendering applications or machine learning, and much more!

Analyze, Optimize, Profile, Benchmark. We provide you with the developer tools you need to make sure your game is the best it can be!