Vulkan (API)

From Wikipedia, the free encyclopedia
  (Redirected from Vulkan)
Jump to navigation Jump to search
Vulkan
Vulkan RGB Dec16.svg
Developer(s)Khronos Group
Initial releaseFebruary 16, 2016; 4 years ago (2016-02-16)[1]
Stable release1.2.153 (September 7, 2020; 8 days ago (2020-09-07)[2]) [±]
Repository Edit this at Wikidata
Written inC[3]
Operating systemAndroid, Linux, Windows, Nintendo Switch,[4][5][6] Stadia, Tizen,[7][8] macOS[9]
PlatformCross-platform
Type3D graphics and compute API[10]
Websitewww.khronos.org/vulkan

Vulkan is a low-overhead, cross-platform 3D graphics and computing API. Vulkan targets high-performance realtime 3D graphics applications such as video games and interactive media across all platforms. Compared to 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. In addition to its lower CPU usage, Vulkan is also able to better distribute work among multiple CPU cores.[11]

Vulkan was first announced by the non-profit Khronos Group at GDC 2015.[10][12][13] The Vulkan API was initially referred to as the "next generation OpenGL initiative", or "OpenGL next"[14] by Khronos, but use of those names was discontinued when Vulkan was announced.[15] 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.[10][16][17][18][19][20][21]

Features[edit]

OpenGL and Vulkan are both rendering APIs. In both cases, the GPU executes shaders, while the CPU executes everything else.

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.[13] The overall concept and feature set of Vulkan is similar to Mantle later adopted by Microsoft with Direct3D 12 and Apple with Metal.

Intended advantages of Vulkan over previous-generation APIs include:

  • A single API for both desktop and mobile graphics devices, whereas previously these were split between OpenGL and OpenGL ES respectively.
  • Availability on multiple modern operating systems in contrast to Direct3D 12; like OpenGL, the Vulkan API is not locked to a single OS or device form factor. As of release, Vulkan runs on Android, Linux, Tizen, Windows 7, Windows 8, and Windows 10 (MoltenVK provides freely-licensed[22][23][24] third-party support for iOS and macOS based on Metal[25])
  • Reduced driver overhead, reducing CPU workloads.[26]
  • Reduced load on CPUs through the use of batching,[definition needed] leaving the CPU free to do more computation or rendering than otherwise.[27]
  • Better scaling on multi-core CPUs. Direct3D 11 and OpenGL 4 were initially designed for use with single-core CPUs and only received augmentation to be executed on multi-cores. Even when application developers use the augmentations, the API regularly does not scale well on multi-cores.[28]
  • OpenGL uses the high-level language GLSL for writing shaders which forces each OpenGL driver to implement its own compiler for GLSL that executes at application runtime to translate the program's shaders into the GPU's machine code. Instead, Vulkan drivers are supposed to ingest shaders already translated into an intermediate binary format called SPIR-V (Standard Portable Intermediate Representation), analogous to the binary format that HLSL shaders are compiled into in Direct3D. By allowing shader pre-compilation, application initialization speed is improved and a larger variety of shaders can be used per scene. A Vulkan driver only needs to do GPU specific optimization and code generation, resulting in easier driver maintenance, and eventually smaller driver packages (currently GPU vendors still have to include OpenGL/CL).[29]
  • Unified management of compute kernels and graphical shaders, eliminating the need to use a separate compute API in conjunction with a graphics API.
OpenGL Vulkan[30]
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 comes at a much lower complexity and maintenance burden than Vulkan, while in many cases still providing great overall performance.[31]

AMD says that Vulkan supports close-to-metal control, enabling faster performance and better image quality across Windows 7, Windows 8.1, Windows 10, and Linux. No other graphics API offers the same powerful combination of OS compatibility, rendering features, and hardware efficiency.[32]

Vulkan 1.1[edit]

At SIGGRAPH 2016, Khronos announced that Vulkan would be getting support for automatic multi-GPU features, similar to what is offered by Direct3D 12.[33] 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.[34] For example, integrated GPUs included on the CPU can be used in conjunction with a high-end dedicated GPU for a slight performance boost.

On March 7, 2018, Vulkan 1.1 was released by the Khronos Group.[35] This first major update to the API standardized several extensions, such as multi-view, device groups, cross-process and cross-API sharing, advanced compute functionality, HLSL support, and YCbCr support.[36] At the same time, it also brought better compatibility with DirectX 12, explicit multi-GPU support, ray tracing support,[37][38] and laid the groundwork for the next generation of GPUs.[39] Alongside Vulkan 1.1, SPIR-V was updated to version 1.3.[36]

Vulkan 1.2[edit]

On January 15, 2020, Vulkan 1.2 was released by the Khronos Group.[40] This second major update to the API integrates 23 additional commonly-used proven Vulkan extensions into the base Vulkan standard. Some of the most important features are "timeline semaphores for easily managed synchronization", "a formal memory model to precisely define the semantics of synchronization and memory operations in different threads", and "descriptor indexing to enable reuse of descriptor layouts by multiple shaders". The additional features of Vulkan 1.2 improve its flexibility when it comes to implementing other graphics APIs on top of Vulkan, including "uniform buffer standard layout", "scalar block layout", and "separate stencil usage".[41]

Planned features[edit]

When releasing OpenCL 2.2, the Khronos Group announced that OpenCL would converge where possible with Vulkan to enable OpenCL software deployment flexibility over both APIs.[42][43] This has been now demonstrated by Adobe's Premiere Rush using the clspv[44] open source compiler to compile significant amounts of OpenCL C kernel code to run on a Vulkan runtime for deployment on Android.[45]

History[edit]

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

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

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

2015[edit]

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

On August 10, 2015, Google announced that future versions of Android would support Vulkan.[52] Android 7.x "Nougat" launched support for Vulkan on August 22, 2016. Android 8.0 "Oreo" has full support.

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.[13]

2016[edit]

The specification and the open-source Vulkan SDK were released on February 16, 2016.[1]

2018[edit]

On February 26, 2018, Khronos Group announced that the Vulkan API became available to all on macOS and iOS through the MoltenVK library, which enables Vulkan to run on top of Metal.[53] Other new developments were shown at SIGGRAPH 2018.[54] Previously MoltenVK was a proprietary and commercially licensed solution, but Valve made an arrangement with developer Brenwill Workshop Ltd to open-source MoltenVK under the Apache 2.0 license and as a result the library is now available on GitHub. Valve also announced that Dota 2 can as of 26 February 2018 run on macOS using the Vulkan API, which is based on MoltenVK.[55]

2019[edit]

On Feb 25, 2019, the Vulkan Safety Critical (SC) Working Group was announced to bring Vulkan GPU acceleration to safety critical industries.[56]

Google's Stadia streaming cloud gaming service uses Vulkan on Linux based servers with AMD GPUs.[57]

2020[edit]

On January 15, 2020, Vulkan 1.2 was released.

Alongside the Vulkan 1.2 release, the Khronos Group posted a blog post which considered that HLSL support in Vulkan had reached "production ready" status, given the improvements in Microsoft's DXC compiler and Khronos's glslang compiler, and new features in Vulkan 1.2 which enhance HLSL support.[58]

On February 3, 2020, the Raspberry Pi Foundation announced that it was working on an open source Vulkan driver for their Raspberry Pi, a popular single board computer.[59] On June 20, 2020, a graphics engineer revealed that he had created one after two years of work that was capable of running VkQuake3 at over 100FPS on the small computer.[60]

On March 17, 2020, Khronos Group released the Ray Tracing extensions by adopting previously existing Nvidia implementation with some minor changes.[61][62]

Software[edit]

Hardware[edit]

Initial specifications stated that Vulkan will work on hardware that currently supports OpenGL ES 3.1 or OpenGL 4.x and up.[63] 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 1.1 with higher efforts is supported by the newer lines in Hardware like Intel Skylake and higher, AMD GCN 3rd and higher, Nvidia Kepler and higher. AMD, Arm, Imagination Technologies, Intel, Nvidia and Qualcomm supports actual hardware since second half of 2018 Vulkan 1.1 with own drivers. Mesa 18.1 supports with RADV and ANVIL driver AMD and Intel hardware. Actual state in Mesa 3D of RADV and ANVIL see Mesamatrix.[64]

Android 7.0 Nougat supports Vulkan 1.0.[65] The software was released in August 2016.[66] Vulkan 1.1 is supported in Android 9.0 Pie.[67] Vulkan 1.1 support is mandatory for 64-bit devices running Android 10.[68]

Vulkan support for iOS and macOS has not been announced by Apple, but an open-source library exists which provides a Vulkan implementation that runs on top of Metal on iOS and macOS devices.[25]

Hardware support
Company Hardware Software support: Vulkan 1.0
Microarchitecture Available since GPUs (chips) Graphic cards / SoCs Android[a] Linux Microsoft Windows[b]
AMD
RDNA 1.0 July 2019 Navi 10, Navi 12, Navi 14 Radeon RX 5000 series N/A 1.0 and 1.1: AMDGPU PRO (Ubuntu & RHEL)[70][71]
& RADV in Mesa[72]
1.0 (1.1 GCN 2nd and higher) Radeon Software[73]
GCN 5th August 2017 Vega 10, Raven Ridge, Picasso Radeon RX Vega series,
GCN 4th June 2016 Polaris 10, Polaris 11, Polaris 12 Radeon RX 400 series, Radeon RX 500 series
GCN 3rd August 2014 Tonga, Fiji, Carrizo Radeon R9 Series and more
GCN 2nd March 2013 Bonaire, Hawaii, Kaveri, Kabini, Temash, Mullins, Beema, Carrizo-L Radeon HD 7790 and more, PlayStation 4, Xbox One Experimental 1.0 (GCN 1st and 2nd complete) and 1.1 (Partial Hardware dependent) with RADV in Mesa[74]
GCN 1st January 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
Nvidia
Ampere September 2020 GA10x GeForce 30 series 1.2: Nvidia GeForce driver 1.2: Nvidia GeForce driver
Turing September 2018 TU10x, TU11x GeForce 20 series, GeForce 16 series 1.1 and 1.2: Nvidia GeForce driver 1.1 and 1.2: Nvidia GeForce driver
Volta December 2017 GV10x Nvidia Titan V 1.0, 1.1 and 1.2: Nvidia GeForce driver 1.0, 1.1 and 1.2: Nvidia GeForce driver
Pascal May 2016 GP10x GeForce 10 series, Tegra X2 Yes 1.0, 1.1 and 1.2: Nvidia GeForce driver[75][76] 1.0, 1.1 and 1.2: Nvidia GeForce driver[76]
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
Intel Tiger Lake September 2020 Core i3-/i5-/i7-11xxGx, Yes Yes Yes
Ice Lake August 2019 Core i3-/i5-/i7-10xxGx, Yes Yes Yes
Comet Lake August 2019 Core i3-/i5-/i7-10000, Yes Yes Yes
Coffee Lake October 2017 Core i3-/i5-/i7-8000, Yes 1.0 and 1.1: Anvil in Mesa 18.1 Yes
Kaby Lake September 2016 Core i3-/i5-/i7-7000, Pentium xyz, Celeron xyz 1.0 Anvil in Mesa 17.1, 1.1 in Mesa 18.1[77] 1.0: Anvil in Mesa[78][79], 1.1 in Mesa 18.1 Intel Graphics driver[80]
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 1.0 Anvil in Mesa 17.1[77] 1.0: Anvil in Mesa[78][79] not supported
Haswell June 2013 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
Imagination Technologies
PowerVR Series 8 February 2016 GE8200, GE8300 PowerVR Graphics SDK v4.1[81]
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
Qualcomm
Adreno 600 series Adreno 616, 620, 630, 640, 650 Snapdragon 710, 712, 720, 730, 765, 845, 855, 865 1.1
Adreno 500 series Adreno 510, 512, 530, 540 Snapdragon 430, 625, 650, 652, 660,820, 821, 835 1.0[82]
Adreno 400 series Adreno 418, 420, 430 Snapdragon 415, 615, 616, 617, 805, 808, 810 1.0(Adreno 418,430)[83]
Adreno 300 series Snapdragon 200, 208, 210, 212, 400, 410, 412, 600, 800, 801 not supported
ARM
Bifrost[84] June 2016 Mali-G71, ... Kirin 960, 970, Exynos 8895, MediaTek Helio P23 (MT6763T), Helio P30 1.0[85]
Midgard 4th Q4 2015 Mali-T860, Mali-T830, Mali-T880 Exynos 8890, Exynos 7880, 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

See also[edit]

  • Direct3D 12 – main competitor of Vulkan
  • OpenGL – another graphics API by the Khronos Group
  • OpenCL – a heterogeneous computing framework by the Khronos Group
  • Mantle – a low-level graphics and compute API from AMD, the foundation of Vulkan
  • Metal – a low-level graphics and compute API for iOS and macOS
  • AMDGPU – AMD's fully open-source unified graphics driver for Linux

Notes[edit]

  1. ^ For Android Nougat and later.[69]
  2. ^ Drivers so far have supported Windows 7 and later.

References[edit]

  1. ^ a b "Khronos Releases Vulkan 1.0 Specification". Khronos Group Press Release. February 16, 2016.
  2. ^ "Vulkan® 1.2.153 - A Specification". Retrieved September 7, 2020.
  3. ^ "KhronosGroup/Vulkan-Docs". GitHub.
  4. ^ "Nintendo Switch Listed as Vulkan and OpenGL Conformant - My Nintendo News". mynintendonews.com. December 19, 2016.
  5. ^ Palumbo, Alessio (December 19, 2016). "Nintendo Switch Officially Supports Vulkan, OpenGL 4.5 & OpenGL ES". wccftech.com.
  6. ^ "The Khronos Group". khronos.org. April 28, 2018. Archived from the original on January 28, 2017. Retrieved February 28, 2018.
  7. ^ Bright, Peter & Walton, Mark (February 16, 2016). "Vulkan now official, with 1.0 API release and AMD driver [Updated]". Ars Technica. Retrieved February 18, 2016.
  8. ^ Valich, Theo (February 17, 2016). "Mantle Cycle is Complete as Khronos Releases Vulkan 1.0". VR World. Retrieved February 19, 2016.
  9. ^ "GitHub - KhronosGroup/MoltenVK: MoltenVK is an implementation of the high-performance, industry-standard Vulkan graphics and compute API, that runs on Apple's Metal graphics framework, bringing Vulkan to iOS and macOS". Retrieved September 12, 2019.
  10. ^ a b c d "More on Vulkan and SPIR - V: The future of high-performance graphics" (PDF). Khronos Group. p. 10. Archived (PDF) from the original on August 11, 2016. Retrieved June 27, 2015. Thanks AMD!
  11. ^ Hruska, Joel. "Next-generation Vulkan API could be Valve's killer advantage in battling Microsoft". ExtremeTech. Retrieved June 26, 2015.
  12. ^ "Vulkan: Graphics and compute Belong Together" (PDF). Khronos Group. March 2015. Archived (PDF) from the original on December 18, 2016. Retrieved March 5, 2015.
  13. ^ a b c "Vulkan – Graphics and compute belong together". Khronos Group. Retrieved March 5, 2015.
  14. ^ Smith, Ryan. "Khronos Announces Next Generation OpenGL Initiative". Retrieved September 24, 2016.
  15. ^ Batchelor, James (March 3, 2015). "glNext revealed as Vulkan graphics API". Develop.
  16. ^ Shilov, Anton. "AMD: Vulkan absorbed 'best and brightest' parts of Mantle". KitGuru. Retrieved June 26, 2015.
  17. ^ Mah Ung, Gordon (March 6, 2015). "Mantle is a Vulkan: AMD's dead graphics API rises from the ashes in OpenGL's successor". PC World.
  18. ^ "AMD Gaming: One of Mantle's Futures: Vulkan | AMD Blogs". AMD. Archived from the original on March 6, 2015. Retrieved March 5, 2015.
  19. ^ Hruska, Joel (March 4, 2015). "Not dead yet: AMD's Mantle powers new Vulkan API, VR efforts". ExtremeTech. Retrieved March 5, 2015.
  20. ^ "AMD's Mantle Lives On In Vulkan - Lays The Foundation For The Next OpenGL". Wccftech. June 20, 2014. Archived from the original on August 19, 2020. Retrieved March 5, 2015.
  21. ^ Kirsch, Nathan. "Is AMD Mantle Dead As We Have Known It? Vulcan API Uses Mantle Technology for OpenGL". Legit Reviews. Retrieved March 5, 2015.
  22. ^ "MoltenVK, popular Vulkan development tool for macOS, goes open-source". Neowin. Retrieved February 28, 2018.
  23. ^ "Vulkan graphics will enable faster games and apps on Apple platforms". VentureBeat. February 26, 2018. Retrieved February 28, 2018.
  24. ^ "Vulkan Is Now Available On macOS/iOS By MoltenVK Being Open-Sourced, Vulkan SDK for Mac - Phoronix". www.phoronix.com. Retrieved February 28, 2018.
  25. ^ a b "MoltenVK". Molten. Archived from the original on January 5, 2018. Retrieved April 5, 2016.
  26. ^ "Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API". Tom's Hardware. March 3, 2015.
  27. ^ "Vulkan: High efficiency on mobile". Imagination Technologies. November 5, 2015. Archived from the original on November 9, 2015. Retrieved January 23, 2016.
  28. ^ "Vulkan: Scaling to multiple threads". Imagination Technologies. November 24, 2015. Archived from the original on November 26, 2015. Retrieved January 23, 2016.
  29. ^ Kessenich, John. "An Introduction to SPIR-V" (PDF). Khronos Group. Retrieved March 5, 2015.
  30. ^ "FOSDEM 2016 - Vulkan in Open-Source". FOSDEM. Retrieved February 27, 2016.
  31. ^ "Transitioning from OpenGL to Vulkan". Nvidia.
  32. ^ "AMD Vulkan API". AMD.
  33. ^ "Vulkan Next will bring better support for VR and multiple GPUs". PC World.
  34. ^ Smith, Daniel Williams, Ryan. "Ashes of the Singularity Revisited: A Beta Look at Direct3D 12 & Asynchronous Shading". AnandTech.
  35. ^ "Khronos Group Releases Vulkan 1.1". The Khronos Group (Press release). March 7, 2018. Retrieved March 21, 2018.
  36. ^ a b Larabel, Michael (March 7, 2018). "Vulkan 1.1 Released As The First Major Update To This Graphics/Compute API". Phoronix. Retrieved March 7, 2018.
  37. ^ Larabel, Michael (September 19, 2018). "Vulkan 1.1.85 Released With Raytracing, Mesh Shaders & Other New NVIDIA Extensions". Phoronix. Retrieved September 19, 2018.
  38. ^ Larabel, Michael (November 4, 2018). "Vulkan 1.1.91 Released With NV_ray_tracing, AMD Memory Overallocation Behavior". Phoronix. Retrieved November 4, 2018.
  39. ^ Bright, Peter (March 7, 2018). "Vulkan 1.1 out today, with multi-GPU support, better DirectX compatibility". Ars Terchnica. Retrieved March 7, 2018.
  40. ^ "Khronos Group Releases Vulkan 1.2". The Khronos Group (Press release). January 15, 2020. Retrieved February 27, 2020.
  41. ^ "Vulkan 1.2 Arrives With An Eye On Greater Performance, Better Compatibility With Other 3D APIs On Top". Phoronix (Press release). January 15, 2020. Retrieved February 27, 2020.
  42. ^ "Breaking: OpenCL Merging Roadmap into Vulkan | PC Perspective". www.pcper.com. Archived from the original on November 1, 2017. Retrieved May 17, 2017.
  43. ^ "SIGGRAPH 2018: OpenCL-Next Taking Shape, Vulkan Continues Evolving - Phoronix". www.phoronix.com.
  44. ^ Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders: google/clspv, August 17, 2019, retrieved August 20, 2019
  45. ^ "Vulkan Update SIGGRAPH 2019" (PDF).
  46. ^ SIGGRAPH 2015: 3D Graphics API State of the Union (Video). SIGGRAPH 2015. Khronos Group. September 16, 2015. Event occurs at 57:24. Retrieved November 12, 2015 – via YouTube.
  47. ^ "US Patent and Trademark Office". Archived from the original on May 11, 2013. Retrieved March 7, 2015.
  48. ^ Batchelor, James. "glNext revealed as Vulkan graphics API | Latest news from the game development industry | Develop". Develop. Retrieved March 5, 2015.
  49. ^ Larabel, Michael (March 5, 2015). "Valve Developed An Intel Linux Vulkan GPU Driver". Phoronix. Retrieved August 8, 2017.
  50. ^ Larabel, Michael (March 12, 2015). "Learning More About The Intel Vulkan Driver, Linux Vulkan Plans". Phoronix. Retrieved August 8, 2017.
  51. ^ "Evan Odabashian on Twitter". Archived from the original on August 19, 2020. Retrieved July 22, 2015.
  52. ^ Woods, Shannon (August 12, 2015). "Low-overhead rendering with Vulkan". Android Developers Blog.
  53. ^ Bright, Peter (February 26, 2018). "Vulkan is coming to macOS and iOS, but no thanks to Apple". Ars Technica. Retrieved February 26, 2018.
  54. ^ https://www.khronos.org/assets/uploads/developers/library/2018-siggraph/Vulkan-and-OpenGL-BOF-SIGGRAPH_Aug18.pdf
  55. ^ Larabel, Michael (February 26, 2018). "Vulkan Is Now Available On macOS/iOS By MoltenVK Being Open-Sourced, Vulkan SDK for Mac". Phoronix. Retrieved February 26, 2018.
  56. ^ "Khronos Group Begins Work on a New Standards Initiative to Bring Vulkan GPU Acceleration to Safety Critical Industries". The Khronos Group. February 25, 2019. Retrieved August 3, 2019.
  57. ^ Citation error. See inline comment how to fix.[verification needed]
  58. ^ "HLSL as a First Class Vulkan Shading Language". The Khronos Group. January 15, 2020. Retrieved March 31, 2020.
  59. ^ February 2020, Nathaniel Mott 03. "Raspberry Pi to Get Vulkan Graphics Driver (Eventually)". Tom's Hardware. Archived from the original on August 19, 2020. Retrieved June 20, 2020.
  60. ^ June 2020, Zhiye Liu 20. "Nvidia Engineer's Vulkan Driver For Raspberry Pi Runs Quake III Over 100 FPS at 720p". Tom's Hardware. Archived from the original on August 19, 2020. Retrieved June 20, 2020.
  61. ^ "Khronos Group Releases Vulkan Ray Tracing". The Khronos Group. March 17, 2020.
  62. ^ "Vulkan Ray-Tracing Arrives With New Khronos Extension - Phoronix". www.phoronix.com. Retrieved March 17, 2020.
  63. ^ "Vulkan Overview" (PDF). Khronos Group. June 2015. Retrieved August 18, 2015. p. 19 "Vulkan Status"
  64. ^ "Mesamatrix: The OpenGL vs Mesa matrix". mesamatrix.net.
  65. ^ "Android N's second preview build supports Vulkan and new emoji". Ars Technica.
  66. ^ "Final Developer Preview before Android 7.0 Nougat begins rolling out". July 19, 2016.
  67. ^ "Support for Vulkan Graphics API 1.1 is coming in Android P". April 8, 2018.
  68. ^ "What's New in Android: Q Beta 3 & More".
  69. ^ "The Android platform includes an Android-specific implementation of the Vulkan API specification from the Khronos Group". April 5, 2016.
  70. ^ Larabel, Michael (October 27, 2016). "AMDGPU-PRO 16.40 Released For Ubuntu & Red Hat Linux Systems". Phoronix. Retrieved August 8, 2017.
  71. ^ "Radeon GPUs are ready for the Vulkan graphics API". Community. AMD.
  72. ^ Larabel, Michael (August 30, 2016). "Testing The Open-Source "RADV" Radeon Vulkan Driver vs. AMDGPU-PRO". Phoronix. Retrieved August 8, 2017.
  73. ^ "AMD Radeon Software version 16.15.1009 supports Vulkan". February 16, 2016. Archived from the original on February 25, 2016. Retrieved February 18, 2016.
  74. ^ "AMDGPU+RADV Linux Gaming On GCN 1.0/1.1, 25-Way Warhammer II GPU Benchmarks - Phoronix". www.phoronix.com.
  75. ^ "NVIDIA DRIVERS Linux x64 (AMD64/EM64T) Display Driver". Nvidia.
  76. ^ a b "Vulkan Driver Support". NVIDIA Developer. Nvidia. Archived from the original on April 8, 2016. Retrieved April 4, 2016.
  77. ^ a b "android: add vulkan build for intel". January 31, 2017.
  78. ^ a b "Open-source Vulkan drivers for Intel hardware". February 16, 2016.
  79. ^ a b Larabel, Michael (July 8, 2016). "Mesa 12.0 Released With OpenGL 4.3 Support, Intel Vulkan & Many Other Features". Phoronix. Retrieved August 8, 2017.
  80. ^ "15.45.14.4590: Intel Graphics Driver for Windows 7/8.1/10 (Vulkan Support)". Intel. Archived from the original on August 9, 2017. Retrieved February 14, 2017.
  81. ^ "Imagination announces Vulkan SDK for PowerVR Rogue GPUs". Imagination Blog. PowerVR Developer Technology Team. March 16, 2016. Retrieved June 14, 2018.
  82. ^ Incorporated, Qualcomm. "Qualcomm Announces Vulkan API Support on the Adreno 530 GPU". www.prnewswire.com.
  83. ^ "Devices - Vulkan Hardware Database by Sascha Willems". vulkan.gpuinfo.org.
  84. ^ "ARM Bifrost GPU Architecture". May 30, 2016. Archived from the original on October 21, 2016. Retrieved June 5, 2016.
  85. ^ "ARM® Mali™GPUs with Vulkan Conformance".

Further reading[edit]

  • Vulkan Programming Guide: The Official Guide to Learning Vulkan (OpenGL), Nov 10, 2016, by Graham Sellers and John Kessenich ISBN 978-0-1344-64541
  • Introduction to Computer Graphics and the Vulkan API, Jul 1, 2017, by Kenwright ISBN 978-1-5486-16175
  • Vulkan Cookbook, Apr 28, 2017, by Pawel Lapinski ISBN 978-1-7864-68154

External links[edit]