|Initial release||February 16, 2016|
|Stable release||1.0.66 (27 November 2017) [±]|
|Operating system||Android, Linux, Microsoft Windows, Tizen|
|Type||3D graphics and compute API|
Vulkan is a low-overhead, cross-platform 3D graphics and compute API. Vulkan targets high-performance realtime 3D graphics applications such as video games and interactive media across all platforms. Compared with OpenGL and Direct3D 11, and like Direct3D 12 and Metal, Vulkan is intended to offer higher performance and more balanced CPU/GPU usage. Other major differences from Direct3D 11 (and prior) 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.
Vulkan was first announced by the non-profit Khronos Group at GDC 2015. 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.
Vulkan is intended to provide a variety of advantages over other APIs as well as its 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, Metal and Mantle.
Intended advantages of Vulkan over previous-generation APIs include:
|One single global state machine||Object-based with no global state|
|State is tied to a single context||All state concepts are localized to a command buffer|
|Operations can only be executed sequentially||Multi-threaded programming is possible|
|GPU memory and synchronization are usually hidden||Explicit control over memory management and synchronization|
|Extensive error checking||Vulkan drivers do no error checking at runtime;
there is a validation layer for developers
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.
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.
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.
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 7.x "Nougat" launched support for Vulkan on August 22, 2016. Android 8.0 "Oreo" has full support, but there are no news on making Vulkan available on Android 6.0.1 "Marshmallow".
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 conforming drivers were available. The specification and the open-source Vulkan SDK were released on February 16, 2016.
On December 15, 2016, Unity Technologies announced that version 5.6 of their game engine, Unity, would support the Vulkan API.
The Vulkan Window System Integration (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.
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.
|Company||Hardware||Software support: Vulkan 1.0|
|Microarchitecture||Available since||GPUs (chips)||Graphic cards / SoCs||Android[a]||Linux||Microsoft Windows[b]|
|GCN 5th||August 2017||Vega 10||Radeon Rx Vega series||N/A||AMDGPU PRO (Ubuntu & RHEL)
& RADV in Mesa
|GCN 4th||June 2016||Polaris 10, Polaris 11, Polaris 12||Radeon Rx 400 series|
|GCN 3rd||August 2014||Tonga, Fiji, Carrizo||Radeon R9 Series|
|GCN 2nd||March 2013||Bonaire, Hawaii, Kaveri, Kabini, Temash, Mullins, Beema, Carrizo-L||Radeon HD 7790, PlayStation 4, Xbox One||Experimental|
|GCN 1st||February 2012||Oland, Cape Verde, Pitcairn, Tahiti||Radeon HD 77xx–7900 Series|
|TeraScale 3||December 2010||Cayman, Trinity/Richland||Radeon HD 69xx Series, Radeon HD 7xxx–76xx Series||not supported|
|TeraScale 2||September 2009||Cedar, Cypress, Juniper, Redwood, Palm, Sumo||Radeon HD 5000 Series, Radeon HD 6350, Radeon HD 64xx–68xx Series|
|TeraScale 1||May 2007||R600, RV630, RV610, RV790, RV770, …||Radeon HD 2000 Series, HD 3000, HD 4000|
|Pascal||May 2016||GP10x||GeForce 10 series, Tegra X2||Yes||Nvidia GeForce driver||Nvidia GeForce driver|
|Maxwell||February 2014||GM10x, GM20x||GeForce GTX 750 Ti, GTX 750, GTX 860M, GeForce 900 series, Tegra X1|
|Kepler||March 2012||GK10x, GK110, GK208||GeForce 600 series, GeForce 700 series, Tegra K1|
|Fermi||March 2010||GF10x, GF11x||GeForce 400 series, GeForce 500 series||not supported|
|Tesla||November 2006||G8x, G9x, GT20x, GT21x||GeForce 8 series, GeForce 9 series, GeForce 100 series, GeForce 200 series, GeForce 300 series|
|Kaby Lake||January 3, 2017||Core i3-/i5-/i7-7000, Pentium xyz, Celeron xyz||Anvil in Mesa 17.1||Anvil in Mesa||Intel Graphics driver|
|Skylake||August 2015||Core i3-/i5-/i7-6000, Core m3-/m5-/m7-6Yxx, Pentium G4xxx, Celeron G39xx|
|Broadwell||September 2014||Core i3-/i5-/i7-5000, Core M-5Yxx||not supported|
|Haswell||September 2012||Core i3-/i5-/i7-4000, Pentium G3xxx, Celeron G18xx|
|Ivy Bridge||April 2012||Core i3-/i5-/i7-3000, Pentium G2xxx, Celeron G16xx|
|Sandy Bridge||January 2011||Core i3-/i5-/i7-2000, Pentium Gxxx, Celeron Gxxx||not supported||not supported|
|Westmere||January 2010||Core i3-/i5-/i7-xxx, Pentium G69xx, Celeron G1101|
|PowerVR Series 8||February 2016||GE8200, GE8300||PowerVR Graphics SDK v4.1|
|PowerVR Series 7||November 2014||GE7400, GE7800, GT7200, GT7400, GT7600, GT7800, GT7900||Apple A9, A9X, A10 Fusion, Helio X30 (MT6799)|
|PowerVR Series 6||January 2012||G6100, G6200, G6230, G6400, G6430, G6630, RK3368, G6050, G6060, G6100 (XE), G6110, GX6240, GX6250, GX6450, GX6650||Apple A7, A8, A8X, MediaTek MT8173, MT8176, MediaTek MT6595M, MT6595T, MT6595M, MT6795, MT8135, Helio X10 (MT6795), LG H13, Atom Z3460, Z3480, Z3530, Z3560, Z3570, Z3580|
|PowerVR Series 5||January 2009||SGX543, SGX544, SGX554||Apple S1, A5, A5X, A6, A6X, NovaThor L8540, L8580, L9540, TI OMAP 4470, 5430, 5432, MediaTek MT5327, MT6589M, MT6589T, MT6589, MT8117, MT8121, MT8125, MT8389, Atom Z2460, Z2520, Z2560, Z2580, Z2760, Exynos 5410||not supported|
|Adreno 500 series||Adreno 510, Adreno 530, Adreno 540||Snapdragon 430, 625, 650, 652, 820, 821, 835||1.0|
|Adreno 400 series||Adreno 418,Adreno 420,Adreno 430||Snapdragon 415, 615, 616, 617, 805, 808, 810||1.0(Adreno 418,430)|
|Adreno 300 series||Snapdragon 200, 208, 210, 212, 400, 410, 412, 600, 800, 801||not supported|
|Bifrost||June 2016||Mali-G71, …||Kirin 960, Exynos 8895, MediaTek Helio P23 (MT6763T), Helio P30||1.0|
|Midgard 4th||Q4 2015||Mali-T860, Mali-T830, Mali-T880||Exynos 8890, Exynos7880, Exynos 7870, Kirin 950, 955, MediaTek MT6738, MT6750, Helio X20 (MT6797), X25 (MT6797T), P10 (MT6755), P20 (MT6757)|
|Midgard 3rd||October 2013||Mali-T760, …||Exynos 7420, Exynos 5433, MT6752, MT6732, RK3288|
|Midgard 2nd||August 2012||Mali-T600 series, T720||Exynos 5250, 5260, 5410, 5420, 5422, 5430, 5800, 7580, Mediatek MT6735, MT6753, Kirin 920, 925, 930, 935||not supported|
None of the audio/visual content is hosted on this site. All media is embedded from other sites such as GoogleVideo, Wikipedia, YouTube etc. Therefore, this site has no control over the copyright issues of the streaming media.
All issues concerning copyright violations should be aimed at the sites hosting the material. This site does not host any of the streaming media and the owner has not uploaded any of the material to the video hosting servers. Anyone can find the same content on Google Video or YouTube by themselves.
The owner of this site cannot know which documentaries are in public domain, which has been uploaded to e.g. YouTube by the owner and which has been uploaded without permission. The copyright owner must contact the source if he wants his material off the Internet completely.