Paskelbtas grafikos standartas Vulkan 1.2

Khronos konsorciumas, kuriantis grafikos standartus,
paskelbti specifikacija Vulkan 1.2, kuri apibrėžia API, skirtą prieigai prie GPU grafikos ir skaičiavimo galimybių. Naujoji specifikacija apima per dvejus metus sukauptus pataisymus ir plėtros. Tvarkyklės, palaikančios naują „Vulkan“ versiją, jau yra paleistas Intel kompanija, AMD, ARM, Imagination Technologies ir "NVIDIA. Mesa siūlo Vulkan 1.2 palaikymą vairuotojams RADV (AMD kortelės) ir ANV („Intel“). „Vulkan 1.2“ palaikymas taip pat įdiegtas derinimo priemonėje RenderDoc 1.6, LunarG Vulkan SDK ir pavyzdžių rinkinys Vulkan-Samples.

pagrindinis naujoves:

  • Jums atnešė „Shader“ programavimo kalbos įdiegimas, kol jis bus paruoštas plačiam naudojimui HLSL, sukurta Microsoft DirectX. HLSL palaikymas Vulkan suteikia galimybę naudoti tuos pačius HLSL šešėliuotojus programose, pagrįstose Vulkan ir DirectX, taip pat supaprastina vertimą iš HLSL į SPIR-V. Shaderiams kompiliuoti siūloma naudoti standartinį kompiliatorių
    DXC2017 m. atidaryta „Microsoft“ sukurta LLVM technologija. „Vulkan“ palaikymas įgyvendinamas per atskirą užpakalinę programą, kuri leidžia paversti HLSL į tarpinį SPIR-V šešėlių atvaizdą. Diegimas apima ne tik visas integruotas galimybes
    HLSL, įskaitant matematinius tipus, valdymo srautus, funkcijas, rinkinius, išteklių tipus, vardų sritis, Shader Model 6.2, struktūras ir metodus, bet taip pat leidžia naudoti specifinius Vulkan plėtinius, tokius kaip VKRay iš NVIDIA. HLSL režimu ant Vulkan buvo galima organizuoti tokių žaidimų kaip Destiny 2, Red Dead Redemption II, Assassin’s Creed Odyssey ir Tomb Raider darbą.

    Paskelbtas grafikos standartas Vulkan 1.2

  • Atnaujinta specifikacija SPIR-V 1.5, kuris apibrėžia tarpinį šešėlių atvaizdavimą, kuris yra universalus visoms platformoms ir gali būti naudojamas tiek grafikai, tiek lygiagrečiam skaičiavimui.
    SPIR-V apima atskiros šešėlių kompiliavimo fazės atskyrimą į tarpinį atvaizdavimą, kuris leidžia sukurti sąsajas įvairioms aukšto lygio kalboms. Remiantis įvairiais aukšto lygio diegimais, atskirai generuojamas vienas tarpinis kodas, kurį gali naudoti OpenGL, Vulkan ir OpenCL tvarkyklės nenaudojant įmontuoto šešėlio kompiliatoriaus.

    Paskelbtas grafikos standartas Vulkan 1.2

  • Pagrindinėje Vulkan API yra 23 plėtiniai, kurie padidina našumą, pagerina atvaizdavimo kokybę ir supaprastina kūrimą. Tarp pridėtų plėtinių:
    • Chronologiniai semaforai (Laiko juostos semaforas), suvienijantis sinchronizavimą su pagrindinio kompiuterio ir įrenginio eilėmis (leidžiantis naudoti vieną primityvą įvairiakrypčiai įrenginio ir pagrindinio kompiuterio sinchronizacijai, nenaudojant atskirų VkFence ir VkSemaphore primityvų). Naujus semaforus vaizduoja monotoniškai didėjanti 64 bitų reikšmė, kurią galima sekti ir atnaujinti keliose gijose.
      Paskelbtas grafikos standartas Vulkan 1.2

    • Gebėjimas naudoti skaitinius tipus su sumažintu tikslumu šešėliuose;
    • Su HLSL suderinama atminties išdėstymo parinktis;
    • Nesurišti ištekliai (nepririšti), kuris pašalina šešėliams prieinamų išteklių skaičiaus apribojimą, naudojant bendrą virtualią sistemos atminties ir GPU atminties erdvę;
    • Formalus atminties modelis, kuris apibrėžia, kaip lygiagrečios gijos gali pasiekti bendrinamus duomenis ir sinchronizavimo operacijas;
    • Deskriptorių indeksavimas pakartotinai naudoti išdėstymo aprašus keliuose atspalviuose;
    • Buferinės nuorodos.

    Visas pridėtų plėtinių sąrašas:

  • Pridėta daugiau nei 50 naujų struktūrų ir 13 funkcijų;
  • Įprastoms tikslinėms platformoms parengtos sutrumpintos specifikacijos versijos, kurios supaprastina darbą platformose, kurių visi plėtiniai dar nepalaikomi, ir leidžia apsieiti be atrankinio pagrindinių Vulkan API galimybių aktyvinimo.
  • Tęsiamas darbas su projektu, siekiant užtikrinti perkeliamumą su kitomis grafinėmis API. Pavyzdžiui, „Vulkan“ siūlo plėtinius, leidžiančius vertimą OpenGL (Cinkas), OpenCL (clspv, clvk), OpenGL ES (PIRŠTINĖ, Kampas) ir DirectX (DXVK, vkd3d) per Vulkan API, taip pat, atvirkščiai, kad Vulkanas galėtų dirbti platformose be savojo palaikymo (gfx-rs и Pelenai dirbti su OpenGL ir DirectX, MoltenVK ir gfx-rs darbui ant metalo).
    Pridėta plėtinių, siekiant pagerinti suderinamumą su DirectX ir 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 ir SPIR-V cap įgyvendina specifines HLS galimybes.

Ateities planai apima mašininio mokymosi, spindulių sekimo, vaizdo kodavimo ir dekodavimo plėtinių kūrimą, VRS (kintamo greičio šešėliavimo) ir tinklinio šešėliavimo palaikymą.

Prisiminkite, kad Vulkan API nepaprastas radikaliai supaprastinti tvarkykles, perkelti GPU komandų generavimą į programos pusę, galimybė sujungti derinimo sluoksnius, suvienodinti API įvairioms platformoms ir naudojant iš anksto sukompiliuotą tarpinį kodo atvaizdą vykdymui GPU pusėje. Siekdama užtikrinti aukštą našumą ir nuspėjamumą, „Vulkan“ teikia programas su tiesioginiu GPU operacijų valdymu ir savuoju GPU kelių gijų palaikymu, o tai sumažina tvarkyklės išlaidas ir daro tvarkyklės galimybes daug paprastesnes ir labiau nuspėjamas. Pavyzdžiui, tokios operacijos kaip atminties valdymas ir klaidų tvarkymas, įdiegtos OpenGL tvarkyklės pusėje, perkeliamos į programos lygį Vulkan.

„Vulkan“ apima visas galimas platformas ir teikia vieną API staliniams kompiuteriams, mobiliesiems ir žiniatinkliui, leidžiančią vieną bendrą API naudoti keliuose GPU ir programose. Dėl „Vulkan“ daugiasluoksnės architektūros, kuri reiškia įrankius, veikiančius su bet kokiu GPU, OĮG gali naudoti standartinius įrankius kodo peržiūrai, derinimui ir profiliavimui kūrimo metu. Šešėliams sukurti siūlomas naujas nešiojamas tarpinis atvaizdavimas SPIR-V, pagrįstas LLVM ir dalijantis pagrindinėmis technologijomis su OpenCL. Įrenginiams ir ekranams valdyti Vulkan siūlo WSI (Window System Integration) sąsają, kuri išsprendžia maždaug tokias pačias problemas kaip ir EGL OpenGL ES. „Wayland“ WSI palaikymas pasiekiamas iš karto – visos „Vulkan“ naudojančios programos gali veikti nemodifikuotų „Wayland“ serverių aplinkoje. Galimybė dirbti per WSI taip pat suteikiama Android, X11 (su DRI3), Windows, Tizen, macOS ir iOS.

Šaltinis: opennet.ru

Добавить комментарий