Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Vulkan 1.0.54 Released With Many New Extensions, Some KHX Promoted To Stable
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.