Platform Cross-platform | ||
Developer(s) Khronos Group, developed from AMD's Mantle Initial release 16 February 2016; 13 months ago (2016-02-16) Stable release 1.0.43 (11 March 2017; 23 days ago (2017-03-11)) [±] Operating system Type 3D graphics and compute API |
Vulkan is a low-overhead, cross-platform 3D graphics and compute API first announced at GDC 2015 by the Khronos Group. The Vulkan API was initially referred to as the "next generation OpenGL initiative," or "OpenGL next" by Khronos, but use of those names was discontinued once the Vulkan name was announced. Vulkan is derived from and built upon components of AMD's Mantle API, which was donated by AMD to Khronos with the intent of giving Khronos a foundation on which to begin developing a low-level API that they could standardize across the industry, much like OpenGL.
Contents
- Features
- Planned features
- History
- 2015
- 2016
- 2017
- Video games
- Game console emulators
- Game engines
- Development tools
- OS components
- Compatibility
- References
Like OpenGL, Vulkan targets high-performance realtime 3D graphics applications such as video games and interactive media across all platforms, and can offer higher performance and more balanced CPU/GPU usage, much like Direct3D 12 and Mantle. Other major differences to Direct3D (prior to version 12) and OpenGL are Vulkan being a considerably lower level API and offering parallel tasking. Vulkan also has the ability to render 2D graphics applications, however it is generally suited for 3D. In addition to its lower CPU usage, Vulkan is also able to better distribute work amongst multiple CPU cores.
Features
Vulkan is intended to provide a variety of advantages over other APIs as well as its spiritual predecessor, OpenGL. Vulkan offers lower overhead, more direct control over the GPU, and lower CPU usage. The overall concept and feature set of Vulkan is similar to Direct3D 12 and Mantle.
Intended advantages of Vulkan over previous-generation APIs include:
NVIDIA notes that OpenGL is still a great option for a lot of use-cases, as it does come at a much lower complexity and maintenance burden than Vulkan, while in many cases still providing great overall performance.
Planned features
At SIGGRAPH 2016, Khronos announced that Vulkan would be getting support for automatic multi-GPU features, similar to what is offered by Direct3D 12. Multi-GPU support included in-API removes the need for SLI or Crossfire which requires graphics cards to be of the same model. API multi-GPU instead allows the API to intelligently split the workload among two or more completely different GPUs. For example, integrated GPUs included on the CPU can be used in conjunction with a high-end dedicated GPU for a slight performance boost.
History
The Khronos Group began a project to create a next generation graphics API in July 2014 with a kickoff meeting at Valve Corporation. At SIGGRAPH 2014, the project was publicly announced with a call for participants.
According to the US Patent and Trademark Office, the trademark for Vulkan was filed on February 19, 2015.
Vulkan was formally named and announced at Game Developers Conference 2015, although speculation and rumors centered around a new API existed beforehand and referred to it as "glNext".
2015
In early 2015, LunarG (funded by Valve) developed and showcased a Linux driver for Intel which enabled Vulkan compatibility on the HD 4000 series integrated graphics, despite the open source Mesa drivers not being fully compatible with OpenGL 4.0 until later that year. There is still the possibility of Sandy Bridge support, since it supports compute through Direct3D11.
On August 10, 2015, Google announced that future versions of Android would support Vulkan. Android Nougat launched support for Vulkan on August 22, 2016.
On December 18, 2015, the Khronos Group announced that the 1.0 version of the Vulkan specification was nearly complete and would be released when conformant drivers were available. The specification and the open-source Vulkan SDK were released on February 16, 2016.
2016
In December of 2016, Unity Technologies announced that version 5.6 of their game engine, Unity, would support the Vulkan API.
2017
In February of 2017, Croteam announced that it would be adopting the Vulkan API in its games and leveraging it to make their games more cross-platform friendly. In March of 2017, Cloud Imperium Games announced Star Citizen would be using Vulkan API instead of DirectX.
Video games
Game console emulators
Game engines
Development tools
OS components
The Vulkan Window System Interface (WSI) does for Vulkan what EGL does for OpenGL ES. EGL is used by OpenGL ES programs to interface with the native platform windowing system. EGL handles context management, surface binding and rendering synchronization.
Compatibility
Initial specifications stated that Vulkan will work on hardware that currently supports OpenGL ES 3.1 or OpenGL 4.x and up. As Vulkan support requires new graphics drivers, this does not necessarily imply that every existing device that supports OpenGL ES 3.1 or OpenGL 4.x will have Vulkan drivers available.
Android 7.0 Nougat supports Vulkan. The software was released in August 2016.
Vulkan support for iOS and macOS has not been announced by Apple, but at least one company provides a Vulkan implementation that runs on top of Metal on iOS and macOS devices.