Vulkan 1.2 is here after two years of urgent wishes from gamers, game engine, and hardware developers. Upcoming titles will benefit from the performance optimizations thanks to improved efficiency. Thanks to improved SPIR-V support, shader effects will be displayed much more beautifully. Corresponding driver updates are immediately available for download. Android games and Google Stadia will also benefit.
The last major update of the Vulkan graphics interface dates back to March 7, 2018, so it's almost two years old - an eternity for the games market! Accordingly, today's update to Vulkan 1.2 can be considered a big headline. In our article about why you should care about Vulkan 1.0, we ventured a look at the beautiful new game world the interface promised. And indeed, it fulfilled many hopes.
While gamers on Windows Vulkan were more likely to perceive it as an annoying additional installation before games like Doom Eternal, Red Dead Redemption 2 or Borderlands 3, the open-source graphics interface was a revelation, especially for Linux gamers. In Steam, the interface in the Proton translation library was used extensively to translate Windows-only DirectX games into Vulkan in real-time, making them run on the open-source operating system for the first time. Continuous updates from Proton increase the number of translatable games (see ProtonDB) and reduce the number of bugs and display errors.
Google Stadia uses the same technology: the Linux-based game streaming service increasingly provides games that were not actually released for Linux. And since this is done on a large scale in server farms, you can imagine that Google wants to make this Windows-to-Linux, i.e. DirectX-to-Vulkan translation as efficient and bug-free as possible. And that's where Vulkan 1.2 comes in.
Vulkan 1.2 makes games faster and better looking
Vulkan-native games, as well as DirectX games that are started via Proton/DXVK, should benefit from various improvements of the Vulkan interface. For the latter, the Khronos Group behind Vulkan mentions the following improvements.
- VK_KHR_host_query_reset: Easier resetting of queries
- VK_KHR_uniform_buffer_standard_layout: To support HLSL constant buffer layouts
- VK_EXT_scalar_block_layout: More layout support for HLSL (optional)
- VK_KHR_separate_stencil_usage: Used in many DX ports
- VK_KHR_separate_depth_stencil_layouts: Used in many DX ports
- SPIR-V 1.4/1.5 include many HLSL features
Hardware manufacturers who are among the writers of Vulkan have made new features of their hardware available in Vulkan:
- VK_KHR_image_format_list: improve image view performance
- framebufferIntegerColorSampleCounts: more multi-sample formats
Such adaptations give them much more control in their drivers to translate Vulkan commands into hardware instructions. This increases predictability for game (engine) developers, resulting in both higher frame rates and fewer display errors.
The integration of SPIR-V 1.4 and 1.5 already mentioned above also provides for improved display, and the standard, Portable Intermediate Representation is an important mediator in programming shaders. The latest update is intended to further close the feature gap between DirectX 12 and Vulkan. The next step is to realize ray tracing in Vulcan.
When will Vulkan 1.2 arrive on Android?
Theoretically, Vulkan 1.2 may appear on your Android device with the next software update. The manufacturers of Android GPUs are Nvidia, Qualcomm, ARM (Mali GPUs as in Samsung Exynos or Huwaei HiSilicon Kirin). Their drivers are installed in system updates from the manufacturers. How advanced their respective implementation is, remains to be seen. But since they all appear in the list of "promoters", their engineers should not take long; as I said before: theoretically.
On the PC, AMD and Nvidia are already releasing drivers for Windows and Linux. These will probably make all Vulkan-capable graphics cards fit for the new interfaces. The extent to which we can already look forward to actual performance improvements can be seen in the corresponding updates in the individual games or in the release of the upcoming games. By the way, these games are then all Linux- or Stadia-native.