The next version of OpenGL has been in the works for a very long time, and has taken many forms. Previously known as GlNext, the project was instead renamed to Vulkan when AMD released the Mantle API. Vulkan is much lower level than even OpenGL, leaving much more in the hands of the developer. On the other hand, the vast majority of game engines have announced support for Vulkan so most developers wont have to get their hands dirty to support Vulkan. However to fully support Vulkan, it needs to be supported in the drivers. nVidia has already released a driver, as have AMD, although theirs is more of a beta at this point.
The full press release from the Khronos group is available here and excerpt below:
Vulkan is the result of 18 months in an intense collaboration between leading hardware, game engine and platform vendors, built on significant contributions from multiple Khronos members. Vulkan is designed for portability across multiple platforms with desktop and mobile GPU architectures. Vulkan is available on multiple versions of Microsoft Windows from Windows 7 to Windows 10, and has been adopted as a native rendering and compute API by platforms including Linux, SteamOS, Tizen and Android.
By placing an unprecedented collection of Vulkan-related materials into open source, including the full Vulkan conformance tests, the specification source, and a rich set of software tools, Khronos is enabling strong community participation to drive API consistency and ecosystem evolution. All Khronos open source projects are available here: https://github.com/KhronosGroup.
“Vulkan has a huge potential! We’re only scratching the surface of what can be done with it, and porting The Talos Principle to Vulkan should be seen as a proof of concept,” said Dean Sekulic graphics engine specialist at Croteam. “Vulkan in just one sentence? The endless war between performance and portability is finally over!”
Vulkan minimizes driver overhead for optimal graphics and compute performance and provides the direct GPU control demanded by sophisticated game engines, middleware and applications. Simpler, more predictable drivers provide performance and functional portability across a wide range of implementations. A key advantage of Vulkan over OpenGL is the ability to generate GPU work in parallel using many CPU cores, making Vulkan particularly useful for CPU-bound developers, eliminating a bottleneck in applications from diverse domains including games, computer-aided design and mobile apps. Vulkan complements the traditional OpenGL and OpenGL ES APIs that provide a higher level of abstraction to access GPU functionality, which may be more convenient for many developers. Khronos will continue to evolve OpenGL and OpenGL ES in parallel with Vulkan to meet market needs.
“The Vulkan working group has been driven by more positive developer energy than any other Khronos project, resulting in the release of specifications, conformance tests, and open source SDK and compiler components in just 18 months,” said Neil Trevett, president of the Khronos Group and vice president at NVIDIA. “Vulkan does not replace traditional APIs, but it provides another choice for developers. In the right hands, Vulkan’s multi-threading and explicit resource management can enable a new class of smooth, high-performance engines and applications.”
Vulkan uses the Khronos SPIR-V™ intermediate representation defined by Khronos with native support for shader and compute 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. 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.
Vulkan’s layered design enables a common, extensible architecture to install tool layers for code validation, debugging and profiling during development without impacting production performance. Khronos’ open source materials enable SDKs and tools to be built for any platform.