Konsorciumi Khronos, i angazhuar në zhvillimin e standardeve grafike,
specifikimi , që përcakton API për qasje në mundësitë grafike dhe llogaritëse të GPU-së. Specifikimi i ri ka përfshirë rregullimet që janë akumuluar gjatë dy viteve dhe . Të dhënat me mbështetje për versionin e ri të Vulkan-it tashmë janë nga kompanitë Intel, , ARM, Imagination Technologies dhe . Në Mesa, mbështetje për Vulkan 1.2 ofrohet për drajverët (kartat AMD) dhe (Intel). Mbështetje për Vulkan 1.2 është gjithashtu implementuar në debuggerin , dhe në grupin e shembujve .
Main :
- në gatishmërinë për përdorim të gjerë të implementimit të gjuhës së programimit të shader-ave , e zhvilluar nga Microsoft për DirectX. Mbështetje HLSL në Vulkan ofron mundësinë e përdorimit të të njëjtëve shader HLSL në aplikacione të bazuara në Vulkan dhe DirectX, si dhe e lehtëson translacionin nga HLSL në SPIR-V. Për kompilimin e shader-ave, rekomandohet të përdoret kompileri standard
, i hapur nga Microsoft në vitin 2017 dhe i bazuar në teknologjinë LLVM. Mbështetja për Vulkan është implementuar përmes një backend-i të veçantë, që lejon translacionin e HLSL në një përfaqësim të mesëm të shader-ave SPIR-V. Implementimi përfshin jo vetëm të gjitha funksionalitetet e ndërtuara
HLSL, duke pĂ«rfshirĂ« llojet matematikore, rrjedhat e kontrollit, funksionet, grupet, llojet e burimeve, hapĂ«sirat e emrave, Shader Model 6.2, strukturat dhe metodat, si dhe mundĂ«son pĂ«rdorimin e zgjerimeve specifike pĂ«r Vulkan, si VKRay nga NVIDIA. NĂ« modalitetin HLSL mbi Vulkan, Ă«shtĂ« bĂ«rĂ« e mundur funksionimi i lojĂ«rave si Destiny 2, Red Dead Redemption II, Assassinâs Creed Odyssey dhe Tomb Raider. - Specifikimi , qĂ« pĂ«rcakton pĂ«rfaqĂ«simin e mesĂ«m universale pĂ«r tĂ« gjitha platforma, i cili mund tĂ« pĂ«rdoret pĂ«r grafikĂ« si dhe pĂ«r llogaritje paralel.
SPIR-V nënkupton krijimin e një faze të veçantë të kompilimit të shader-ave në përfaqësimin e mesëm, që lejon krijimin e frontend-eve për gjuhë të ndryshme të nivelit të lartë. Nga implementime të ndryshme të nivelit të lartë, gjenerohet një kod i vetëm ndërmjetës, i cili mund të përdoret nga drajverët OpenGL, Vulkan dhe OpenCL pa përdorimin e kompilatorit të integruar të shader-ave.
- Në API-në kryesore të Vulkan përfshihen 23 zgjerime që lejojnë rritjen e performancës, përmirësimin e cilësisë vizuale dhe thjeshtimin e zhvillimit. Ndër zgjerimet e reja janë:
- (Semafor kronologjik), që unifikojnë sinkronizimin me hostin dhe radhët e pajisjeve (lejojnë përdorimin e një primitive për sinkronizimin e të gjitha drejtimet midis pajisjes dhe hostit, pa nevojën për primitive të ndara VkFence dhe VkSemaphore). Semaforët e rinj paraqiten si një vlerë 64-bit që rritet monotone, e cila mund të ndjekë dhe përditësohet në disa tela.

- Mundësia e përdorimit të llojeve numerike me saktësi të ulët në shaderë;
- Një variant i përputhshëm me HLSL për konfigurimin e memories;
- Burimet e pa lidhura (bindless), që heqin kufizimin mbi numrin e burimeve të disponueshme për shaderët duke përdorur një hapësirë të zakonshme virtuale të memories së sistemit dhe memories së GPU;
- , që përcakton se si rrjedhat që ekzekutohen paralel mund të kenë qasje në të dhënat e ndara dhe operacionet e sinkronizimit;
- për rishfrytëzimin e deskriptorëve të konfigurimeve në disa sharderë;
- Referenca të buffers.
Lista e plotë e zgjerimeve të reja:
- (Semafor kronologjik), që unifikojnë sinkronizimin me hostin dhe radhët e pajisjeve (lejojnë përdorimin e një primitive për sinkronizimin e të gjitha drejtimet midis pajisjes dhe hostit, pa nevojën për primitive të ndara VkFence dhe VkSemaphore). Semaforët e rinj paraqiten si një vlerë 64-bit që rritet monotone, e cila mund të ndjekë dhe përditësohet në disa tela.
- më shumë se 50 struktura të reja dhe 13 funksione;
- Përgatitur variante të shkurtuara të specifikimeve për platforma të caktuara, që thjeshtojnë punën në platforma për të cilat nuk janë mbështetur të gjitha zgjerimet, dhe që lejojnë përdorimin pa aktivizimin e veçantë të mundësive themelore të API Vulkan.
- Vazhduar puna mbi projektin për të siguruar portabilitetin me API të tjera grafike. Për shembull, në Vulkan janë propozuar zgjerime që lejojnë translacionin e OpenGL (), OpenCL (, ), OpenGL ES (GLOVE, Angle) dhe DirectX (, ) nëpërmjet API Vulkan, si dhe, anasjelltas, për të siguruar funksionimin e Vulkan në platforma pa mbështetje native ( dhe për të punuar mbi OpenGL dhe DirectX, dhe gfx-rs për të punuar mbi Metal).
Për të përmirësuar përputhshmërinë me DirectX dhe HLSL, janë shtuar zgjerime
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, si dhe në SPIR-V janë realizuar mundësi specifike HLSL.
Nga planet për të ardhmen, përmendet zhvillimi i zgjerimeve për inteligjencën artificiale, rrezet e rrezatimit, kodimin dhe dekodimin e videove, mbështetje për VRS (sh shading me normë të ndryshueshme) dhe shaderët e Mesh.
Kujtojmë se API Vulkan përmirësimin radikal të drejtuesve, zhvendosjen e gjenerimit të komandave GPU në anën e aplikacionit, mundësinë e lidhjes së shtresave të debuggimit, unifikimin e API për platforma të ndryshme dhe aplikimin e përfaqësimit të kodit të parakomplikuar për ekzekutimin në anën e GPU. Për të siguruar performancë të lartë dhe parashikueshmëri, Vulkan u ofron aplikacioneve mjete për menaxhimin e drejtpërdrejtë të operacioneve GPU dhe mbështetje të integruar për përpunimin shumëfishe të komandave GPU, gjë që minimizon kostot që sjell drejtuesi, ndërsa mundësitë që realizohen në anën e drejtuesit thjeshtohen ndjeshëm dhe bëhen më të parashikueshme. Për shembull, operacione si menaxhimi i memories dhe përpunimi i gabimeve, të realizuara në OpenGL në anën e drejtuesit, në Vulkan janë zhvendosur në nivelin e aplikacionit.
Vulkan mbulon tĂ« gjitha platformat e disponueshme dhe ofron njĂ« API tĂ« unifikuar pĂ«r sistemet desktop, mobile dhe Web, duke mundĂ«suar pĂ«rdorimin e njĂ« API-je tĂ« pĂ«rbashkĂ«t pĂ«r procesorĂ« tĂ« ndryshĂ«m grafikĂ« dhe fusha tĂ« ndryshme pĂ«rdorimi. FalĂ« arkitekturĂ«s shumĂ«-shtresore tĂ« Vulkan, qĂ« nĂ«nkupton krijimin e mjeteve qĂ« punojnĂ« me çdo GPU, prodhuesit e pajisjeve mund tĂ« pĂ«rdorin gjatĂ« zhvillimit mjete standarde pĂ«r verifikimin e kodit, debugimin dhe profilizimin. PĂ«r krijimin e shader-Ă«ve ofrohet pĂ«rfaqĂ«simi i ri portativ ndĂ«rmjetĂ«s SPIR-V, i bazuar nĂ« LLVM dhe qĂ« pĂ«rdor teknologjitĂ« bazĂ« tĂ« pĂ«rbashkĂ«ta me OpenCL. PĂ«r menaxhimin e pajisjeve dhe ekraneve nĂ« Vulkan ofrohet ndĂ«rfaqja WSI (Window System Integration), e cila zgjidh afĂ«rsisht tĂ« njĂ«jtat detyra si EGL nĂ« OpenGL ES. MbĂ«shtetja pĂ«r WSI Ă«shtĂ« e disponueshme qĂ« nĂ« fillim nĂ« Wayland â tĂ« gjitha aplikacionet qĂ« pĂ«rdorin Vulkan mund tĂ« ekzekutohen nĂ« mjedisin e serverĂ«ve Wayland tĂ« pamodifikuar. MundĂ«sia e funksionimit pĂ«rmes WSI ofrohet gjithashtu pĂ«r Android, X11 (me DRI3), Windows, Tizen, macOS dhe iOS.
Burimi: opennet.ru


