Vulkan 1.0.39 Adds A Number Of New Extensions

Written by Michael Larabel in Vulkan on 23 January 2017 at 05:04 PM EST. 11 Comments
The delay in seeing a new Vulkan 1.0 update was worthwhile as the v1.0.39 release today is rather fun.

Vulkan 1.0.39 adds new extensions for VK_KHR_get_physical_device_properties2, VK_KHR_maintenance1, VK_KHR_shader_draw_parameters, VK_EXT_shader_subgroup_vote, VK_EXT_shader_subgroup_ballot, and VK_EXT_swapchain_colorspace.

VK_KHR_get_physical_device_properties2 "provides new entry points to query device features, device properties, and format properties in a way that can be easily extended by other extensions, without introducing any further entry points."

VK_KHR_maintenance1 adds various "maintenance" changes that didn't make it for the original Vulkan 1.0 release. VK_KHR_maintenance1 works on features like allowing 2D and 2D array image views to be created from 3D images, allow drivers to do transfers/clears of image formats they don't otherwise support, a new command to release any unused command pool memory back to the system, and various fixes.

VK_KHR_shader_draw_parameters adds the SPV_KHR_shader_draw_parameters SPIR-V extension and aligns with OpenGL's ARB_shader_draw_parameters.

VK_EXT_shader_subgroup_vote adds new SPIR-V instructions and VK_EXT_shader_subgroup_ballot adds the SPIR-V shader ballot extension. From the documentation on VK_EXT_shader_subgroup_ballot, "This extension provides the ability for a group of invocations, which execute in parallel, to do limited forms of cross-invocation communication via a group broadcast of a invocation value, or broadcast of a bitarray representing a predicate value from each invocation in the group."

VK_EXT_swapchain_colorspace adds several new colorspaces.

Overall this is the largest and most exciting update since last February's Vulkan 1.0.0 release. More details via this Git commit.

Do note that this Vulkan 1.0.39 release didn't add in all of the new extensions found in NVIDIA's quietly-updated Vulkan Linux driver from earlier this month, some of which are considered experimental.

When it comes to the open-source driver support, Intel's Jason Ekstrand has already sent out six patches for getting the Intel Vulkan driver to support the new VK_KHR_maintenance1 extension, which didn't end up meaning a lot of work for the ANV code-base.

Update: Also worth pointing out is there is some work by Nintendo, including VK_NN_vi_surface and windowing system bits, for the Nintendo Switch Vulkan support.
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