Vulkan 1.0.54 Released With Many New Extensions, Some KHX Promoted To Stable

Written by Michael Larabel in Vulkan on 13 July 2017 at 08:14 AM EDT. Add A Comment
The Khronos Group is out with an updated Vulkan specification and it's an exciting update!

There are a few fixes with the new Vulkan 1.0.54 release, but the vast majority of the work includes new extensions as well as promoting some KHX (experimental) extensions to KHR (stable).

Extensions promoted from experimental to stable are the external memory and external semaphores features. Thus the stable extensions are KHR_external_memory, KHR_external_memory_capabilities, KHR_external_memory_fd, KHR_external_memory_win32, KHR_external_semaphore, KHR_external_semaphore_capabilities, KHR_external_semaphore_fd, KHR_external_semaphore_win32, and KHR_win32_keyed_mutex. This is great news for SteamVR on Linux as it makes use of the external memory functionality. Hopefully we'll see the rest of this work tidied up for Mesa too now that the extensions are no longer experimental.

New extensions to Vulkan 1.0.54 include:

VK_KHR_16bit_storage: adds 16-bit types in shader inputs and output interfaces and push constant blocks.

VK_KHR_dedicated_allocation: This extension allows resources to be found to a dedicated allocation rather than sub-allocated. This can improve aspect to resources in certain conditions.

VK_KHR_external_fence: Allows synchronized access to external memory using fences.

VK_KHR_external_fence_capabilities: Adds capability queries for Vulkan external fences.

VK_KHR_external_fence_fd: Used for exporting the fence payload to/from POSIX file descriptors on Linux.

VK_KHR_external_fence_win32: Ditto the above but for going to/from Windows handles.

VK_KHR_get_memory_requirements2: New query memory requirements that can be more easily extended.

VK_KHR_storage_buffer_storage_class: This adds support for SPIR-V's SPV_KHR_storage_buffer_storage_class within Vulkan.

VK_KHR_variable_pointers: Used for indicating support for the SPIR-V variable pointers extension (SPV_KHR_variable_pointers).

Overall an exciting Vulkan update just a few weeks before Khronos' SIGGRAPH 2017 event with Vulkan and OpenGL updates expected. So basically it comes down to 16-bit support in shader inputs/outputs, dedicated allocation support, and fencing support around external memory as the main additions to Vulkan 1.0.54 as well as promoting of the external memory/semaphores extensions to stable.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week