Vulkan d'abord annoncé sous l'appellation OpenGL Next est une spécification proposée par le consortium Khronos Group pour la programmation graphique. Elle est mise en œuvre par plusieurs constructeurs de cartes graphiques sous forme d'une interface de programmation portant le même nom et a pour but de remplacer à terme OpenGL et ses dérivés en exploitant plus efficacement les architectures informatiques modernes. 25 ans après la création d'OpenGL, elle vise à unifier les versions mobile (OpenGL ES) et bureau (OpenGL), fonctionne nativement sur Microsoft Windows, GNU/Linux et Android, ainsi que sous MacOS et iOS via la portability initiative (l'API MoltenVK) en se basant sur Metal. Une première version est sortie en , supportée entre autres par AMD et Nvidia, et est compatible avec tout système supportant OpenGL ES 3.1. Vulkan se fonde sur le travail effectué par AMD sur l'API , et auparavant, au sein de Mesa 3D, par Gallium3D (réduction de la couche du pilote graphique et relation plus directe au GPU et à sa mémoire). En particulier son module LLVMpipe qui permet la précompilation dans un langage intermédiaire et une meilleure utilisation des architectures de microprocesseurs multi-cœurs des architectures modernes pour le rendu 3D. Les développeurs du pilote libre Vulkan, pour processeurs graphiques Intel, décrivent Vulkan comme un « Gallium3D 2.0 ». Le langage SPIR utilisant à l'origine LLVM, SPIR-V qui en est une version modifiée permettra une implémentation de LLVM pour son interprétation. Parmi les avantages : Meilleure gestion du multiprocesseur, les différents processeurs pouvant envoyer en parallèle des commandes à exécuter ; Un pilote simplifié, en donnant au CPU davantage d'accès aux commandes du GPU et à la gestion de sa mémoire ; Une meilleure adaptation aux plates-formes mobiles avec notamment la gestion du cas d'une mémoire unifiée et du rendu où chaque thread est dédié à un des rectangles formant l'affichage (dallage). Le langage SPIR-V qui permettra de simplifier le travail des pilotes dans l'interprétation des shaders.
Nicola Marzari, Giovanni Pizzi, Martin Uhrin, Boris Kozinsky, Christoph Leopold Talirz, Andrius Merkys, Snehal Pramod Kumbhar, Casper Welzel Andersen, Gian-Marco Rignanese, Matthias Scheffler