
Vulkan® Memory Allocator
VMA is our single-header, MIT-licensed, C++ library for easily and efficiently managing memory allocation for your Vulkan® games and applications.
Our latest Radeon Software Adrenalin developer driver has just been released, providing initial support for the VK_KHR_synchronization2
extension.
This extension revises the original core synchronization APIs to simplify the interface and improve usability of these APIs. It also adds new pipeline stage and access flag types that extend into the 64-bit range; new flags are identical to the old values within the 32-bit range, new stages and bits will be added beyond that.
Whilst the overall shape of synchronization in the new API is similar to the original, there are a number of useful changes which should make developer’s lives simpler:
Other changes are primarily focused on making the API more intuitive, particularly with the relation between access masks, image layouts, and pipeline stages: far more information can now be provided contextually.
For example:
VK_ACCESS_MEMORY_READ_BIT
is now guaranteed to only flush caches affecting the pipeline stages in the same memory barrier. VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR
layout. This works the same as VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_ONLY_KHR
for color images, but as VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
for depth/stencil images.Full details of the exact changes are available in the Vulkan specification, and are summarised in the man page for VK_KHR_synchronization2
.
Download the latest Radeon Software Adrenalin driver