Software:Vulkan (API)

From HandWiki
Short description: Cross-platform 3D graphics and computing programming interface

User:RMCD bot/subject notice

Vulkan
Vulkan logo.svg
Original author(s)AMD, DICE (original Mantle design)
Developer(s)Khronos Group (donated and derived variant, as Vulkan)
Initial releaseFebruary 16, 2016; 8 years ago (2016-02-16)[1]
Stable release1.3.277 (February 1, 2024; 2 months ago (2024-02-01)[2]) [±]
Written inC[3]
Operating systemAndroid, Linux, Fuchsia, BSD Unix,[4] QNX,[5] Windows, Nintendo Switch,[6][7][8] Stadia, Tizen,[9][10] macOS,[11] IOS,[11] Raspberry Pi[12]
Type3D graphics and compute API[13]
LicenseApache License 2.0[14]
Websitevulkan.org

Vulkan (German for "volcano") is a low-overhead, cross-platform API, open standard for 3D graphics and computing.[15][16][17] Vulkan targets high-performance real-time 3D graphics applications, such as video games and interactive media. In contrast to the older OpenGL and Direct3D 11 APIs, Vulkan is intended to offer higher performance and more balanced CPU and GPU usage. It provides a considerably lower-level API and parallel tasking for the application, comparable to Metal and Direct3D 12. In addition to its lower CPU usage, Vulkan is designed to allow developers to better distribute work among multiple CPU cores.[18]

Vulkan was first announced by the non-profit Khronos Group at GDC 2015.[13][19][20] The Vulkan API was initially referred to as the "next generation OpenGL initiative", or "OpenGL next"[21] by Khronos, but use of those names was discontinued when Vulkan was announced.[22]

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

Vulkan is not backwards compatible with OpenGL.[23][17][note 1]

Features

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.[20] 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 the following.

Unified API

A single API for both desktop and mobile graphics devices, whereas previously these were split between OpenGL and OpenGL ES respectively.

Cross platform

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, BSD Unix, QNX, Nintendo Switch, Raspberry Pi, Stadia, Fuchsia, Tizen, Windows 7, Windows 8, and Windows 10 (MoltenVK provides freely-licensed[24][25][26] third-party support for iOS and macOS based on Metal[27])[28]

Lower CPU usage

Reduced driver overhead, reducing CPU workloads.[29]

Reduced load on CPUs through the use of batching, leaving the CPU free to do more computation or rendering than otherwise.[30]

Multithread-friendly

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.[31][28]

Precompiled shaders

OpenGL uses the high-level language GLSL for writing shaders, which forces each OpenGL driver to implement its own compiler for GLSL. This then executes at application runtime to translate the program's shaders into the GPU's machine code. Contrasted to 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).[32] The developers of applications now can hide proprietary shader code.[28][17]

Others

  • Unified management of compute kernels and graphical shaders, eliminating the need to use a separate compute API in conjunction with a graphics API.
  • Ray tracing through the VK_KHR_ray_tracing[33] extension

OpenGL vs Vulkan

OpenGL Vulkan[34]
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."[35]

AMD claims 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."[36]

Versions

Vulkan 1.1

At SIGGRAPH 2016, Khronos announced that Vulkan would be getting support for automatic multi-GPU features, similar to what is offered by Direct3D 12.[37] 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.[38] 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.[39] 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.[40] At the same time, it also brought better compatibility with DirectX 12, explicit multi-GPU support, ray tracing support,[41][42] and laid the groundwork for the next generation of GPUs.[43] Alongside Vulkan 1.1, SPIR-V was updated to version 1.3.[40]

Vulkan 1.2

On January 15, 2020, Vulkan 1.2[44] was released by the Khronos Group.[45] 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".[46]

Planned features

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.[47][48] This has been now demonstrated by Adobe's Premiere Rush using the clspv[49] open source compiler to compile significant amounts of OpenCL C kernel code to run on a Vulkan runtime for deployment on Android.[50]

History

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

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

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

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

On August 10, 2015, Google announced that future versions of Android would support Vulkan.[57] 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.[20]

2016

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

2018

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.[58] Other new developments were shown at SIGGRAPH 2018.[59] 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.[60]

2019

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

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

2020

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

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.[64] 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.[65]

On March 17, 2020, Khronos Group released the Ray Tracing extensions by adopting previously existing Nvidia implementation with some minor changes.[66][67] On November 23, 2020, these Ray Tracing extensions were finalized.[68]

On November 24, 2020, Raspberry Pi Foundation announced that their driver for the Raspberry Pi 4 is Vulkan 1.0 conformant.[69]

Support across vendors

Screenshot of vulkaninfo, showing information about supported Vulkan instances

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

Intel, Nvidia and AMD

All three major PC vendors provide free of charge the Vulkan API implementations in the form of drivers for the Linux and Windows systems.[23] Vulkan 1.1 is supported by the newer lines of hardware like Intel Skylake and higher, AMD GCN 2nd and higher, and Nvidia Kepler and higher. AMD, Arm, Imagination Technologies, Intel, Nvidia and Qualcomm support actual hardware since the second half of 2018 with Vulkan 1.1 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.[71]

Google Android

Many Android devices' hardware support OpenGL ES specification. Examples Android 7.0 Nougat (Vulkan 1.0).[72] Android 9.0 Pie and Android 10 for Vulkan 1.1.[73][74]

Apple

As of June 3, 2021, there is no native support for Vulkan API provided by Apple devices.[75] Support for iOS and macOS has not been announced by Apple. There is an attempt to work around this problem with an open-source library MoltenVK which provides Vulkan implementation on top of Metal graphics API on iOS and macOS devices, though it has some limitations.[27]

Qualcomm

Adreno 5xx (2018) and 6xx series for mobile Qualcomm Snapdragon platforms (Snapdragon 820 etc.) GPUs support Vulkan 1.1 via its Adreno GPU SDK.[17][76] The SDK is based on Android Studio IDE and Android NDK is needed to utilize all its features.[28]

See also

Notes

  1. The process of setting up a graphics rendering pipeline doesn't differ drastically from OpenGL [ES] ones. E.g. shaders written in GLSL still can be reused: the source code can be compiled/translated by a standalone compiler into a new intermediate binary format called SPIR-V, which can be then consumed by Vulkan API.

References

  1. 1.0 1.1 "Khronos Releases Vulkan 1.0 Specification". Khronos Group Press Release. February 16, 2016. https://www.khronos.org/news/press/khronos-releases-vulkan-1-0-specification. 
  2. "Vulkan® 1.3.277 - A Specification". https://www.khronos.org/registry/vulkan/specs/1.3/html/vkspec.html. 
  3. "KhronosGroup/Vulkan-Docs". October 10, 2021. https://github.com/KhronosGroup/Vulkan-Docs. 
  4. "Vulkan on FreeBSD". June 1, 2021. https://vulkan.gpuinfo.org/displayreport.php?id=11577/. 
  5. "Vulkan on QNX". July 14, 2021. https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VK_QNX_screen_surface.html. 
  6. "Nintendo Switch Listed as Vulkan and OpenGL Conformant - My Nintendo News". Excite Global Media. December 19, 2016. https://mynintendonews.com/2016/12/19/nintendo-switch-listed-as-vulkan-and-opengl-conformant/. 
  7. Palumbo, Alessio (December 19, 2016). "Nintendo Switch Officially Supports Vulkan, OpenGL 4.5 & OpenGL ES". https://wccftech.com/nintendo-switch-supports-vulkan/. 
  8. "Conformant Products". The Khronos Group. April 28, 2018. https://www.khronos.org/conformance/adopters/conformant-products#submission_129. 
  9. Bright, Peter; Walton, Mark (February 16, 2016). "Vulkan now official, with 1.0 API release and AMD driver [Updated"]. Condé Nast. https://arstechnica.com/gaming/2016/02/vulkan-gets-official-with-1-0-release-and-amd-driver/. 
  10. Valich, Theo (February 17, 2016). "Mantle Cycle is Complete as Khronos Releases Vulkan 1.0". http://vrworld.com/2016/02/17/mantle-complete-khronos-releases-vulkan/. 
  11. 11.0 11.1 "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.". https://github.com/KhronosGroup/MoltenVK. 
  12. "Vulkan on Raspberry Pi". July 14, 2021. https://www.raspberrypi.com/news/vulkan-update-were-conformant/. 
  13. 13.0 13.1 13.2 13.3 "More on Vulkan and SPIR - V: The future of high-performance graphics". Khronos Group. p. 10. https://www.khronos.org/assets/uploads/developers/library/2015-gdc/Khronos-Vulkan-GDC_Mar15.pdf. "Thanks AMD!" 
  14. "LICENSE file". 2018-10-03. https://github.com/KhronosGroup/Vulkan-Headers/blob/master/LICENSE.txt. 
  15. "Vulkan" (in en). 2015-12-02. https://developer.nvidia.com/vulkan. 
  16. "Vulkan®" (in en-GB). https://gpuopen.com/vulkan/. 
  17. 17.0 17.1 17.2 17.3 "Developing 3D Graphics with Vulkan on Mobile" (in en). https://developer.qualcomm.com/blog/developing-3d-graphics-vulkan-mobile. 
  18. Hruska, Joel. "Next-generation Vulkan API could be Valve's killer advantage in battling Microsoft". ExtremeTech. http://www.extremetech.com/gaming/200836-next-generation-vulkan-api-could-be-valves-killer-advantage-in-battling-microsoft. 
  19. "Vulkan: Graphics and compute Belong Together". Khronos Group. March 2015. https://www.khronos.org/assets/uploads/developers/library/overview/2015_vulkan_v1_Overview.pdf. 
  20. 20.0 20.1 20.2 "Vulkan – Graphics and compute belong together". Khronos Group. https://www.khronos.org/vulkan. 
  21. Smith, Ryan. "Khronos Announces Next Generation OpenGL Initiative". http://www.anandtech.com/show/8363/khronos-announces-next-generation-opengl-initiative. 
  22. Batchelor, James (March 3, 2015). "glNext revealed as Vulkan graphics API". Develop. http://www.develop-online.net/news/glnext-revealed-as-vulkan-graphics-api/0203867. 
  23. 23.0 23.1 Tim Anderson (March 3, 2015). "Here comes Vulkan: The next generation of the OpenGL graphics API" (in en). https://www.theregister.com/2015/03/03/here_comes_vulkan_the_next_generation_of_the_opengl_graphics_api/. 
  24. "MoltenVK, popular Vulkan development tool for macOS, goes open-source" (in en). Neowin. https://www.neowin.net/news/moltenvk-popular-vulkan-development-tool-for-macos-goes-open-source. 
  25. "Vulkan graphics will enable faster games and apps on Apple platforms" (in en-US). VentureBeat. 2018-02-26. https://venturebeat.com/2018/02/26/vulkan-will-enable-faster-games-and-apps-on-apple-platforms/. 
  26. "Vulkan Is Now Available On macOS/iOS By MoltenVK Being Open-Sourced, Vulkan SDK for Mac - Phoronix" (in en). https://www.phoronix.com/scan.php?page=article&item=vulkan-on-mac&num=1. 
  27. 27.0 27.1 "MoltenVK". Molten. https://moltengl.com/moltenvk/. 
  28. 28.0 28.1 28.2 28.3 "Adreno Vulkan Developer Guide". August 31, 2017. pp. 9–10, 22. https://developer.qualcomm.com/qfile/34706/80-nb295-7_a-adreno_vulkan_developer_guide.pdf. 
  29. "Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API". Tom's Hardware. March 3, 2015. http://www.tomshardware.com/news/khronos-group-vulkan-graphics-api,28678.html. 
  30. "Vulkan: High efficiency on mobile". Imagination Technologies. November 5, 2015. http://blog.imgtec.com/powervr/vulkan-high-efficiency-on-mobile. 
  31. "Vulkan: Scaling to multiple threads". Imagination Technologies. November 24, 2015. http://blog.imgtec.com/powervr/vulkan-scaling-to-multiple-threads. 
  32. Kessenich, John. "An Introduction to SPIR-V". Khronos Group. https://www.khronos.org/registry/spir-v/papers/WhitePaper.pdf. 
  33. "Ray tracing in Vulkan". Khronos Group. https://www.khronos.org/blog/ray-tracing-in-vulkan. 
  34. "FOSDEM 2016 - Vulkan in Open-Source". FOSDEM. https://fosdem.org/2016/schedule/event/vulkan_graphics/. 
  35. "Transitioning from OpenGL to Vulkan". Nvidia. https://developer.nvidia.com/transitioning-opengl-vulkan. 
  36. "AMD Vulkan API". AMD. https://www.amd.com/en/technologies/vulkan. 
  37. "Vulkan Next will bring better support for VR and multiple GPUs". PC World. http://www.pcworld.com/article/3101843/software-games/vulkan-next-will-bring-better-support-for-vr-and-multiple-gpus.html. 
  38. Smith, Daniel Williams, Ryan. "Ashes of the Singularity Revisited: A Beta Look at Direct3D 12 & Asynchronous Shading". AnandTech. http://www.anandtech.com/show/10067/ashes-of-the-singularity-revisited-beta/4. 
  39. "Khronos Group Releases Vulkan 1.1". The Khronos Group (Press release). 2018-03-07. Archived from the original on 2021-10-20. Retrieved 2018-03-21.
  40. 40.0 40.1 Larabel, Michael (March 7, 2018). "Vulkan 1.1 Released As The First Major Update To This Graphics/Compute API". Phoronix. https://www.phoronix.com/scan.php?page=article&item=khr-vulkan-11&num=1. 
  41. Larabel, Michael (September 19, 2018). "Vulkan 1.1.85 Released With Raytracing, Mesh Shaders & Other New NVIDIA Extensions". Phoronix. https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-1.1.85-Released. 
  42. Larabel, Michael (November 4, 2018). "Vulkan 1.1.91 Released With NV_ray_tracing, AMD Memory Overallocation Behavior". Phoronix. https://www.phoronix.com/scan.php?page=news_item&px=Vulkan-1.1.91-Released. 
  43. Bright, Peter (March 7, 2018). "Vulkan 1.1 out today, with multi-GPU support, better DirectX compatibility". Ars Terchnica. https://arstechnica.com/gadgets/2018/03/vulkan-1-1-adds-multi-gpu-directx-compatibility-as-khronos-looks-to-the-future/. 
  44. "Vulkan 1.2 Specifications Released | Geeks3D". https://www.geeks3d.com/20200115/vulkan-1-2-specifications-released/. 
  45. "Khronos Group Releases Vulkan 1.2". The Khronos Group (Press release). 2020-01-15. Archived from the original on 2021-10-20. Retrieved 2020-02-27.
  46. "Vulkan 1.2 Arrives With An Eye On Greater Performance, Better Compatibility With Other 3D APIs On Top". Phoronix (Press release). 2020-01-15. Retrieved 2020-02-27.
  47. "Breaking: OpenCL Merging Roadmap into Vulkan | PC Perspective". https://www.pcper.com/reviews/General-Tech/Breaking-OpenCL-Merging-Roadmap-Vulkan. 
  48. "SIGGRAPH 2018: OpenCL-Next Taking Shape, Vulkan Continues Evolving - Phoronix". https://www.phoronix.com/scan.php?page=article&item=siggraph-2018-khr&num=2. 
  49. Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders: google/clspv, 2019-08-17, https://github.com/google/clspv, retrieved 2019-08-20 
  50. "Vulkan Update SIGGRAPH 2019". https://www.khronos.org/assets/uploads/developers/library/2019-siggraph/Vulkan-01-Update-SIGGRAPH-Jul19.pdf. 
  51. 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.
  52. "US Patent and Trademark Office". http://tsdr.uspto.gov/#caseNumber=86539994&caseType=SERIAL_NO&searchType=statusSearch. 
  53. Batchelor, James. "glNext revealed as Vulkan graphics API | Latest news from the game development industry | Develop". Develop. http://www.develop-online.net/news/glnext-revealed-as-vulkan-graphics-api/0203867. 
  54. Larabel, Michael (March 5, 2015). "Valve Developed An Intel Linux Vulkan GPU Driver". Phoronix. https://www.phoronix.com/scan.php?page=news_item&px=valve-intel-vulkan-driver. 
  55. Larabel, Michael (March 12, 2015). "Learning More About The Intel Vulkan Driver, Linux Vulkan Plans". Phoronix. https://www.phoronix.com/scan.php?page=news_item&px=LunarG-Vulkan-AMA. 
  56. "Evan Odabashian on Twitter". https://twitter.com/eodabash/status/573178560283717632. 
  57. Woods, Shannon (August 12, 2015). "Low-overhead rendering with Vulkan". Android Developers Blog. http://android-developers.blogspot.com/2015/08/low-overhead-rendering-with-vulkan.html. 
  58. Bright, Peter (February 26, 2018). "Vulkan is coming to macOS and iOS, but no thanks to Apple". Ars Technica. https://arstechnica.com/gadgets/2018/02/vulkan-is-coming-to-macos-ios-but-no-thanks-to-apple/. 
  59. https://www.khronos.org/assets/uploads/developers/library/2018-siggraph/Vulkan-and-OpenGL-BOF-SIGGRAPH_Aug18.pdf
  60. Larabel, Michael (February 26, 2018). "Vulkan Is Now Available On macOS/iOS By MoltenVK Being Open-Sourced, Vulkan SDK for Mac". Phoronix. https://www.phoronix.com/scan.php?page=article&item=vulkan-on-mac&num=1. 
  61. "Khronos Group Begins Work on a New Standards Initiative to Bring Vulkan GPU Acceleration to Safety Critical Industries" (in en). 2019-02-25. https://www.khronos.org/news/press/khronos-group-begins-work-on-a-new-standards-initiative-to-bring-vulkan-gpu-acceleration-to-safety-critical-industries. 
  62. Citation error. See inline comment how to fix. [verification needed]
  63. "HLSL as a First Class Vulkan Shading Language" (in en). 2020-01-15. https://www.khronos.org/blog/hlsl-first-class-vulkan-shading-language. 
  64. February 2020, Nathaniel Mott 03. "Raspberry Pi to Get Vulkan Graphics Driver (Eventually)". https://www.tomshardware.com/news/raspberry-pi-vulkan-graphics-driver-release. 
  65. June 2020, Zhiye Liu 20. "Nvidia Engineer's Vulkan Driver For Raspberry Pi Runs Quake III Over 100 FPS at 720p". https://www.tomshardware.com/news/nvidia-engineer-vulkan-driver-raspberry-pi-quake-iii-100-fps. 
  66. "Khronos Group Releases Vulkan Ray Tracing". March 17, 2020. https://www.khronos.org/news/press/khronos-group-releases-vulkan-ray-tracing. 
  67. "Vulkan Ray-Tracing Arrives With New Khronos Extension - Phoronix". https://www.phoronix.com/scan.php?page=article&item=vulkan-ray-tracing&num=1. 
  68. "Vulkan Ray Tracing Final Specification Release". November 23, 2020. https://www.khronos.org/blog/vulkan-ray-tracing-final-specification-release. 
  69. "Vulkan update: we're conformant!". November 24, 2020. https://www.raspberrypi.com/news/vulkan-update-were-conformant/. 
  70. "Vulkan Overview". Khronos Group. June 2015. https://www.khronos.org/assets/uploads/developers/library/overview/vulkan-overview.pdf.  p. 19 "Vulkan Status"
  71. "Mesamatrix: The OpenGL vs Mesa matrix". https://mesamatrix.net/. 
  72. "Android N's second preview build supports Vulkan and new emoji". Ars Technica. https://arstechnica.com/gadgets/2016/04/android-ns-second-preview-build-supports-vulkan-and-new-emoji/. 
  73. "Support for Vulkan Graphics API 1.1 is coming in Android P". April 8, 2018. https://www.xda-developers.com/vulkan-graphics-api-1-1-android-p/. 
  74. "What's New in Android: Q Beta 3 & More". https://android-developers.googleblog.com/2019/05/whats-new-in-android-q-beta-3-more.html. 
  75. "The State of Vulkan on Apple Devices". LunarG. June 2021. https://www.lunarg.com/wp-content/uploads/2021/06/The-State-of-Vulkan-on-Apple-03June-2021.pdf. 
  76. "Adreno GPU SDK" (in en). https://developer.qualcomm.com/software/adreno-gpu-sdk. 

Further reading

  • Vulkan Programming Guide: The Official Guide to Learning Vulkan (OpenGL), Nov 10, 2016, by Graham Sellers and John Kessenich ISBN:978-0-1344-64541
  • Learning Vulkan, Dec 2016, by Parminder Singh ISBN:978-1-78646-980-9
  • 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

  • No URL found. Please specify a URL here or add one to Wikidata.