Another piece in the next-gen graphics API puzzle has fallen into place. The Khronos Group has formally announced Vulkan, the API formerly known as glNext. The open standards body revealed its intention to rebuild OpenGL as a low-overhead API in August, and Vulkan is the result. I'll let the press release fill in the details:
Vulkan is a unified specification that minimizes driver overhead and enables multi-threaded GPU command preparation for optimal graphics and compute performance on diverse mobile, desktop, console and embedded platforms. Vulkan also provides the direct GPU control demanded by sophisticated game engines, middleware and applications with the cross vendor performance and functional portability resulting from simpler, more predictable drivers. The layered design of Vulkan enables multiple IHVs to plug into a common, extensible architecture for code validation, debugging and profiling during development without impacting production performance; this layering flexibility is expected to catalyze strong innovation in cross-vendor GPU tools.
In another significant announcement today, Vulkan and OpenCL 2.1 are now sharing core intermediate language technologies resulting in SPIR-V; a revolution in the Khronos Standard Portable Intermediate Representation initially used by OpenCL™, now fully defined by Khronos with native support for shader and kernel features. SPIR-V splits the compiler chain, enabling high-level language front-ends to emit programs in a standardized intermediate form to be ingested by Vulkan or OpenCL drivers. Eliminating the need for a built-in high-level language source compiler significantly reduces GPU driver complexity and will enable a diversity of language front-ends. Additionally, a standardized IR provides a measure of shader IP protection, accelerated shader load times and enables developers to use a common language front-end, improving shader reliability and portability across multiple implementations.
More information on the API is available in this overview presentation (PDF). The Game Developers Conference is also hosting two sessions on Vulkan this Thursday. One will provide a technical preview of the API, while the other promises demos and interaction with the folks behind the standard. Scott is at GDC this week, and I expect he'll be attending at least one of those sessions.
Vulkan remains a work in progress, but the initial specification and first implementations are due later this year. The Khronos Group says it has made "rapid progress" since last summer, with "significant proposals and IP contributions received from members." Some of those contributions came from AMD, whose low-overhead Mantle API shares a similar focus. AMD Gaming Scientist Richard Huddy told us in August that the firm had done "a great deal of work" with the Khronos Group on the next-gen OpenGL spec. It's unclear how much of Vulkan is derived from a mind meld with Mantle, though.
AMD isn't the only hardware company with a hand in Vulkan development, of course. Intel, Nvidia, ARM, Qualcomm, and Imagination Technologies are all part of the group behind the standard. Interestingly, the Khronos Group says it also experienced an "unprecedented level of participation from game engine ISVs." Valve is even presenting one of the GDC sessions on Vulkan.