Byl publikován grafický standard Vulkan 1.2

Konsorcium Khronos, které se zabývá vývojem grafických standardů,
vydal specifikaci Vulkan 1.2, která definuje API pro přístup k grafickým a výpočetním schopnostem GPU. Nová specifikace zahrnuje opravy, které se nasbíraly za poslední dva roky, a rozšíření. Ovladače s podporou nové verze Vulkan jsou již vydal společnosti Intel, AMD, ARM, Imagination Technologies a NVIDIA. V Mesa je podpora Vulkan 1.2 nabízena pro ovladače RADV (grafické karty AMD) a ANV (Intel). Podpora Vulkan 1.2 je také realizována v nástroji RenderDoc 1.6, LunarG Vulkan SDK a sadě příkladů Vulkan-Samples.

Hlavní novinky:

  • Byla dokončena implementace programovacího jazyka shaderů HLSL, vyvinutého společností Microsoft pro DirectX. Podpora HLSL ve Vulkan umožňuje používání stejných HLSL shaderů v aplikacích založených na Vulkan a DirectX, a také usnadňuje překlad z HLSL do SPIR-V. Pro kompilaci shaderů se doporučuje použít standardní kompilátor
    DXC, který byl zveřejněn společností Microsoft v roce 2017 a vychází z technologie LLVM. Podpora Vulkan je realizována prostřednictvím samostatného backendu, který umožňuje převod HLSL do meziproduktu shaderů SPIR-V. Implementace pokrývá nejen všechny zabudované funkce
    HLSL, včetně matematických typů, řídicích struktur, funkcí, množin, typů zdrojů, prostorů jmen, Shader Model 6.2, struktur a metod, ale také umožňuje využití speciálních rozšíření pro Vulkan, jako je VKRay od NVIDIA. V režimu HLSL nad Vulkan se podařilo zprovoznit hry jako Destiny 2, Red Dead Redemption II, Assassin’s Creed Odyssey a Tomb Raider.

    Byl publikován grafický standard Vulkan 1.2
  • Byla aktualizována specifikace SPIR-V 1.5, která definuje univerzální meziprodukt shaderů pro všechny platformy, který se může používat jak pro grafiku, tak pro paralelní výpočty.
    SPIR-V předpokládá vyčlenění samostatné fáze kompilace shaderů do meziproduktu, což umožňuje vytváření frontendů pro různé vysoce úrovňové jazyky. Na základě různých pro vysokou úroveň realizací se generuje jednotný meziproduktový kód, který mohou používat ovladače OpenGL, Vulkan a OpenCL bez potřeby zabudovaného kompilátoru shaderů.

    Byl publikován grafický standard Vulkan 1.2
  • V hlavním API Vulkan je zahrnuto 23 rozšíření, která umožnila zvýšit výkon, zlepšit kvalitu zobrazení a usnadnit vývoj. Mezi přidaná rozšíření patří:
    • Chronologické semafory (Časová semafor), unifikující synchronizace s hostitelem a frontami zařízení (umožňují použít jeden primitiv pro obousměrnou synchronizaci mezi zařízením a hostitelem, bez použití oddělených primitiv VkFence a VkSemaphore). Nové semafory jsou prezentovány jako monotónně rostoucí 64-bitová hodnota, kterou je možné sledovat a aktualizovat v několika vláknech.
      Byl publikován grafický standard Vulkan 1.2
    • Možnost použití číselných typů s nižší přesností ve shaderech;
    • Kompatibilní varianta rozložení paměti s HLSL;
    • Nezávislé zdroje (bindless), odstraňující omezení na počet dostupných pro shadery zdrojů díky využití společného virtuálního prostoru systémové paměti a paměti GPU;
    • Formální model paměti, který určuje, jak mohou paralelně prováděné vlákna přistupovat ke sdíleným datům a operacím synchronizace;
    • Indexování deskriptorů pro opětovné použití deskriptorů rozložení v několika shaderech;
    • Odkazy na buffery.

    Úplný seznam přidaných rozšíření:

  • Bylo přidáno více než 50 nových struktur a 13 funkcí;
  • Připraveny zjednodušené varianty specifikace pro standardní cílové platformy, které usnadňují práci na platformách, pro které zatím nejsou podporována všechna rozšíření, a umožňují obejít se bez selektivní aktivace základních funkcí API Vulkan.
  • Pokračuje práce na projektu zajištění přenositelnosti s jinými grafickými API. Například ve Vulkan byly navrženy rozšíření, která umožňují převod OpenGL (Zink), OpenCL (clspv, clvk), OpenGL ES (GLOVE, Angle) a DirectX (DXVK, vkd3d) přes API Vulkan, stejně jako naopak pro zajištění provozu Vulkan na platformách bez jeho nativní podpory (gfx-rs a Ashes pro provoz nad OpenGL a DirectX, MoltenVK a gfx-rs pro provoz nad Metal).
    Pro zlepšení kompatibility s DirectX a HLSL byla přidána rozšíření
    VK_KHR_host_query_reset, VK_KHR_uniform_buffer_standard_layout, VK_EXT_scalar_block_layou, VK_KHR_separate_stencil_usage, VK_KHR_separate_depth_stencil_layouts, a také ve SPIR-V byly implementovány specifické možnosti HLSL.

Mezi budoucími plány se zmiňuje rozvoj rozšíření pro strojové učení, ray tracing, kódování a dekódování videa, podporu VRS (variable-rate shading) a Mesh-shaderů.

Připomínáme, že API Vulkan je pozoruhodné je zásadním zjednodušením ovladačů, přesunem generování příkazů GPU na stranu aplikace, možností připojit ladicí vrstvy, unifikací API pro různé platformy a užíváním prekompilovaného mezikódu pro vykonávání na straně GPU. Pro zajištění vysokého výkonu a předvídatelnosti poskytuje Vulkan aplikacím prostředky pro přímé řízení operací GPU a vestavěnou podporu vícetrhu příkazů GPU, což minimalizuje režijní náklady zaváděné ovladačem, zatímco možnosti realizované na straně ovladače se výrazně zjednodušují a stávají se více předvídatelnými. Například operace, jako je správa paměti a zpracování chyb, realizované v OpenGL na straně ovladače, jsou ve Vulkanu přesunuty na úroveň aplikace.

Vulkan pokrývá všechny dostupné platformy a poskytuje jednotné API pro desktopové, mobilní systémy a Web, umožňující používat jedno společné API pro různé grafické procesory a oblasti použití. Díky vícetérové architektuře Vulkan, která подразumí vytváření nástrojů fungujících na jakémkoliv GPU, mohou výrobci hardwaru při návrhu používat typové nástroje pro kontrolu kódu, ladění a profilování. Pro vytváření shaderů se nabízí nové přenositelné mezikódo SPIR-V, založené na LLVM a využívající technologie společné s OpenCL. Pro řízení zařízení a obrazovek Vulkan nabízí rozhraní WSI (Window System Integration), které řeší přibližně stejné úkoly jako EGL v OpenGL ES. Podpora WSI je z krabice k dispozici ve Waylandu – všechny aplikace používající Vulkan lze spouštět v prostředí nemodifikovaných serverů Wayland. Možnost práce přes WSI je také zajištěna pro Android, X11 (s DRI3), Windows, Tizen, macOS a iOS.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster