fbpx
Wikipedia

Vulkan

Vulkan is a low-level low-overhead, cross-platform API and open standard for 3D graphics and computing.[16][17][18] It was originally developed as Mantle by AMD, but was later given to Khronos Group. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, it is also designed to work with modern multi-core CPUs.

Vulkan
Original author(s)AMD, DICE (original Mantle design)
Developer(s)Khronos Group (donated and derived variant, as Vulkan)
Initial releaseFebruary 16, 2016; 7 years ago (2016-02-16)[1]
Stable release1.3.274 (December 19, 2023; 14 days ago (2023-12-19)[2]) [±]
Repository
  • github.com/KhronosGroup/Vulkan-Headers
Written inC[3]
Operating systemAndroid, Linux, Haiku, Fuchsia, BSD Unix,[4] QNX,[5] Windows, Nintendo Switch,[6][7][8] Stadia, Tizen,[9][10] macOS,[11] iOS,[11] iPadOS,[11] tvOS,[11] Raspberry Pi,[12] vxWorks[13]
Type3D graphics and compute API[14]
LicenseApache License 2.0[15]
Websitevulkan.org

Overview edit

Vulkan targets high-performance real-time 3D-graphics applications, such as video games and interactive media, and highly parallelized computing. Vulkan is intended to offer higher performance and more efficient CPU and GPU usage compared to the older OpenGL and Direct3D 11 APIs. It does so by providing a considerably lower-level API for the application than the older APIs that more closely resembles how modern GPUs work.

Vulkan is comparable to Apple's Metal API and Microsoft's Direct3D 12, and is harder to use than the higher-level OpenGL and Direct3D 11 APIs.[according to whom?] In addition to its lower CPU usage, Vulkan is designed to allow developers to better distribute work among multiple CPU cores.[19]

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

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

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

Intended advantages of Vulkan over previous-generation APIs include the following:

Unified API edit

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

Cross platform edit

Vulkan is available on multiple modern operating systems. Like OpenGL, and in contrast to Direct3D 12, the Vulkan API is not locked to a single OS or device form factor. Vulkan runs natively on Android, Linux, BSD Unix, QNX, Haiku,[24] Nintendo Switch, Raspberry Pi, Stadia, Fuchsia, Tizen, and Windows 7, 8, 10, and 11. MoltenVK provides freely-licensed[25][26][27] third-party support for macOS, iOS and tvOS by wrapping over Apple's Metal API.[28]

Lower CPU usage edit

Vulkan reduces load on CPUs through the use of batching and other low-level optimizations, therefore reducing CPU workloads and leaving the CPU free to do more computation or rendering than would otherwise be possible.[29][30]

Multi-threading friendly design edit

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, these APIs regularly do not scale well on multi-cores. Vulkan offers improved scalability on multi-core CPUs due to the modernized threading architecture.[31][32]

Pre-compiled shaders edit

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. In contrast, 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 perform GPU specific optimization and code generation, resulting in easier driver maintenance, and potentially smaller driver packages.[33] The developers of applications now can also more easily obfuscate proprietary shader code, due to shaders not being stored directly as source code, however tools are provided that can decompile SPIR-V to human-readable high-level code.[32][18]

Others edit

  • Vulkan provides 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 is provided in a set of cross-vendor extensions, which together are analogous to the OptiX and DirectX Raytracing APIs.[34] No such functionality is exposed in OpenGL.

OpenGL vs. Vulkan edit

OpenGL Vulkan[35]
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 states 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."[36][37]

AMD states 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."[38]

Versions edit

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.[39] 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.[40] 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.[41] 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.[42] At the same time, it also brought better compatibility with DirectX 12, explicit multi-GPU support, ray tracing support,[43][44] and laid the groundwork for the next generation of GPUs.[45] Alongside Vulkan 1.1, SPIR-V was updated to version 1.3.[42]

Vulkan 1.2 edit

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

Vulkan 1.3 edit

On January 25, 2022, Vulkan 1.3 was released by the Khronos Group.[49] This third major update to the API integrates 23 additional commonly-used proven Vulkan extensions into the base Vulkan standard.[50] Vulkan 1.3 focuses on reducing fragmentation by making the new features not optional in order for a device to be considered Vulkan 1.3 capable.[49][51] The new features in Vulkan 1.3 include dynamic rendering, additional dynamic state, improved synchronization API, and device profiles.

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

History edit

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

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

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

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

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

2016 edit

The full Vulkan 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.[63] Other new developments were shown at SIGGRAPH 2018.[64] 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 February 26, 2018 run on macOS using the Vulkan API, which is based on MoltenVK.[65]

2019 edit

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

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

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

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.[69] 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.[70]

On March 17, 2020, Khronos Group released the Ray Tracing extensions, based on Nvidia's proprietary extension, with some major extensions and many minor changes, which in turn was based on Nvidia's OptiX API.[71][72] On November 23, 2020, these Ray Tracing extensions were finalized.[73]

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

2022 edit

On January 25, 2022, Vulkan 1.3 was released.

On March 1, 2022, Vulkan SC 1.0 was released, bringing Vulkan graphics and compute for the safety-critical industry while being based on the Vulkan 1.2 standard.[75]

On August 1, 2022, Raspberry Pi Foundation announced that their driver for the Raspberry Pi 4 is Vulkan 1.2 conformant.[76]

On September 1, 2022, Mesh Shading for Vulkan was released.[77][78]

Support across vendors edit

 
Screenshot of vulkaninfo, showing information about supported Vulkan instances and vkcube, a program to test Vulkan implementation on a system

Initial specifications stated that Vulkan drivers can be implemented on any hardware that supports OpenGL ES 3.1 or OpenGL 4.x and up.[79] 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 edit

As of March 2023, Intel has split Vulkan driver support on Windows[80] and on Linux.[81] All drivers are developed by Intel.

On Windows, Skylake through Ice Lake supports up to Vulkan 1.3,[82] with limited support after July 2022 as future updates will only cover security fixes.[80] Iris and newer are fully supported as of March 2023.[83]

On Linux, as of March 2023 there is incomplete Vulkan support for Haswell[84] with it not being Vulkan 1.0 compliant.[85] Apart from Haswell, Ivy Bridge and Broadwell are also supported by a legacy Vulkan driver in Mesa called HASVK.[81] Skylake and newer being supported by a driver in Mesa called ANV.[81]

AMD edit

On Windows, Vulkan 1.2 is supported from GCN 1.0 to GCN 3.0,[86][87][88] with no further updates planned after June 2021.[89] GCN 4.0 and newer support Vulkan 1.3.[90]

On Linux there are various different Vulkan drivers with varying and overlapping hardware support. There is the open-source Vulkan driver called AMDVLK, developed by AMD which mirrors Windows support.[91] There is also the proprietary driver called AMDGPU-PRO which is not recommended to be used for most users as of March 2023.[92]

There is also the recommended driver called RADV in Mesa developed by Valve, Red Hat,[93] Google[94] and others. This driver as of March 2023 supports all GCN and RDNA cards.[95] This RADV driver's support for GCN 1.0 through GCN 2.0 requires its experimental support in the amdgpu kernel module to be enabled.[96]

NVIDIA edit

On Windows and Linux there is the NVIDIA developed Vulkan driver which supports Vulkan 1.2 on Kepler cards[97] with no further updates planned after September 2021.[98] Maxwell and newer support Vulkan 1.3.[99]

NVK, an experimental, open source Vulkan driver for Linux based on nouveau, was announced in October 2022.[100] It was merged into mainline Mesa in August 2023.[101] The driver currently supports Vulkan 1.0[102] with ongoing work for Vulkan 1.1.[103]

Android and mobile GPUs edit

Most modern Android devices support Vulkan. Android 7.0 Nougat includes optional Vulkan 1.0 support,[104] Android 9.0 Pie includes optional Vulkan 1.1 support, and Android 10 requires all 64-bit devices support Vulkan 1.1.[105][106] Android 13 requires Vulkan 1.3.[107] On Linux and some ChromeOS devices, the open-source Mesa driver provides support for Arm Mali (Midgard and Bifrost), Qualcomm Adreno, and Broadcom VideoCore VI hardware.[108]

Apple edit

As of June 2022, Apple devices do not provide native support for the Vulkan API.[109] Vulkan support is available via the open-source library MoltenVK, which provides a Vulkan implementation on top of the Metal graphics API provided on iOS and macOS devices, though it has some limitations in regards to certain advanced API features.[28]

In June 2022, version 1.3.217 of Vulkan added support for Metal objects, facilitating import and export between the two APIs.[110] In December 2022, Vulkan version 1.3.236 added small fixes for the interaction with Apple Metal.[111]

Backwards compatibility edit

Vulkan is not backwards compatible with OpenGL,[112][18][note 1] although there are certain projects that implement OpenGL on top of Vulkan, such as Google's ANGLE and Mesa's Zink.[113]

Vulkan is also not compatible with other graphics APIs such as Direct3D, Metal, and Mantle, however implementations of those APIs exist atop of Vulkan:

  • Direct3D has a number of implementations, namely DXVK for Direct3D 9, 10, and 11, and VKD3D-Proton for Direct3D 12 support. Other, older versions, of Direct3D may be available as third-party libraries, such as D8VK for Direct3D 8.
  • Metal has an in-development third-party implementation named Indium, intended to be used with the Darling compatibility layer.
  • Mantle has an in-development third-party implementation named GRVK, to support older Mantle games.

Platform-specific graphics APIs implemented atop of Vulkan may also be able to run on alternative platforms. For example, DXVK provides an alternative shared library intended to be used on Linux natively (without the Wine compatibility layer) to help with game porting.

See also edit

Notes edit

  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 then be consumed by the Vulkan API.

References edit

  1. ^ a b "Khronos Releases Vulkan 1.0 Specification". Khronos.org. Khronos Group Press Release. February 16, 2016. Archived from the original on October 20, 2021.
  2. ^ "Vulkan® 1.3.274 - A Specification". Retrieved December 19, 2023.
  3. ^ "KhronosGroup/Vulkan-Docs". GitHub. October 10, 2021. Archived from the original on October 20, 2021.
  4. ^ "Vulkan on FreeBSD". Vulkan GPU info. October 28, 2021.
  5. ^ "Vulkan on QNX". khronos.org. July 14, 2021. Archived from the original on October 20, 2021.
  6. ^ "Nintendo Switch Listed as Vulkan and OpenGL Conformant – My Nintendo News". My Nintendo News. Excite Global Media. December 19, 2016. Archived from the original on October 20, 2021.
  7. ^ Palumbo, Alessio (December 19, 2016). "Nintendo Switch Officially Supports Vulkan, OpenGL 4.5 & OpenGL ES". WCCF Tech. Archived from the original on October 20, 2021.
  8. ^ "Conformant Products". khronos.org. The Khronos Group. April 28, 2018. from the original on January 28, 2017. Retrieved February 28, 2018.
  9. ^ Bright, Peter & Walton, Mark (February 16, 2016). "Vulkan now official, with 1.0 API release and AMD driver [Updated]". Ars Technica. Archived from the original on October 20, 2021. Retrieved February 18, 2016.
  10. ^ Valich, Theo (February 17, 2016). "Mantle Cycle is Complete as Khronos Releases Vulkan 1.0". VR World. Archived from the original on October 20, 2021. Retrieved February 19, 2016.
  11. ^ a b c d "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". GitHub. Archived from the original on October 20, 2021. Retrieved September 12, 2019.
  12. ^ "Vulkan on Raspberry Pi". raspberrypi.org. July 14, 2021. Archived from the original on October 20, 2021.
  13. ^ "VxWorks offers support for many standard graphic libraries, such as ..., and Vulkan" (PDF). WinDriver.
  14. ^ a b c d "More on Vulkan and SPIR – V: The future of high-performance graphics" (PDF). Khronos Group. p. 10. (PDF) from the original on August 11, 2016. Retrieved June 27, 2015. Thanks AMD!
  15. ^ "LICENSE file". October 3, 2018. Archived from the original on October 20, 2021. Retrieved October 30, 2020 – via GitHub.
  16. ^ "Vulkan". NVIDIA Developer. December 2, 2015. Archived from the original on October 20, 2021. Retrieved July 8, 2021.
  17. ^ "Vulkan®". GPUOpen. Archived from the original on October 20, 2021. Retrieved July 8, 2021.
  18. ^ a b c "Developing 3D Graphics with Vulkan on Mobile". Qualcomm Developer Network. Archived from the original on October 20, 2021. Retrieved July 8, 2021.
  19. ^ Hruska, Joel. . ExtremeTech. Archived from the original on March 13, 2015. Retrieved June 26, 2015.
  20. ^ "Vulkan: Graphics and compute Belong Together" (PDF). Khronos Group. March 2015. (PDF) from the original on December 18, 2016. Retrieved March 5, 2015.
  21. ^ a b c "Vulkan – Graphics and compute belong together". Khronos Group. Archived from the original on October 20, 2021. Retrieved March 5, 2015.
  22. ^ Smith, Ryan. "Khronos Announces Next Generation OpenGL Initiative". Archived from the original on October 20, 2021. Retrieved September 24, 2016.
  23. ^ Batchelor, James (March 3, 2015). "glNext revealed as Vulkan graphics API". Develop.
  24. ^ "Vulkan lavapipe software rendering is working on Haiku". Haiku Community. September 24, 2021. Retrieved September 21, 2022.
  25. ^ "MoltenVK, popular Vulkan development tool for macOS, goes open-source". Neowin. Archived from the original on October 20, 2021. Retrieved February 28, 2018.
  26. ^ "Vulkan graphics will enable faster games and apps on Apple platforms". VentureBeat. February 26, 2018. Archived from the original on October 20, 2021. Retrieved February 28, 2018.
  27. ^ "Vulkan Is Now Available on macOS/iOS By MoltenVK Being Open-Sourced, Vulkan SDK for Mac – Phoronix". phoronix.com. Retrieved February 28, 2018.
  28. ^ a b "MoltenVK". Molten. from the original on January 5, 2018. Retrieved April 5, 2016.
  29. ^ "Vulkan: High efficiency on mobile". Imagination Technologies. November 5, 2015. from the original on November 9, 2015. Retrieved January 23, 2016.
  30. ^ "Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API". Tom's Hardware. March 3, 2015. Archived from the original on October 20, 2021.
  31. ^ "Vulkan: Scaling to multiple threads". Imagination Technologies. November 24, 2015. from the original on November 26, 2015. Retrieved January 23, 2016.
  32. ^ a b "Adreno Vulkan Developer Guide" (PDF). August 31, 2017. pp. 9–10, 22. Archived (PDF) from the original on October 20, 2021.
  33. ^ Kessenich, John. (PDF). Khronos Group. Archived from the original (PDF) on March 9, 2015. Retrieved March 5, 2015.
  34. ^ "Ray tracing in Vulkan". Khronos Group. December 15, 2020. Archived from the original on October 20, 2021.
  35. ^ "FOSDEM 2016 – Vulkan in Open-Source". FOSDEM. Archived from the original on October 20, 2021. Retrieved February 27, 2016.
  36. ^ "Transitioning from OpenGL to Vulkan". Nvidia. February 11, 2016. Archived from the original on October 20, 2021.
  37. ^ "NVIDIA 545 Linux Driver To Support Vulkan Apps With PRIME On Wayland". www.phoronix.com. Retrieved July 14, 2023.
  38. ^ "AMD Vulkan API". AMD. Archived from the original on October 20, 2021.
  39. ^ "Vulkan Next will bring better support for VR and multiple GPUs". PC World. Archived from the original on October 20, 2021.
  40. ^ Williams, Daniel; Smith, Ryan. "Ashes of the Singularity Revisited: A Beta Look at Direct3D 12 & Asynchronous Shading". AnandTech. Archived from the original on October 20, 2021.
  41. ^ "Khronos Group Releases Vulkan 1.1". The Khronos Group (Press release). March 7, 2018. Archived from the original on October 20, 2021. Retrieved March 21, 2018.
  42. ^ 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.
  43. ^ Larabel, Michael (September 19, 2018). "Vulkan 1.1.85 Released With Raytracing, Mesh Shaders & Other New NVIDIA Extensions". Phoronix. Retrieved September 19, 2018.
  44. ^ Larabel, Michael (November 4, 2018). "Vulkan 1.1.91 Released With NV_ray_tracing, AMD Memory Overallocation Behavior". Phoronix. Retrieved November 4, 2018.
  45. ^ Bright, Peter (March 7, 2018). "Vulkan 1.1 out today, with multi-GPU support, better DirectX compatibility". Ars Terchnica. Archived from the original on October 20, 2021. Retrieved March 7, 2018.
  46. ^ "Vulkan 1.2 Specifications Released | Geeks3D". Archived from the original on October 20, 2021.
  47. ^ "Khronos Group Releases Vulkan 1.2". The Khronos Group (Press release). January 15, 2020. Archived from the original on October 20, 2021. Retrieved February 27, 2020.
  48. ^ "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.
  49. ^ a b "Khronos Strengthens Vulkan Ecosystem with Release of Vulkan 1.3, Public Roadmap and Profiles". January 25, 2022.
  50. ^ "Vulkan® 1.3.206 – A Specification (with all registered Vulkan extensions)". khronos.org.
  51. ^ "Vulkan 1.3 Specification Released". January 25, 2022.
  52. ^ . pcper.com. Archived from the original on November 1, 2017. Retrieved May 17, 2017.
  53. ^ "SIGGRAPH 2018: OpenCL-Next Taking Shape, Vulkan Continues Evolving – Phoronix". phoronix.com.
  54. ^ Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders: google/clspv, August 17, 2019, archived from the original on October 20, 2021, retrieved August 20, 2019
  55. ^ (PDF). Archived from the original (PDF) on August 20, 2019.
  56. ^ 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.
  57. ^ . Archived from the original on May 11, 2013. Retrieved March 7, 2015.
  58. ^ Batchelor, James (March 3, 2015). "glNext revealed as Vulkan graphics API | Latest news from the game development industry | Develop". MCV. Develop. Retrieved March 5, 2015.
  59. ^ Larabel, Michael (March 5, 2015). "Valve Developed An Intel Linux Vulkan GPU Driver". Phoronix. Retrieved August 8, 2017.
  60. ^ Larabel, Michael (March 12, 2015). "Learning More About The Intel Vulkan Driver, Linux Vulkan Plans". Phoronix. Retrieved August 8, 2017.
  61. ^ "Evan Odabashian on Twitter". from the original on August 19, 2020. Retrieved July 22, 2015.
  62. ^ Woods, Shannon (August 12, 2015). "Low-overhead rendering with Vulkan". Android Developers Blog. Archived from the original on October 20, 2021.
  63. ^ Bright, Peter (February 26, 2018). "Vulkan is coming to macOS and iOS, but no thanks to Apple". Ars Technica. Archived from the original on October 20, 2021. Retrieved February 26, 2018.
  64. ^ "3D Graphics with Vulkan and OpenGL" (PDF). The Khronos Group. August 15, 2018. Retrieved November 30, 2023.
  65. ^ 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.
  66. ^ "Khronos Group Begins Work on a New Standards Initiative to Bring Vulkan GPU Acceleration to Safety Critical Industries". The Khronos Group. February 25, 2019. Archived from the original on October 20, 2021. Retrieved August 3, 2019.
  67. ^ Larabel, Michael (March 19, 2019). "Stadia Is Google's Cloud Gaming Service Using Linux, Vulkan & A Custom AMD GPU". Retrieved November 30, 2023.
  68. ^ "HLSL as a First Class Vulkan Shading Language". The Khronos Group. January 15, 2020. Archived from the original on October 20, 2021. Retrieved March 31, 2020.
  69. ^ Mott, Nathaniel (February 3, 2020). "Raspberry Pi to Get Vulkan Graphics Driver (Eventually)". Tom's Hardware. from the original on August 19, 2020. Retrieved June 20, 2020.
  70. ^ Zhiye Liu (June 20, 2020). "Nvidia Engineer's Vulkan Driver For Raspberry Pi Runs Quake III Over 100 FPS at 720p". Tom's Hardware. from the original on August 19, 2020. Retrieved June 20, 2020.
  71. ^ "Khronos Group Releases Vulkan Ray Tracing". The Khronos Group. March 17, 2020. Archived from the original on October 20, 2021.
  72. ^ "Vulkan Ray-Tracing Arrives With New Khronos Extension – Phoronix". phoronix.com. Retrieved March 17, 2020.
  73. ^ "Vulkan Ray Tracing Final Specification Release". The Khronos Group. November 23, 2020. Archived from the original on October 20, 2021.
  74. ^ "Vulkan update: we're conformant!". Raspberry Pi Foundation. November 24, 2020.
  75. ^ "Vulkan SC – Vulkan graphics for the safety critical industry". The Khronos Group. February 22, 2019. Retrieved March 30, 2022.
  76. ^ "Vulkan update: version 1.2 conformance for Raspberry Pi 4". Raspberry Pi Foundation. August 1, 2022.
  77. ^ "Mesh Shading for Vulkan". September 2022.
  78. ^ "VK_EXT_mesh_shader".
  79. ^ "Vulkan Overview" (PDF). Khronos Group. June 2015. (PDF) from the original on December 8, 2015. Retrieved August 18, 2015. p. 19 "Vulkan Status"
  80. ^ a b "Graphics Driver Support Update for 10th Generation and Older Intel Processor Graphics". community.intel.com. July 27, 2022. Retrieved February 14, 2023.
  81. ^ a b c "Intel Vulkan Driver Split Happens - "HASVK" Introduced For Older Gen7/Gen8 Graphics". www.phoronix.com. Retrieved February 14, 2023.
  82. ^ "Intel® 6th-10th Gen Processor Graphics - Windows". Intel. Retrieved February 14, 2023.
  83. ^ "Intel® Arc™ & Iris® Xe Graphics - WHQL - Windows*". Intel. Retrieved February 14, 2023.
  84. ^ "Haswell Vulkan support is incomplete (#6008) · Issues · Mesa / mesa · GitLab". GitLab. February 9, 2022. Retrieved February 14, 2023.
  85. ^ "intel: split vulkan driver between gfx7/8 and above (!18208) · Merge requests · Mesa / mesa · GitLab". GitLab. August 23, 2022. Retrieved February 14, 2023.
  86. ^ "AMD Radeon R7 265 Specs". TechPowerUp. Retrieved February 14, 2023.
  87. ^ "AMD Radeon HD 7790 Specs". TechPowerUp. Retrieved February 14, 2023.
  88. ^ "AMD Radeon R9 285 Specs". TechPowerUp. Retrieved February 14, 2023.
  89. ^ "Product and OS Support Update for Radeon Software Adrenalin 21.6.1". AMD.com. June 21, 2021. Retrieved February 14, 2023.
  90. ^ "Radeon™ Software Adrenalin 22.1.2 with Vulkan 1.3 Support Release Notes". Retrieved February 14, 2023.
  91. ^ AMD Open Source Driver for Vulkan®, GPUOpen Drivers, February 11, 2023, retrieved February 14, 2023
  92. ^ "Radeon Software For Linux 22.10 Driver Being Prepared For Release". Phoronix Forums. March 31, 2022. Retrieved February 14, 2023.
  93. ^ "AMD RDNA2 Vulkan: RADV vs. RADV+NGGC vs. AMDVLK vs. PRO Driver Benchmarks". www.phoronix.com. Retrieved February 14, 2023.
  94. ^ "Mesa's RADV Radeon Vulkan Ray-Tracing Performance Continues Improving". www.phoronix.com. Retrieved February 14, 2023.
  95. ^ "RADV — The Mesa 3D Graphics Library latest documentation". docs.mesa3d.org. Retrieved February 14, 2023.
  96. ^ "AMDGPU - ArchWiki". wiki.archlinux.org. Retrieved February 14, 2023.
  97. ^ "NVIDIA GeForce GTX 770 Specs". TechPowerUp. Retrieved February 14, 2023.
  98. ^ "Support Plan for Kepler-series GeForce GPUs for Desktop | NVIDIA". nvidia.custhelp.com. Retrieved February 14, 2023.
  99. ^ "Vulkan Driver Support". NVIDIA Developer. February 10, 2016. Retrieved February 14, 2023.
  100. ^ "Introducing NVK". Collabora. Retrieved February 14, 2023.
  101. ^ "NVK Has landed!". Collabora. Retrieved December 8, 2023.
  102. ^ "TSoftware in the Public Interest, Inc. 2023-11-17 Vulkan_1_0". The Khronos Group. December 8, 2023. Retrieved December 8, 2023.
  103. ^ "NVK Driver Nearing Vulkan 1.1 For NVIDIA GeForce RTX 20 & Newer". www.phoronix.com. Retrieved December 13, 2023.
  104. ^ "Android N's second preview build supports Vulkan and new emoji". Ars Technica. April 13, 2016. Archived from the original on October 20, 2021.
  105. ^ "Support for Vulkan Graphics API 1.1 is coming in Android P". April 8, 2018. Archived from the original on October 20, 2021.
  106. ^ "What's New in Android: Q Beta 3 & More". Archived from the original on October 20, 2021.
  107. ^ Albert, Dan. "Implement Vulkan". Source.Android.com. Google. Retrieved January 2, 2024.
  108. ^ "Mesamatrix: The OpenGL vs Mesa matrix". mesamatrix.net. Archived from the original on October 20, 2021.
  109. ^ "The State of Vulkan on Apple Devices" (PDF). LunarG. June 2021. (PDF) from the original on July 9, 2021.
  110. ^ Larabel, Michael (June 9, 2022). "Vulkan 1.3.217 Adds Extension To Interact With Apple Metal Objects". phoronix.com. Retrieved October 22, 2022.
  111. ^ "Release Release for Vulkan SDK 1.3.236 · KhronosGroup/MoltenVK". GitHub. Retrieved December 29, 2022.
  112. ^ Tim Anderson (March 3, 2015). "Here comes Vulkan: The next generation of the OpenGL graphics API". theregister.com. Archived from the original on October 20, 2021. Retrieved July 8, 2021.
  113. ^ "Zink – The Mesa 3D Graphics Library latest documentation". docs.mesa3d.org. Retrieved March 10, 2022.

Further reading edit

External links edit

  • Official website  

vulkan, this, article, about, graphics, software, other, uses, disambiguation, this, article, lead, section, short, adequately, summarize, points, please, consider, expanding, lead, provide, accessible, overview, important, aspects, article, august, 2023, leve. This article is about the graphics software API For other uses see Vulkan disambiguation This article s lead section may be too short to adequately summarize the key points Please consider expanding the lead to provide an accessible overview of all important aspects of the article August 2023 Vulkan is a low level low overhead cross platform API and open standard for 3D graphics and computing 16 17 18 It was originally developed as Mantle by AMD but was later given to Khronos Group It was intended to address the shortcomings of OpenGL and allow developers more control over the GPU It is designed to support a wide variety of GPUs CPUs and operating systems it is also designed to work with modern multi core CPUs VulkanOriginal author s AMD DICE original Mantle design Developer s Khronos Group donated and derived variant as Vulkan Initial releaseFebruary 16 2016 7 years ago 2016 02 16 1 Stable release1 3 274 December 19 2023 14 days ago 2023 12 19 2 Repositorygithub wbr com wbr KhronosGroup wbr Vulkan HeadersWritten inC 3 Operating systemAndroid Linux Haiku Fuchsia BSD Unix 4 QNX 5 Windows Nintendo Switch 6 7 8 Stadia Tizen 9 10 macOS 11 iOS 11 iPadOS 11 tvOS 11 Raspberry Pi 12 vxWorks 13 Type3D graphics and compute API 14 LicenseApache License 2 0 15 Websitevulkan wbr org Contents 1 Overview 2 Features 2 1 Unified API 2 2 Cross platform 2 3 Lower CPU usage 2 4 Multi threading friendly design 2 5 Pre compiled shaders 2 6 Others 2 7 OpenGL vs Vulkan 3 Versions 3 1 Vulkan 1 1 3 2 Vulkan 1 2 3 3 Vulkan 1 3 3 4 Planned features 4 History 4 1 2015 4 2 2016 4 3 2018 4 4 2019 4 5 2020 4 6 2022 5 Support across vendors 5 1 Intel 5 2 AMD 5 3 NVIDIA 5 4 Android and mobile GPUs 5 5 Apple 6 Backwards compatibility 7 See also 8 Notes 9 References 10 Further reading 11 External linksOverview editVulkan targets high performance real time 3D graphics applications such as video games and interactive media and highly parallelized computing Vulkan is intended to offer higher performance and more efficient CPU and GPU usage compared to the older OpenGL and Direct3D 11 APIs It does so by providing a considerably lower level API for the application than the older APIs that more closely resembles how modern GPUs work Vulkan is comparable to Apple s Metal API and Microsoft s Direct3D 12 and is harder to use than the higher level OpenGL and Direct3D 11 APIs according to whom In addition to its lower CPU usage Vulkan is designed to allow developers to better distribute work among multiple CPU cores 19 Vulkan was first announced by the non profit Khronos Group at GDC 2015 14 20 21 The Vulkan API was initially referred to as the next generation OpenGL initiative or OpenGL next 22 by Khronos but use of those names was discontinued when Vulkan was announced 23 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 14 Features edit nbsp 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 21 The overall concept and feature set of Vulkan is similar to concepts seen in Mantle and later adopted by Microsoft with Direct3D 12 and Apple with Metal Intended advantages of Vulkan over previous generation APIs include the following Unified API edit Vulkan provides a single API for both desktop and mobile graphics devices whereas previously these were split between OpenGL and OpenGL ES respectively Cross platform edit Vulkan is available on multiple modern operating systems Like OpenGL and in contrast to Direct3D 12 the Vulkan API is not locked to a single OS or device form factor Vulkan runs natively on Android Linux BSD Unix QNX Haiku 24 Nintendo Switch Raspberry Pi Stadia Fuchsia Tizen and Windows 7 8 10 and 11 MoltenVK provides freely licensed 25 26 27 third party support for macOS iOS and tvOS by wrapping over Apple s Metal API 28 Lower CPU usage edit Vulkan reduces load on CPUs through the use of batching and other low level optimizations therefore reducing CPU workloads and leaving the CPU free to do more computation or rendering than would otherwise be possible 29 30 Multi threading friendly design edit 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 these APIs regularly do not scale well on multi cores Vulkan offers improved scalability on multi core CPUs due to the modernized threading architecture 31 32 Pre compiled shaders edit 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 In contrast 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 perform GPU specific optimization and code generation resulting in easier driver maintenance and potentially smaller driver packages 33 The developers of applications now can also more easily obfuscate proprietary shader code due to shaders not being stored directly as source code however tools are provided that can decompile SPIR V to human readable high level code 32 18 Others edit Vulkan provides 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 is provided in a set of cross vendor extensions which together are analogous to the OptiX and DirectX Raytracing APIs 34 No such functionality is exposed in OpenGL OpenGL vs Vulkan edit OpenGL Vulkan 35 One single global state machine Object based with no global stateState is tied to a single context All state concepts are localized to a command bufferOperations can only be executed sequentially Multi threaded programming is possibleGPU memory and synchronization are usually hidden Explicit control over memory management and synchronizationExtensive error checking Vulkan drivers do no error checking at runtime there is a validation layer for developersNVIDIA states 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 36 37 AMD states 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 38 Versions editVulkan 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 39 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 40 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 41 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 42 At the same time it also brought better compatibility with DirectX 12 explicit multi GPU support ray tracing support 43 44 and laid the groundwork for the next generation of GPUs 45 Alongside Vulkan 1 1 SPIR V was updated to version 1 3 42 Vulkan 1 2 edit On January 15 2020 Vulkan 1 2 46 was released by the Khronos Group 47 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 48 Vulkan 1 3 edit On January 25 2022 Vulkan 1 3 was released by the Khronos Group 49 This third major update to the API integrates 23 additional commonly used proven Vulkan extensions into the base Vulkan standard 50 Vulkan 1 3 focuses on reducing fragmentation by making the new features not optional in order for a device to be considered Vulkan 1 3 capable 49 51 The new features in Vulkan 1 3 include dynamic rendering additional dynamic state improved synchronization API and device profiles 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 52 53 This has been now demonstrated by Adobe s Premiere Rush using the clspv 54 open source compiler to compile significant amounts of OpenCL C kernel code to run on a Vulkan runtime for deployment on Android 55 History editThis section is in list format but may read better as prose You can help by converting this section if appropriate Editing help is available May 2021 The Khronos Group began a project to create a next generation graphics API in July 2014 with a kickoff meeting at Valve 56 At SIGGRAPH 2014 the project was publicly announced with a call for participants 14 According to the US Patent and Trademark Office the trademark for Vulkan was filed on February 19 2015 57 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 58 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 59 60 There is still the possibility 61 of Sandy Bridge support since it supports compute through Direct3D11 On August 10 2015 Google announced that future versions of Android would support Vulkan 62 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 21 2016 edit The full Vulkan 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 63 Other new developments were shown at SIGGRAPH 2018 64 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 February 26 2018 run on macOS using the Vulkan API which is based on MoltenVK 65 2019 edit On February 25 2019 the Vulkan Safety Critical SC Working Group was announced to bring Vulkan GPU acceleration to safety critical industries 66 Google s Stadia streaming cloud gaming service used Vulkan on Linux based servers with AMD GPUs 67 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 68 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 69 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 70 On March 17 2020 Khronos Group released the Ray Tracing extensions based on Nvidia s proprietary extension with some major extensions and many minor changes which in turn was based on Nvidia s OptiX API 71 72 On November 23 2020 these Ray Tracing extensions were finalized 73 On November 24 2020 Raspberry Pi Foundation announced that their driver for the Raspberry Pi 4 is Vulkan 1 0 conformant 74 2022 edit On January 25 2022 Vulkan 1 3 was released On March 1 2022 Vulkan SC 1 0 was released bringing Vulkan graphics and compute for the safety critical industry while being based on the Vulkan 1 2 standard 75 On August 1 2022 Raspberry Pi Foundation announced that their driver for the Raspberry Pi 4 is Vulkan 1 2 conformant 76 On September 1 2022 Mesh Shading for Vulkan was released 77 78 Support across vendors edit nbsp Screenshot of vulkaninfo showing information about supported Vulkan instances and vkcube a program to test Vulkan implementation on a systemInitial specifications stated that Vulkan drivers can be implemented on any hardware that supports OpenGL ES 3 1 or OpenGL 4 x and up 79 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 edit As of March 2023 Intel has split Vulkan driver support on Windows 80 and on Linux 81 All drivers are developed by Intel On Windows Skylake through Ice Lake supports up to Vulkan 1 3 82 with limited support after July 2022 as future updates will only cover security fixes 80 Iris and newer are fully supported as of March 2023 83 On Linux as of March 2023 there is incomplete Vulkan support for Haswell 84 with it not being Vulkan 1 0 compliant 85 Apart from Haswell Ivy Bridge and Broadwell are also supported by a legacy Vulkan driver in Mesa called HASVK 81 Skylake and newer being supported by a driver in Mesa called ANV 81 AMD edit On Windows Vulkan 1 2 is supported from GCN 1 0 to GCN 3 0 86 87 88 with no further updates planned after June 2021 89 GCN 4 0 and newer support Vulkan 1 3 90 On Linux there are various different Vulkan drivers with varying and overlapping hardware support There is the open source Vulkan driver called AMDVLK developed by AMD which mirrors Windows support 91 There is also the proprietary driver called AMDGPU PRO which is not recommended to be used for most users as of March 2023 92 There is also the recommended driver called RADV in Mesa developed by Valve Red Hat 93 Google 94 and others This driver as of March 2023 supports all GCN and RDNA cards 95 This RADV driver s support for GCN 1 0 through GCN 2 0 requires its experimental support in the amdgpu kernel module to be enabled 96 NVIDIA edit On Windows and Linux there is the NVIDIA developed Vulkan driver which supports Vulkan 1 2 on Kepler cards 97 with no further updates planned after September 2021 98 Maxwell and newer support Vulkan 1 3 99 NVK an experimental open source Vulkan driver for Linux based on nouveau was announced in October 2022 100 It was merged into mainline Mesa in August 2023 101 The driver currently supports Vulkan 1 0 102 with ongoing work for Vulkan 1 1 103 Android and mobile GPUs edit Most modern Android devices support Vulkan Android 7 0 Nougat includes optional Vulkan 1 0 support 104 Android 9 0 Pie includes optional Vulkan 1 1 support and Android 10 requires all 64 bit devices support Vulkan 1 1 105 106 Android 13 requires Vulkan 1 3 107 On Linux and some ChromeOS devices the open source Mesa driver provides support for Arm Mali Midgard and Bifrost Qualcomm Adreno and Broadcom VideoCore VI hardware 108 Apple edit As of June 2022 Apple devices do not provide native support for the Vulkan API 109 Vulkan support is available via the open source library MoltenVK which provides a Vulkan implementation on top of the Metal graphics API provided on iOS and macOS devices though it has some limitations in regards to certain advanced API features 28 In June 2022 version 1 3 217 of Vulkan added support for Metal objects facilitating import and export between the two APIs 110 In December 2022 Vulkan version 1 3 236 added small fixes for the interaction with Apple Metal 111 Backwards compatibility editVulkan is not backwards compatible with OpenGL 112 18 note 1 although there are certain projects that implement OpenGL on top of Vulkan such as Google s ANGLE and Mesa s Zink 113 Vulkan is also not compatible with other graphics APIs such as Direct3D Metal and Mantle however implementations of those APIs exist atop of Vulkan Direct3D has a number of implementations namely DXVK for Direct3D 9 10 and 11 and VKD3D Proton for Direct3D 12 support Other older versions of Direct3D may be available as third party libraries such as D8VK for Direct3D 8 Metal has an in development third party implementation named Indium intended to be used with the Darling compatibility layer Mantle has an in development third party implementation named GRVK to support older Mantle games Platform specific graphics APIs implemented atop of Vulkan may also be able to run on alternative platforms For example DXVK provides an alternative shared library intended to be used on Linux natively without the Wine compatibility layer to help with game porting See also editList of 3D graphics librariesNotes edit 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 then be consumed by the Vulkan API References edit a b Khronos Releases Vulkan 1 0 Specification Khronos org Khronos Group Press Release February 16 2016 Archived from the original on October 20 2021 Vulkan 1 3 274 A Specification Retrieved December 19 2023 KhronosGroup Vulkan Docs GitHub October 10 2021 Archived from the original on October 20 2021 Vulkan on FreeBSD Vulkan GPU info October 28 2021 Vulkan on QNX khronos org July 14 2021 Archived from the original on October 20 2021 Nintendo Switch Listed as Vulkan and OpenGL Conformant My Nintendo News My Nintendo News Excite Global Media December 19 2016 Archived from the original on October 20 2021 Palumbo Alessio December 19 2016 Nintendo Switch Officially Supports Vulkan OpenGL 4 5 amp OpenGL ES WCCF Tech Archived from the original on October 20 2021 Conformant Products khronos org The Khronos Group April 28 2018 Archived from the original on January 28 2017 Retrieved February 28 2018 Bright Peter amp Walton Mark February 16 2016 Vulkan now official with 1 0 API release and AMD driver Updated Ars Technica Archived from the original on October 20 2021 Retrieved February 18 2016 Valich Theo February 17 2016 Mantle Cycle is Complete as Khronos Releases Vulkan 1 0 VR World Archived from the original on October 20 2021 Retrieved February 19 2016 a b c d 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 GitHub Archived from the original on October 20 2021 Retrieved September 12 2019 Vulkan on Raspberry Pi raspberrypi org July 14 2021 Archived from the original on October 20 2021 VxWorks offers support for many standard graphic libraries such as and Vulkan PDF WinDriver 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 LICENSE file October 3 2018 Archived from the original on October 20 2021 Retrieved October 30 2020 via GitHub Vulkan NVIDIA Developer December 2 2015 Archived from the original on October 20 2021 Retrieved July 8 2021 Vulkan GPUOpen Archived from the original on October 20 2021 Retrieved July 8 2021 a b c Developing 3D Graphics with Vulkan on Mobile Qualcomm Developer Network Archived from the original on October 20 2021 Retrieved July 8 2021 Hruska Joel Next generation Vulkan API could be Valve s killer advantage in battling Microsoft ExtremeTech Archived from the original on March 13 2015 Retrieved June 26 2015 Vulkan Graphics and compute Belong Together PDF Khronos Group March 2015 Archived PDF from the original on December 18 2016 Retrieved March 5 2015 a b c Vulkan Graphics and compute belong together Khronos Group Archived from the original on October 20 2021 Retrieved March 5 2015 Smith Ryan Khronos Announces Next Generation OpenGL Initiative Archived from the original on October 20 2021 Retrieved September 24 2016 Batchelor James March 3 2015 glNext revealed as Vulkan graphics API Develop Vulkan lavapipe software rendering is working on Haiku Haiku Community September 24 2021 Retrieved September 21 2022 MoltenVK popular Vulkan development tool for macOS goes open source Neowin Archived from the original on October 20 2021 Retrieved February 28 2018 Vulkan graphics will enable faster games and apps on Apple platforms VentureBeat February 26 2018 Archived from the original on October 20 2021 Retrieved February 28 2018 Vulkan Is Now Available on macOS iOS By MoltenVK Being Open Sourced Vulkan SDK for Mac Phoronix phoronix com Retrieved February 28 2018 a b MoltenVK Molten Archived from the original on January 5 2018 Retrieved April 5 2016 Vulkan High efficiency on mobile Imagination Technologies November 5 2015 Archived from the original on November 9 2015 Retrieved January 23 2016 Khronos Group Announces The Next Generation Vulkan Graphics And Compute API Tom s Hardware March 3 2015 Archived from the original on October 20 2021 Vulkan Scaling to multiple threads Imagination Technologies November 24 2015 Archived from the original on November 26 2015 Retrieved January 23 2016 a b Adreno Vulkan Developer Guide PDF August 31 2017 pp 9 10 22 Archived PDF from the original on October 20 2021 Kessenich John An Introduction to SPIR V PDF Khronos Group Archived from the original PDF on March 9 2015 Retrieved March 5 2015 Ray tracing in Vulkan Khronos Group December 15 2020 Archived from the original on October 20 2021 FOSDEM 2016 Vulkan in Open Source FOSDEM Archived from the original on October 20 2021 Retrieved February 27 2016 Transitioning from OpenGL to Vulkan Nvidia February 11 2016 Archived from the original on October 20 2021 NVIDIA 545 Linux Driver To Support Vulkan Apps With PRIME On Wayland www phoronix com Retrieved July 14 2023 AMD Vulkan API AMD Archived from the original on October 20 2021 Vulkan Next will bring better support for VR and multiple GPUs PC World Archived from the original on October 20 2021 Williams Daniel Smith Ryan Ashes of the Singularity Revisited A Beta Look at Direct3D 12 amp Asynchronous Shading AnandTech Archived from the original on October 20 2021 Khronos Group Releases Vulkan 1 1 The Khronos Group Press release March 7 2018 Archived from the original on October 20 2021 Retrieved March 21 2018 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 Larabel Michael September 19 2018 Vulkan 1 1 85 Released With Raytracing Mesh Shaders amp Other New NVIDIA Extensions Phoronix Retrieved September 19 2018 Larabel Michael November 4 2018 Vulkan 1 1 91 Released With NV ray tracing AMD Memory Overallocation Behavior Phoronix Retrieved November 4 2018 Bright Peter March 7 2018 Vulkan 1 1 out today with multi GPU support better DirectX compatibility Ars Terchnica Archived from the original on October 20 2021 Retrieved March 7 2018 Vulkan 1 2 Specifications Released Geeks3D Archived from the original on October 20 2021 Khronos Group Releases Vulkan 1 2 The Khronos Group Press release January 15 2020 Archived from the original on October 20 2021 Retrieved February 27 2020 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 a b Khronos Strengthens Vulkan Ecosystem with Release of Vulkan 1 3 Public Roadmap and Profiles January 25 2022 Vulkan 1 3 206 A Specification with all registered Vulkan extensions khronos org Vulkan 1 3 Specification Released January 25 2022 Breaking OpenCL Merging Roadmap into Vulkan PC Perspective pcper com Archived from the original on November 1 2017 Retrieved May 17 2017 SIGGRAPH 2018 OpenCL Next Taking Shape Vulkan Continues Evolving Phoronix phoronix com Clspv is a prototype compiler for a subset of OpenCL C to Vulkan compute shaders google clspv August 17 2019 archived from the original on October 20 2021 retrieved August 20 2019 Vulkan Update SIGGRAPH 2019 PDF Archived from the original PDF on August 20 2019 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 US Patent and Trademark Office Archived from the original on May 11 2013 Retrieved March 7 2015 Batchelor James March 3 2015 glNext revealed as Vulkan graphics API Latest news from the game development industry Develop MCV Develop Retrieved March 5 2015 Larabel Michael March 5 2015 Valve Developed An Intel Linux Vulkan GPU Driver Phoronix Retrieved August 8 2017 Larabel Michael March 12 2015 Learning More About The Intel Vulkan Driver Linux Vulkan Plans Phoronix Retrieved August 8 2017 Evan Odabashian on Twitter Archived from the original on August 19 2020 Retrieved July 22 2015 Woods Shannon August 12 2015 Low overhead rendering with Vulkan Android Developers Blog Archived from the original on October 20 2021 Bright Peter February 26 2018 Vulkan is coming to macOS and iOS but no thanks to Apple Ars Technica Archived from the original on October 20 2021 Retrieved February 26 2018 3D Graphics with Vulkan and OpenGL PDF The Khronos Group August 15 2018 Retrieved November 30 2023 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 Khronos Group Begins Work on a New Standards Initiative to Bring Vulkan GPU Acceleration to Safety Critical Industries The Khronos Group February 25 2019 Archived from the original on October 20 2021 Retrieved August 3 2019 Larabel Michael March 19 2019 Stadia Is Google s Cloud Gaming Service Using Linux Vulkan amp A Custom AMD GPU Retrieved November 30 2023 HLSL as a First Class Vulkan Shading Language The Khronos Group January 15 2020 Archived from the original on October 20 2021 Retrieved March 31 2020 Mott Nathaniel February 3 2020 Raspberry Pi to Get Vulkan Graphics Driver Eventually Tom s Hardware Archived from the original on August 19 2020 Retrieved June 20 2020 Zhiye Liu June 20 2020 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 Khronos Group Releases Vulkan Ray Tracing The Khronos Group March 17 2020 Archived from the original on October 20 2021 Vulkan Ray Tracing Arrives With New Khronos Extension Phoronix phoronix com Retrieved March 17 2020 Vulkan Ray Tracing Final Specification Release The Khronos Group November 23 2020 Archived from the original on October 20 2021 Vulkan update we re conformant Raspberry Pi Foundation November 24 2020 Vulkan SC Vulkan graphics for the safety critical industry The Khronos Group February 22 2019 Retrieved March 30 2022 Vulkan update version 1 2 conformance for Raspberry Pi 4 Raspberry Pi Foundation August 1 2022 Mesh Shading for Vulkan September 2022 VK EXT mesh shader Vulkan Overview PDF Khronos Group June 2015 Archived PDF from the original on December 8 2015 Retrieved August 18 2015 p 19 Vulkan Status a b Graphics Driver Support Update for 10th Generation and Older Intel Processor Graphics community intel com July 27 2022 Retrieved February 14 2023 a b c Intel Vulkan Driver Split Happens HASVK Introduced For Older Gen7 Gen8 Graphics www phoronix com Retrieved February 14 2023 Intel 6th 10th Gen Processor Graphics Windows Intel Retrieved February 14 2023 Intel Arc amp Iris Xe Graphics WHQL Windows Intel Retrieved February 14 2023 Haswell Vulkan support is incomplete 6008 Issues Mesa mesa GitLab GitLab February 9 2022 Retrieved February 14 2023 intel split vulkan driver between gfx7 8 and above 18208 Merge requests Mesa mesa GitLab GitLab August 23 2022 Retrieved February 14 2023 AMD Radeon R7 265 Specs TechPowerUp Retrieved February 14 2023 AMD Radeon HD 7790 Specs TechPowerUp Retrieved February 14 2023 AMD Radeon R9 285 Specs TechPowerUp Retrieved February 14 2023 Product and OS Support Update for Radeon Software Adrenalin 21 6 1 AMD com June 21 2021 Retrieved February 14 2023 Radeon Software Adrenalin 22 1 2 with Vulkan 1 3 Support Release Notes Retrieved February 14 2023 AMD Open Source Driver for Vulkan GPUOpen Drivers February 11 2023 retrieved February 14 2023 Radeon Software For Linux 22 10 Driver Being Prepared For Release Phoronix Forums March 31 2022 Retrieved February 14 2023 AMD RDNA2 Vulkan RADV vs RADV NGGC vs AMDVLK vs PRO Driver Benchmarks www phoronix com Retrieved February 14 2023 Mesa s RADV Radeon Vulkan Ray Tracing Performance Continues Improving www phoronix com Retrieved February 14 2023 RADV The Mesa 3D Graphics Library latest documentation docs mesa3d org Retrieved February 14 2023 AMDGPU ArchWiki wiki archlinux org Retrieved February 14 2023 NVIDIA GeForce GTX 770 Specs TechPowerUp Retrieved February 14 2023 Support Plan for Kepler series GeForce GPUs for Desktop NVIDIA nvidia custhelp com Retrieved February 14 2023 Vulkan Driver Support NVIDIA Developer February 10 2016 Retrieved February 14 2023 Introducing NVK Collabora Retrieved February 14 2023 NVK Has landed Collabora Retrieved December 8 2023 TSoftware in the Public Interest Inc 2023 11 17 Vulkan 1 0 The Khronos Group December 8 2023 Retrieved December 8 2023 NVK Driver Nearing Vulkan 1 1 For NVIDIA GeForce RTX 20 amp Newer www phoronix com Retrieved December 13 2023 Android N s second preview build supports Vulkan and new emoji Ars Technica April 13 2016 Archived from the original on October 20 2021 Support for Vulkan Graphics API 1 1 is coming in Android P April 8 2018 Archived from the original on October 20 2021 What s New in Android Q Beta 3 amp More Archived from the original on October 20 2021 Albert Dan Implement Vulkan Source Android com Google Retrieved January 2 2024 Mesamatrix The OpenGL vs Mesa matrix mesamatrix net Archived from the original on October 20 2021 The State of Vulkan on Apple Devices PDF LunarG June 2021 Archived PDF from the original on July 9 2021 Larabel Michael June 9 2022 Vulkan 1 3 217 Adds Extension To Interact With Apple Metal Objects phoronix com Retrieved October 22 2022 Release Release for Vulkan SDK 1 3 236 KhronosGroup MoltenVK GitHub Retrieved December 29 2022 Tim Anderson March 3 2015 Here comes Vulkan The next generation of the OpenGL graphics API theregister com Archived from the original on October 20 2021 Retrieved July 8 2021 Zink The Mesa 3D Graphics Library latest documentation docs mesa3d org Retrieved March 10 2022 Further reading editVulkan 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 68154External links editOfficial website nbsp Retrieved from https en wikipedia org w index php title Vulkan amp oldid 1193231876, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.