Consortiwm Khronos, sy'n datblygu safonau graffeg, cyhoeddi manyleb Vulkan 1.2, sy'n diffinio API ar gyfer cyrchu galluoedd graffeg a chyfrifiadurol y GPU. Mae'r fanyleb newydd yn ymgorffori cywiriadau a gronnwyd dros ddwy flynedd a ehangu. Mae gyrwyr sy'n cefnogi'r fersiwn newydd o Vulkan eisoes rhyddhau cwmni Intel, AMD, ARM, Technolegau Dychymyg a NVIDIA. Mae Mesa yn cynnig cefnogaeth Vulkan 1.2 i yrwyr RADV (cardiau AMD) a ANV (Intel). Mae cefnogaeth Vulkan 1.2 hefyd yn cael ei weithredu yn y dadfygiwr RenderDoc 1.6, LunarG Vulkan SDK a set o enghreifftiau Vulcan-Samplau.
Dygwyd i chwi gweithredu iaith raglennu shader nes ei bod yn barod i'w defnyddio'n eang HLSL, a ddatblygwyd gan Microsoft ar gyfer DirectX. Mae cefnogaeth HLSL yn Vulkan yn ei gwneud hi'n bosibl defnyddio'r un arlliwwyr HLSL mewn cymwysiadau sy'n seiliedig ar Vulkan a DirectX, ac mae hefyd yn symleiddio'r cyfieithiad o HLSL i SPIR-V. I lunio arlliwwyr, argymhellir defnyddio casglwr safonol DXC, a agorwyd gan Microsoft yn 2017 ac mae'n seiliedig ar dechnoleg LLVM. Gweithredir cefnogaeth Vulkan trwy gefn ar wahân, sy'n eich galluogi i drosi HLSL yn gynrychiolaeth ganolraddol o arlliwwyr SPIR-V. Mae'r gweithrediad yn cwmpasu nid yn unig yr holl alluoedd adeiledig
Mae HLSL, gan gynnwys mathau mathemategol, llifau rheoli, swyddogaethau, setiau, mathau o adnoddau, gofodau enwau, Model Shader 6.2, strwythurau a dulliau, ond hefyd yn caniatáu defnyddio estyniadau Vulkan-benodol fel VKRay o NVIDIA. Yn y modd HLSL ar ben Vulkan, roedd yn bosibl trefnu gwaith gemau fel Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey a Tomb Raider.
Manyleb wedi'i diweddaru SPIR-V 1.5, sy'n diffinio cynrychiolaeth ganolraddol o arlliwwyr sy'n gyffredinol ar gyfer pob platfform ac y gellir ei ddefnyddio ar gyfer graffeg a chyfrifiadura cyfochrog.
Mae SPIR-V yn golygu gwahanu cam llunio arlliwiwr ar wahân yn gynrychiolaeth ganolraddol, sy'n eich galluogi i greu blaenau ar gyfer ieithoedd lefel uchel amrywiol. Yn seiliedig ar weithrediadau lefel uchel amrywiol, cynhyrchir un cod canolradd ar wahân, y gellir ei ddefnyddio gan yrwyr OpenGL, Vulkan ac OpenCL heb ddefnyddio'r casglwr lliwiwr adeiledig.
Mae'r API Vulkan craidd yn cynnwys 23 estyniad sy'n cynyddu perfformiad, yn gwella ansawdd rendro, ac yn symleiddio datblygiad. Ymhlith yr estyniadau ychwanegol:
Semafforau cronolegol (Semaffor llinell amser), uno cydamseriad gyda'r gwesteiwr a chiwiau dyfais (gan eich galluogi i ddefnyddio un cyntefig ar gyfer cydamseru omnidirectional rhwng y ddyfais a'r gwesteiwr, heb ddefnyddio cyntefigau VkFence a VkSemaphore ar wahân). Cynrychiolir semafforau newydd gan werth 64-did sy'n cynyddu'n undonog y gellir ei olrhain a'i ddiweddaru ar draws edafedd lluosog.
Y gallu i ddefnyddio mathau rhifol yn llai manwl gywir mewn cysgodwyr;
Opsiwn gosodiad cof sy'n gydnaws â HLSL;
Adnoddau heb eu rhwymo (di-rwym), sy'n dileu'r cyfyngiad ar nifer yr adnoddau sydd ar gael i arlliwwyr trwy ddefnyddio'r gofod rhithwir a rennir o gof system a chof GPU;
Model cof ffurfiol, sy'n diffinio sut y gall edafedd cydamserol gael mynediad at ddata a rennir a gweithrediadau cydamseru;
Mynegeio disgrifydd i ailddefnyddio disgrifyddion cynllun ar draws arlliwwyr lluosog;
Ychwanegwyd mwy na 50 o strwythurau newydd a 13 o swyddogaethau;
Mae fersiynau byrrach o'r fanyleb wedi'u paratoi ar gyfer llwyfannau targed nodweddiadol, gan symleiddio gwaith ar lwyfannau nad yw'r holl estyniadau wedi'u cefnogi eto, a chaniatáu i un wneud heb actifadu galluoedd sylfaenol API Vulkan yn ddetholus.
Mae gwaith yn parhau ar y prosiect i sicrhau hygludedd gydag API graffeg eraill. Er enghraifft, mae Vulkan yn cynnig estyniadau sy'n caniatáu cyfieithiad OpenGL (Zink), OpenCL (clspv, clvk), OpenGL ES (MENEG, Angle) a DirectX (DXVK, vkd3d) trwy API Vulkan, a hefyd, i'r gwrthwyneb, i alluogi Vulkan i weithio ar lwyfannau heb ei gefnogaeth frodorol (gfx-rs и Ashes am weithio ar ben OpenGL a DirectX, MoltenVK a gfx-rs ar gyfer gweithio ar ben Metel).
Ychwanegwyd estyniadau i wella cydnawsedd â DirectX a HLSL
VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layout, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts, yn ogystal â galluoedd HLSL penodol yn cael eu gweithredu yn SPIR-V.
Mae cynlluniau ar gyfer y dyfodol yn cynnwys datblygu estyniadau ar gyfer dysgu peirianyddol, olrhain pelydrau, amgodio a datgodio fideo, cefnogaeth ar gyfer VRS (lliwio cyfradd amrywiol) a lliwwyr rhwyll.
Dwyn i gof bod yr API Vulkan nodedig symleiddio gyrwyr yn radical, symud y genhedlaeth o orchmynion GPU i ochr y cais, y gallu i gysylltu haenau dadfygio, uno'r API ar gyfer gwahanol lwyfannau a defnyddio cynrychiolaeth ganolraddol wedi'i llunio ymlaen llaw o god ar gyfer gweithredu ar ochr GPU. Er mwyn sicrhau perfformiad uchel a rhagweladwyedd, mae Vulkan yn darparu cymwysiadau â rheolaeth uniongyrchol dros weithrediadau GPU a chefnogaeth frodorol ar gyfer aml-edafu GPU, sy'n lleihau gorbenion gyrrwr ac yn gwneud galluoedd ochr gyrrwr yn llawer symlach a mwy rhagweladwy. Er enghraifft, mae gweithrediadau megis rheoli cof a thrin gwallau, a weithredir yn OpenGL ar ochr y gyrrwr, yn cael eu symud i lefel y cais yn Vulkan.
Mae Vulkan yn rhychwantu pob platfform sydd ar gael ac yn darparu un API ar gyfer bwrdd gwaith, symudol a gwe, gan ganiatáu i un API cyffredin gael ei ddefnyddio ar draws GPUs a chymwysiadau lluosog. Diolch i bensaernïaeth aml-haen Vulkan, sy'n golygu offer sy'n gweithio gydag unrhyw GPU, gall OEMs ddefnyddio offer o safon diwydiant ar gyfer adolygu cod, dadfygio a phroffilio yn ystod datblygiad. Ar gyfer creu cysgodwyr, cynigir cynrychiolaeth ganolradd gludadwy newydd, SPIR-V, yn seiliedig ar LLVM a rhannu technolegau craidd ag OpenCL. Er mwyn rheoli dyfeisiau a sgriniau, mae Vulkan yn cynnig rhyngwyneb WSI (Integreiddio System Ffenestr), sy'n datrys tua'r un problemau ag EGL yn OpenGL ES. Mae cefnogaeth MYG ar gael allan o'r bocs yn Wayland - gall pob rhaglen sy'n defnyddio Vulkan redeg mewn amgylchedd o weinyddion Wayland heb eu haddasu. Darperir y gallu i weithio trwy WSI hefyd ar gyfer Android, X11 (gyda DRI3), Windows, Tizen, macOS ac iOS.