Vulkan (API)

Vulkan
Developer(s)

Khronos Group with contributions from AMD

[1][2][3][4][5]
Initial release 16 February 2016[6]
Stable release 1.0.12 / 29 April 2016 (2016-04-29)
Development status Active
Operating system Linux (Android, SteamOS, Tizen), Windows[7][8]
Platform Compatible hardware
Type 3D graphics and compute API[9]
Website Khronos.org/Vulkan
As of 16 February 2016

Vulkan is a low-overhead, cross platform 3D graphics and compute API first announced at GDC 2015 by the Khronos Group.[9][10][11] The Vulkan API was initially referred to as the "next generation OpenGL initiative" by Khronos, but use of those names were discontinued once the Vulkan name was announced.[12] 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.[3][9][13][14][15][16][17]

Like OpenGL, Vulkan targets high-performance realtime 3D graphics applications such as games and interactive media across all platforms, and offers higher performance and lower CPU usage, much like Direct3D 12 and Mantle. In addition to its lower CPU usage, Vulkan is also able to better distribute work amongst multiple CPU cores.[18]

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.[11] Intended advantages include:

OpenGL Vulkan
one single global state machine object-based with no global state[23]
state is tied to a single context all state concepts are localized to a command buffer[24]
GPU memory and synchronization are usually hidden explicit control over memory management and synchronization[25]
extensive error checking Vulkan drivers do no error checking[26]

Compatibility

Initial specifications state that Vulkan will work on hardware that currently supports OpenGL ES 3.1 or OpenGL 4.X and up.[27] 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.

Vulkan support for iOS and OS X has not been announced by Apple, but at least one company has promised support through third-party libraries, planning to build a Vulkan implementation that runs on Metal.[28]

Company Hardware Software support: Vulkan 1.0
Microarchitecture Available since GPUs (chips) Graphic cards / SoCs Linux Microsoft Windows Android[29] Other
AMD
Polaris 2016-June? Ellesmere, Baffin, Greenland Radeon Rx 400 Series AMDGPU PRO (beta, Ubuntu only)[30][31] Radeon Software[32] N/A N/A
GCN 1.2 2014-Sep Tonga, Fiji
Carrizo
Radeon R9 285, R9 380, Fury, Fury X
GCN 1.1 2013-Mar Bonaire, Hawaii
Kaveri, Kabini, Temash, Mullins, Beema, Carrizo-L
Radeon HD 7790, PlayStation 4, Xbox One not supported
GCN 1.0 2012-Feb Oland, Cap Verde, Pitcairn, Tahiti Radeon HD 77xx - HD 7900 Series
TeraScale 3
"Northern Islands"
2010-Dec Aruba (Trinity/Richland), Barts, Turks, Caicos, Cayman Radeon HD 7xxx - HD 76xx Series

Radeon HD 6000 Series

not supported
TeraScale 2
"Evergreens"
2009-Sept Cedar, Cypress, Juniper, Redwood, Palm, Sumo Radeon HD 5000 Series
TeraScale 1 2007-May R600, RV700, … Radeon HD 2000 Series, HD 3000, HD 4000
Nvidia
Pascal 2016-May GP100, GP104, GP106, GP107 GeForce 10 series Nvidia GeForce driver[33][34] Nvidia GeForce driver[34] Yes ?
Maxwell 2.0 2014-Sept GM200, GM204, GM206, GM20B GeForce 900 series, Tegra X1
Maxwell 1.0 2014-Feb GM107, GM108 GeForce GTX 750 Ti, GTX 750, GTX 860M
Kepler 2012-March GK110, GK104, GK106, GK107, GK208 GeForce 600 series, GeForce 700 series
Fermi 2010-March GF100, GF104, GF106, GF108, GF110, GF114, GF116, GF119 GeForce 400 series, GeForce 500 series not supported
Tesla 2.0 2008-Jun GT200, GT215, GT216, GT218, GeForce 200 series, GeForce 300 series
Tesla 1.0 2006-Nov G80, G84, G86, G92, G94, G96, G98 GeForce 8 series, GeForce 9 series, GeForce 100 series
Intel
Kaby Lake 2016-? Same day release, mainlined into Mesa 12.0[35] Planned in 15.40.20 N/A
Skylake 2015-Aug Core i3-/i5-/i7-6000,
Broadwell 2015-Jun Core i3-/i5-/i7-5000, not supported
Haswell 2012-Sep Core i3-/i5-/i7-4000,
Ivy Bridge 2012-Apr Core i3-/i5-/i7-3000,
Sandy Bridge 2011-Jan Core i3-/i5-/i7-2000, Pentium abc, Celeron abc not supported
Westmere 2010-Jan Core i3-/i5-/i7-xxx, Pentium abc, Celeron abc
Imagination Technologies
PowerVR Series 8XE 2016-Feb GE8200, GE8300 PowerVR Graphics SDK v4.1[36]
PowerVR Series 7XT 2014-Nov GT7200, GT7400, GT7600, GT7800, GT7900
PowerVR Series 7XE 2014-Nov GE7400, GE7800
PowerVR Series 6XT 2014-Jan GX6240, GX6250, GX6450, GX6650
PowerVR Series 6XE 2014-Jan G6050, G6060, G6100 (XE), G6110
PowerVR Series 6 (Rogue) 2012-Jan G6100, G6200, G6230, G6400, G6430, G6630
PowerVR Series 5XT 2009-Jan SGX543, SGX544, SGX554 not supported
Qualcomm
Adreno 500 series Adreno 510, Adreno 530 Snapdragon 650 (MSM8956), Snapdragon 652 (MSM8976), Snapdragon 820 (MSM8996), … 1.0[37] ?
Adreno 400 series
Adreno 300 series not supported
ARM
Mali Midgard 1–4 mali-graphics-debugger 3.4.1

Software

Game engines

Unreal Engine 4 – On February 21, 2016, Epic Games announced Unreal Engine 4 support for Vulkan at Samsung's Galaxy S7 Unpacked event.[38][39]

Source 2 – On March 3, 2015, Valve announced the Source 2 engine, a game engine to receive a rendering path through Vulkan.[40][41]

Applications

The Talos PrincipleThe Talos Principle was the first video game with Vulkan rendering support.[42]

Vulkan ChopperNVidia developed and released a Vulkan demo on their developer site that demonstrates low CPU overhead. Vulkan Choppers works on Windows and Linux upon launch day and is planned for an Android release as well.[43]

Window System Interface

The Vulkan Window System Interface (WSI) does for Vulkan what EGL does for OpenGL ES.[44]

EGL is used by OpenGL ES programs to interface with the native platform windowing system. EGL handles context management, surface binding and rendering synchronization.

In Vulkan a set of API calls referred to as WSI will serve a similar purpose as EGL. The platform is chosen from the Vulkan header, e.g. VK_USE_PLATFORM_WAYLAND_KHR for Wayland. Then an abstracted Surface Object is created. Presentation involves using something called a "Swapchain", i.e. a series of sequentially ordered images (VkImage) that are rendered to and given to the surface to present.

History

The Khronos Group began a project to create a next generation graphics API in July 2014 with a kickoff meeting at Valve Corporation.[45] At SIGGRAPH 2014, the project was publicly announced with a call for participants.[9]

According to the US Patent and Trademark Office, the trademark for Vulkan was filed on February 19, 2015.[46]

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".[47]

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.[48][49] There is still the possibility[50] of Sandy Bridge support, since it supports compute through Direct3D11.

On August 10, 2015, Google announced that future versions of Android would support Vulkan.[51] As of April 2016, Android N received support for Vulkan, though the Samsung Galaxy S7 ships with Android 6.0 "Marshmallow".[52]

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.[11] The specification and the open-source Vulkan SDK were released on February 16, 2016.[6]

See also

References

  1. Hruska, Joel. "Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts". Extreme Tech. Retrieved 26 June 2015.
  2. Kirsch, Nathan. "Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL". Legit Reviews. Retrieved 25 June 2015.
  3. 1 2 Shilov, Anton. "AMD: Vulkan absorbed ‘best and brightest’ parts of Mantle". KitGuru. Retrieved 26 June 2015.
  4. Koduri, Raja (4 March 2015). "On APIs and the future of Mantle". AMD. Retrieved 19 May 2015. ...(T)he Khronos Group has selected Mantle to serve as the foundation for Vulkan...
  5. Michaud, Scott (3 March 2015). "GDC 15: Khronos Acknowledges Mantle's Start of Vulkan". PC Perspective. Retrieved 19 May 2015.
  6. 1 2 https://www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification
  7. Bright, Peter; Walton, Mark (16 February 2016). "Vulkan now official, with 1.0 API release and AMD driver [Updated]". United Kingdom: Ars Technica. Retrieved 18 February 2016.
  8. Valich, Theo (17 February 2016). "Mantle Cycle is Complete as Khronos Releases Vulkan 1.0". VR World. Retrieved 19 February 2016.
  9. 1 2 3 4 "More on Vulkan and SPIR - V: The future of high-performance graphics" (PDF). Khronos Group. p. 10. Retrieved 27 June 2015. Thanks AMD!
  10. "Vulkan : Graphics and compute Belong Together" (PDF). Khronos.org. March 2015. Retrieved 2015-03-05.
  11. 1 2 3 "Vulkan - Graphics and compute belong together". Khronos.org. Retrieved 2015-03-05.
  12. Batchelor, James (3 March 2015). "glNext revealed as Vulkan graphics API". develop-online.net.
  13. Mah Ung, Gordon (6 March 2015). "Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor". PCWorld.
  14. "AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs". Community.amd.com. Retrieved 2015-03-05.
  15. Hruska, Joel (4 March 2015). "Not dead yet: AMD’s Mantle powers new Vulkan API, VR efforts". ExtremeTech. Retrieved 2015-03-05.
  16. "AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL". Wccftech.com. 2014-06-20. Retrieved 2015-03-05.
  17. Kirsch, Nathan. "Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL". Legit Reviews. Retrieved 2015-03-05.
  18. Hruska, Joel. "Next-generation Vulkan API could be Valve’s killer advantage in battling Microsoft". Extreme Tech. Retrieved 26 June 2015.
  19. http://www.tomshardware.com/news/khronos-group-vulkan-graphics-api,28678.html
  20. http://blog.imgtec.com/powervr/vulkan-high-efficiency-on-mobile
  21. http://blog.imgtec.com/powervr/vulkan-scaling-to-multiple-threads
  22. Kessenich, John. "An Introduction to SPIR-V" (PDF). Khronos Group. Retrieved 5 March 2015.
  23. "FOSDEM 2016 - Vulkan in Open-Source". fosdem.org. Retrieved 2016-02-27.
  24. "FOSDEM 2016 - Vulkan in Open-Source". fosdem.org. Retrieved 2016-02-27.
  25. "FOSDEM 2016 - Vulkan in Open-Source". fosdem.org. Retrieved 2016-02-27.
  26. "FOSDEM 2016 - Vulkan in Open-Source". fosdem.org. Retrieved 2016-02-27.
  27. "Vulkan Overview" (PDF). Khronos Group. June 2015. Retrieved 18 August 2015. p. 19 "Vulkan Status"
  28. "MoltenVK". Molten. Retrieved 5 April 2016.
  29. "The Android platform includes an Android-specific implementation of the Vulkan API specification from the Khronos Group". 2016-04-05.
  30. "AMD Radeon Software AMD GPU-PRO Beta Driver Linux for Vulkan". 2016-03-18.
  31. https://community.amd.com/community/gaming/blog/2016/02/16/radeon-gpus-are-ready-for-the-vulkan-graphics-api
  32. "AMD Radeon Software version 16.15.1009 supports Vulkan". 2016-02-16.
  33. http://www.nvidia.com/download/driverResults.aspx/101818/en-us
  34. 1 2 "Vulkan Driver Support". NVIDIA Developer. Nvidia. Retrieved 2016-04-04.
  35. "Open-source Vulkan drivers for Intel hardware". 2016-02-16.
  36. "Imagination announces Vulkan SDK for PowerVR Rogue GPUs". Imagination Blog. PowerVR Developer Technology Team. 16 March 2016. Retrieved 27 April 2016.
  37. "Qualcomm announces Vulkan API support for Adreno 5xx and 4xx GPUs".
  38. "Epic Games adds Vulkan support to Unreal Engine 4". bit-tech. Retrieved 2016-02-24.
  39. "Epic Games Unveils ProtoStar at Samsung Galaxy Unpacked". www.unrealengine.com. Retrieved 2016-02-24.
  40. Kollar, Philip (3 March 2015). "Valve announces Source 2 engine, free for developers". Retrieved 3 March 2015.
  41. Mahardy, Mike (3 March 2015). "GDC 2015: Valve Announces Source 2 Engine". IGN. Retrieved 3 March 2015.
  42. Williams, Daniel; Smith, Ryan (17 February 2016). "Quick Look: Vulkan Performance on The Talos Principle". Anandtech. Retrieved 19 February 2016.
  43. https://developer.nvidia.com/vulkan-android#samples
  44. "Vulkan 1.0 specification released with day-one support for Wayland". 2016-02-16.
  45. SIGGRAPH 2015: 3D Graphics API State of the Union (Video). SIGGRAPH 2015: Khronos Group. 16 September 2015. Event occurs at 57:24. Retrieved 12 November 2015.
  46. "US Patent and Trademark Office". Retrieved 2015-03-07.
  47. Batchelor, James. "glNext revealed as Vulkan graphics API | Latest news from the game development industry | Develop". Develop-online.net. Retrieved 2015-03-05.
  48. "Valve Developed An Intel Linux Vulkan GPU Driver - Phoronix". www.phoronix.com. Retrieved 2015-07-22.
  49. "Learning More About The Intel Vulkan Driver, Linux Vulkan Plans - Phoronix". www.phoronix.com. Retrieved 2015-07-22.
  50. "Evan Odabashian on Twitter". Retrieved 2015-07-22.
  51. Woods, Shannon (12 August 2015). "Low-overhead rendering with Vulkan". Android Developers Blog.
  52. "Vulkan API for Samsung Galaxy S7". 2016-02-21.

External links

This article is issued from Wikipedia - version of the Saturday, May 07, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.