Hot on the heels of the Khronos Group's announcement of Vulkan 1.0 tools for Apple's macOS and iOS comes the release of version 1.1 of the cross-platform, low-level graphics API. The new version adds 16-bit data type support and new Protected Content and Subgroup Operations functions, and it integrates capabilities previously found in extensions into the core of the API. Along with Vulkan 1.1 comes Standard Portable Intermediate Representation (SPIR-V) 1.3, an update to Khronos' binary intermediate languge for parallel compute and graphics.
Protected Content restricts access to and copying of resources used for rendering and display, which potentially simplifies DRM implementations. Subgroup Operations enable manipulation and sharing of data across multiple, parallel tasks on a GPU within a work group (commonly referred to as "warps" on Nvidia hardware or "wavefronts" on Radeon chips). Terry Makedon, AMD's Director of Software Strategy, tweeted that "subgroup access in compute shaders enable console-like optimizations that will empower developers to exert more control on the GPU than ever before." The new 16-bit data types have potential uses in certain types of GPU compute applications, including those related to machine intelligence.
A number of Vulkan 1.0 extensions have been integrated into the Vulkan 1.1 API core, as well, including multi-GPU capability, simultaneous rendering of multiple image views, and cross-process interopability for advanced rendering and compositing operations. The latter two capabilities are potentially valuable for virtual reality applications.
The Khronos Group says AMD, ARM, Broadcom, Imagination, Intel, Nvidia, and Qualcomm all have GPUs with conformant Vulkan 1.1 drivers. Developers looking to get started using Vulkan 1.1's new features can begin their testing with AMD's Radeon Software Adrenalin Edition 18.2.3 drivers with Vulkan 1.1 support or Nvidia's GeForce 389.10 beta drivers. The Radeon drivers are a based on last month's Adrenalin release, and Nvidia's driver package is restricted to authorized developers only, but we imagine Vulkan 1.1 support will be part of both vendors' mainline graphics drivers soon.
Vulkan support has been around in Android, Linux, and Windows for a while, and Khronos recently announced open source tools for porting Vulkan applications to Apple's macOS and iOS. The API is supported in game development software, including Unreal Engine, Unity, Source 2, idTech, and CryEngine. Gerbils that want to learn more can check out Khronos' Vulkan Resource page.