Standard tal-grafika Vulkan 1.2 ippubblikat

Il-konsorzju Khronos, li jiżviluppa standards tal-grafika,
ippubblikati speċifikazzjoni Vulkan 1.2, li jiddefinixxi API għall-aċċess għall-grafika u l-kapaċitajiet tal-kompjuters tal-GPU. L-ispeċifikazzjoni l-ġdida tinkorpora korrezzjonijiet akkumulati fuq sentejn u espansjoni. Is-sewwieqa li jappoġġjaw il-verżjoni l-ġdida ta' Vulkan diġà huma meħlusa kumpanija Intel, AMD, ARM, Teknoloġiji tal-Immaġinazzjoni u NVIDIA. Mesa toffri appoġġ Vulkan 1.2 għas-sewwieqa RADV (karti AMD) u ANV (Intel). L-appoġġ Vulkan 1.2 huwa implimentat ukoll fid-debugger RenderDoc 1.6, LunarG Vulkan SDK u sett ta’ eżempji Vulkan-Kampjuni.

Il-prinċipali innovazzjonijiet:

  • Miġjuba lilek implimentazzjoni ta' lingwa ta' programmar shader sakemm tkun lesta għal użu mifrux HLSL, żviluppat minn Microsoft għal DirectX. L-appoġġ HLSL f'Vulkan jagħmilha possibbli li jintużaw l-istess shaders HLSL f'applikazzjonijiet ibbażati fuq Vulkan u DirectX, u jissimplifika wkoll it-traduzzjoni minn HLSL għal SPIR-V. Biex tiġbor shaders, huwa ssuġġerit li tuża kompilatur standard
    DXC, li nfetħet minn Microsoft fl-2017 u hija bbażata fuq it-teknoloġija LLVM. L-appoġġ Vulkan huwa implimentat permezz ta 'backend separat, li jippermettilek tittraduċi HLSL f'rappreżentazzjoni intermedja ta' shaders SPIR-V. L-implimentazzjoni tkopri mhux biss il-kapaċitajiet kollha integrati
    HLSL, inklużi tipi matematiċi, flussi ta 'kontroll, funzjonijiet, settijiet, tipi ta' riżorsi, namespaces, Shader Model 6.2, strutturi u metodi, iżda jippermetti wkoll l-użu ta 'estensjonijiet speċifiċi għal Vulkan bħal VKRay minn NVIDIA. Fil-modalità HLSL fuq Vulkan, kien possibbli li jiġi organizzat ix-xogħol ta 'logħob bħal Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey u Tomb Raider.

    Standard tal-grafika Vulkan 1.2 ippubblikat

  • Speċifikazzjoni aġġornata SPIR-V 1.5, li tiddefinixxi rappreżentazzjoni intermedja ta 'shaders li hija universali għall-pjattaformi kollha u tista' tintuża kemm għall-grafika kif ukoll għall-kompjuters paralleli.
    SPIR-V jinvolvi s-separazzjoni ta 'fażi ta' kumpilazzjoni shader separata f'rappreżentazzjoni intermedja, li tippermettilek toħloq frontends għal diversi lingwi ta 'livell għoli. Ibbażat fuq diversi implimentazzjonijiet ta 'livell għoli, kodiċi intermedju wieħed huwa ġġenerat separatament, li jista' jintuża minn sewwieqa OpenGL, Vulkan u OpenCL mingħajr ma juża l-kompilatur shader inkorporat.

    Standard tal-grafika Vulkan 1.2 ippubblikat

  • Il-qalba tal-Vulkan API tinkludi 23 estensjoni li jżidu l-prestazzjoni, itejbu l-kwalità tar-rendi, u jissimplifikaw l-iżvilupp. Fost l-estensjonijiet miżjuda:
    • Semafori kronoloġiċi (Semaphore Timeline), sinkronizzazzjoni li tgħaqqad mal-kjuwijiet tal-ospitanti u tal-apparat (li tippermettilek tuża primittiv wieħed għal sinkronizzazzjoni omnidirezzjonali bejn l-apparat u l-ospitant, mingħajr ma tuża primittivi VkFence u VkSemaphore separati). Semafori ġodda huma rappreżentati minn valur 64-bit li qed jiżdied b'mod monotoniku li jista 'jiġi ssorveljat u aġġornat fuq ħajt multipli.
      Standard tal-grafika Vulkan 1.2 ippubblikat

    • Kapaċità li tuża tipi numeriċi bi preċiżjoni mnaqqsa fix-shaders;
    • Għażla ta 'tqassim tal-memorja kompatibbli HLSL;
    • Riżorsi mhux marbuta (mingħajr rabta), li tneħħi l-limitazzjoni fuq in-numru ta 'riżorsi disponibbli għal shaders billi tuża l-ispazju virtwali kondiviż tal-memorja tas-sistema u l-memorja tal-GPU;
    • Mudell tal-memorja formali, li jiddefinixxi kif il-ħjut konkorrenti jistgħu jaċċessaw data kondiviża u operazzjonijiet ta 'sinkronizzazzjoni;
    • Indiċjar tad-deskritturi biex jerġgħu jintużaw deskritturi tat-tqassim fuq shaders multipli;
    • Buffer links.

    Lista sħiħa ta' estensjonijiet miżjuda:

  • Miżjud aktar minn 50 struttura ġdida u 13-il funzjoni;
  • Verżjonijiet imqassra tal-ispeċifikazzjoni ġew ippreparati għal pjattaformi fil-mira tipiċi, li jissimplifikaw ix-xogħol fuq pjattaformi li għalihom l-estensjonijiet kollha għadhom mhumiex appoġġjati, u jippermettu li wieħed jagħmel mingħajr attivazzjoni selettiva tal-kapaċitajiet bażiċi tal-API Vulkan.
  • Ikompli x-xogħol fuq il-proġett biex tiġi żgurata l-portabbiltà ma' APIs oħra tal-grafika. Pereżempju, Vulkan joffri estensjonijiet li jippermettu t-traduzzjoni OpenGL (Zink), OpenCL (clspv, clvk), OpenGL ES (GLOVE, Angle) u DirectX (DXVK, vkd3d) permezz tal-API Vulkan, u wkoll, bil-maqlub, biex jippermetti lil Vulkan jaħdem fuq pjattaformi mingħajr l-appoġġ nattiv tiegħu (gfx-rs и Irmied għax taħdem fuq OpenGL u DirectX, MoltenVK u gfx-rs għax-xogħol fuq il-metall).
    Estensjonijiet miżjuda biex itejbu l-kompatibilità ma 'DirectX u 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, u SPIR-V jimplimenta kapaċitajiet speċifiċi HLSL.

Pjanijiet għall-futur jinkludu l-iżvilupp ta 'estensjonijiet għat-tagħlim tal-magni, ray tracing, kodifikazzjoni u dekodifikazzjoni tal-vidjo, appoġġ għal VRS (sfumaturi b'rata varjabbli) u shaders tal-malji.

Ifakkar li l-API Vulkan notevoli is-sewwieqa jissimplifikaw b'mod radikali, iċċaqilqu l-ġenerazzjoni ta 'kmandi tal-GPU għan-naħa tal-applikazzjoni, il-kapaċità li jgħaqqdu saffi ta' debug, tgħaqqad l-API għal diversi pjattaformi u tuża rappreżentazzjoni intermedja prekompilata ta 'kodiċi għall-eżekuzzjoni fuq in-naħa tal-GPU. Biex tiżgura prestazzjoni għolja u prevedibbiltà, Vulkan jipprovdi applikazzjonijiet b'kontroll dirett fuq l-operazzjonijiet tal-GPU u appoġġ nattiv għall-GPU multi-threading, li jimminimizza l-overhead tas-sewwieq u jagħmel il-kapaċitajiet tan-naħa tas-sewwieq ħafna aktar sempliċi u prevedibbli. Pereżempju, operazzjonijiet bħall-ġestjoni tal-memorja u l-immaniġġjar tal-iżbalji, implimentati f'OpenGL fuq in-naħa tas-sewwieq, jitmexxew għal-livell ta 'applikazzjoni f'Vulkan.

Vulkan jifrex fuq il-pjattaformi kollha disponibbli u jipprovdi API waħda għad-desktop, il-mowbajl u l-web, li tippermetti li tintuża API komuni waħda f'diversi GPUs u applikazzjonijiet. Grazzi għall-arkitettura b'ħafna saffi ta 'Vulkan, li tfisser għodod li jaħdmu ma' kwalunkwe GPU, l-OEMs jistgħu jużaw għodod standard tal-industrija għal reviżjoni tal-kodiċi, debugging, u profiling waqt l-iżvilupp. Għall-ħolqien ta 'shaders, hija proposta rappreżentazzjoni intermedja portabbli ġdida, SPIR-V, ibbażata fuq LLVM u qsim ta' teknoloġiji ewlenin ma 'OpenCL. Biex tikkontrolla apparat u skrins, Vulkan joffri l-interface WSI (Window System Integration), li ssolvi bejn wieħed u ieħor l-istess problemi bħal EGL f'OpenGL ES. L-appoġġ WSI huwa disponibbli barra mill-kaxxa f'Wayland - l-applikazzjonijiet kollha li jużaw Vulkan jistgħu jaħdmu f'ambjent ta 'servers Wayland mhux modifikati. Il-ħila li taħdem permezz tal-WSI hija pprovduta wkoll għal Android, X11 (b'DRI3), Windows, Tizen, macOS u iOS.

Sors: opennet.ru

Żid kumment