Khronos Group, an open consortium of hardware and software companies, has officially taken the wraps off Vulkan, previously referred to as the Next Generation OpenGL or glNext. Built for modern systems, the next generation open standard graphics and compute API allows app writers to more directly access of processing power and promises simpler drivers, exceptional efficiency and great performance.
Vulkan is designed to be a low-overhead API that enables multi-threaded compute and GPU command preparation and facilitates multithreaded 3D development. By putting tasks like memory and thread management in the writer's hands, it greatly reduces the amount of work and task responsibilities the driver needs to perform and handle.
The new API throws out nearly 25 years of OpenGL, and is built to be a better fit for diverse modern hardware. AMD's Mantle, Microsoft's DirectX 12 and Apple's Metal API were all designed to offer similar multi-threaded compute and multi-GPU performance options, though are all limited when it comes to the operating environment in one manner or another. Mantle only works with AMD GPUs, DirectX 12 only functions in the modern Windows ecosystem and Metal only supports Apple iOS. Vulkan, on the other hand, is vendor-neutral just like OpenGL, spanning disparate processor and operating system vendors.
Significantly the API is drops the OpenGL method of handling shader code. The traditional approach which required each display driver to contain a full complier that could parse code written in GLSL (OpenGL Shader Language) is replaced with a new intermediate language standard (SPIR-V). The newly developed spec will 'copy' the DirectX method, meaning that shader programs are complied once into a bytecode that is much simpler for display drivers to process.
Even though Vulkan is still in a preview stage, it has already gained remarkable support from AMD, ARM, Imagination and NVIDIA, (you can read the 'testimonials' here) whilst Valve, EA, Unity, Epic Games and Oxide are all due to discuss the API later this week.
"Industry standard APIs like Vulkan are a critical part of enabling developers to bring the best possible experience to customers on multiple platforms," said Valve's Gabe Newell. "Valve and the other Khronos members are working hard to ensure that this high-performance graphics interface is made available as widely as possible and we view it as a critical component of SteamOS and future Valve games."
With full specifications due to be revealed later this year, Imagination (PowerVR) has posted an early video demonstrating what Vulkan can accomplish on mobile. Please note that this is a very early product running on alpha drivers and a draft version of the specification.