Grafiken Standard Vulkan 1.2 publizéiert

De Khronos Konsortium, deen Grafiknormen entwéckelt,
publizéiert Spezifizéierung Vulkan 1.2, déi eng API definéiert fir Zougang zu de Grafiken an d'Rechenméiglechkeeten vun der GPU. Déi nei Spezifizéierung enthält Korrekturen, déi iwwer zwee Joer accumuléiert sinn an Expansioun. Chauffeuren déi déi nei Versioun vum Vulkan ënnerstëtzen si scho entlooss Intel Firma, AMD, ARM, Imagination Technologies an NVIDIA. Mesa bitt Vulkan 1.2 Ënnerstëtzung fir Chauffeuren RADV (AMD Kaarten) an ANV (Intel). Vulkan 1.2 Support gëtt och am Debugger implementéiert RenderDoc 1.6, LunarG Vulkan SDK an eng Rei vu Beispiller Vulkan Echantillon.

Haaptstrooss Innovatiounen:

  • Iech bruecht Ëmsetzung vun enger Shader Programméiersprooch bis prett fir verbreet Benotzung HLSL, entwéckelt vu Microsoft fir DirectX. HLSL Ënnerstëtzung am Vulkan mécht et méiglech déi selwecht HLSL shaders an Uwendungen baséiert op Vulkan an DirectX ze benotzen, an och vereinfacht d'Iwwersetzung vun HLSL zu SPIR-V. Fir Shaders ze kompiléieren, ass et recommandéiert e Standard Compiler ze benotzen
    DXC, déi vu Microsoft am 2017 opgemaach gouf a baséiert op der LLVM Technologie. Vulkan Support gëtt duerch e separaten Backend ëmgesat, wat Iech erlaabt HLSL an eng Zwëschenvertriedung vu SPIR-V Shaders ze iwwersetzen. D'Ëmsetzung deckt net nëmmen all agebaute Fäegkeeten
    HLSL, dorënner mathematesch Typen, Kontrollfloss, Funktiounen, Sets, Ressourcentypen, Nummraim, Shader Model 6.2, Strukturen a Methoden, awer erlaabt och d'Benotzung vu Vulkan-spezifesche Verlängerungen wéi VKRay vun NVIDIA. Am HLSL Modus uewen op Vulkan war et méiglech d'Aarbecht vu Spiller wéi Destiny 2, Red Dead Redemption II, Assassin's Creed Odyssey an Tomb Raider ze organiséieren.

    Grafiken Standard Vulkan 1.2 publizéiert

  • Spezifizéierung aktualiséiert SPIR-V 1.5, déi eng Zwëschenvertriedung vu Shaders definéiert, déi universell fir all Plattformen ass a ka fir Grafiken a Parallel Computing benotzt ginn.
    SPIR-V involvéiert d'Trennung vun enger separater Shader-Kompilatiounsphase an eng Zwëschenvertriedung, déi Iech erlaabt Frontends fir verschidde High-Level Sproochen ze kreéieren. Baséierend op verschidden High-Level Implementatiounen gëtt en eenzegen Zwëschencode getrennt generéiert, dee vun OpenGL, Vulkan an OpenCL Treiber benotzt ka ginn ouni den agebaute Shader Compiler ze benotzen.

    Grafiken Standard Vulkan 1.2 publizéiert

  • De Kär Vulkan API enthält 23 Extensiounen déi d'Performance erhéijen, d'Renderingqualitéit verbesseren an d'Entwécklung vereinfachen. Ënnert den zousätzleche Verlängerungen:
    • Chronologesch Semaphoren (Timeline Semaphore), vereenegt Synchroniséierung mam Host an Apparat Schlaangen (erlaabt Iech eng Primitiv fir omnidirektional Synchroniséierung tëscht dem Apparat an dem Host ze benotzen, ouni separat VkFence a VkSemaphore Primitiv ze benotzen). Nei Semaphoren ginn duerch e monoton erhéicht 64-Bit Wäert vertrueden, deen iwwer verschidde Threads verfollegt an aktualiséiert ka ginn.
      Grafiken Standard Vulkan 1.2 publizéiert

    • Fäegkeet fir numeresch Zorte mat reduzéierter Präzisioun an Shaders ze benotzen;
    • HLSL kompatibel Erënnerung Layout Optioun;
    • Unbound Ressourcen (bindlos), déi d'Begrenzung vun der Unzuel vun de Ressourcen, déi fir Shaders verfügbar sinn, läscht andeems de gemeinsame virtuelle Raum vum System Memory a GPU Memory benotzt;
    • Formell Erënnerung Modell, wat definéiert wéi concurrent thread kënnen Zougang zu gedeelt Daten a Synchroniséierungsoperatioune kréien;
    • Descriptor Indexéierung Layout Descriptoren iwwer verschidde Shaders nei ze benotzen;
    • Buffer Linken.

    Voll Lëscht vun zousätzleche Verlängerungen:

  • Bäiginn méi wéi 50 nei Strukturen an 13 Funktiounen;
  • Kuerzter Versioune vun der Spezifizéierung goufen fir typesch Zilplattformen virbereet, d'Aarbecht op Plattformen vereinfacht fir déi all Extensiounen nach net ënnerstëtzt ginn, an et erlaabt een ouni selektiv Aktivatioun vun de Basisfäegkeeten vun der Vulkan API ze maachen.
  • D'Aarbecht geet weider um Projet fir Portabilitéit mat anere Grafik APIen ze garantéieren. Zum Beispill, Vulkan bitt Extensiounen déi OpenGL Iwwersetzung erlaben (Zénk), OpenCL (clspv, clvk), OpenGL ES (HANDSCHOEN, Wénkel) an DirectX (DXVK, vkd 3d) duerch d'Vulkan API, an och, am Géigendeel, fir Vulkan z'erméiglechen op Plattformen ze schaffen ouni seng gebierteg Ënnerstëtzung (gfx-rs и Ashes fir uewen op OpenGL an DirectX ze schaffen, MoltenVK a gfx-rs fir uewen op Metal ze schaffen).
    Zousätzlech Extensiounen fir d'Kompatibilitéit mat DirectX an HLSL ze verbesseren
    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, an SPIR-V implementéiert spezifesch HLSL Fäegkeeten.

Pläng fir d'Zukunft enthalen d'Entwécklung vun Extensiounen fir Maschinnléieren, Ray Tracing, Videokodéierung an Decodéierung, Ënnerstëtzung fir VRS (Variable-Rate Shading) a Mesh Shaders.

Erënneren, datt de Vulkan API bemierkenswäert radikal Vereinfachung vun Chauffeuren, d'Generatioun vu GPU Kommandoen op d'Applikatiounssäit bewegt, d'Fäegkeet fir Debugschichten ze verbannen, d'API fir verschidde Plattformen ze vereenegen an eng virkompiléiert Zwëschenvertriedung vu Code fir Ausféierung op der GPU Säit ze benotzen. Fir héich Leeschtung an Prévisibilitéit ze garantéieren, bitt Vulkan Uwendungen mat direktem Kontroll iwwer GPU Operatiounen an natierlesch Ënnerstëtzung fir GPU Multi-Threading, wat de Chauffer Overhead miniméiert an d'Fähigkeiten op der Chauffersäit vill méi einfach a méi prévisibel mécht. Zum Beispill, Operatiounen wéi Erënnerung Gestioun a Feeler Ëmgank, an OpenGL op der Chauffer Säit ëmgesat, ginn op d'Applikatioun Niveau am Vulkan geplënnert.

Vulkan spant all verfügbare Plattformen a bitt eng eenzeg API fir Desktop, Handy a Web, wat et erlaabt eng gemeinsam API iwwer verschidde GPUs an Uwendungen ze benotzen. Dank Vulkan's Multi-Layer Architektur, dat heescht Tools déi mat all GPU funktionnéieren, OEMs kënnen Industrie-Standard Tools fir Code Iwwerpréiwung, Debugging a Profiléierung während der Entwécklung benotzen. Fir Shaders ze kreéieren, gëtt eng nei portabel Zwëschenvertriedung, SPIR-V, proposéiert, baséiert op LLVM a deelt Kärtechnologien mat OpenCL. Fir Geräter a Bildschirmer ze kontrolléieren, bitt Vulkan d'WSI (Window System Integration) Interface, déi ongeféier déiselwecht Probleemer wéi EGL an OpenGL ES léist. WSI Support ass verfügbar aus der Këscht am Wayland - all Uwendungen déi Vulkan benotzen kënnen an engem Ëmfeld vun onmodifizéierten Wayland Server lafen. D'Fäegkeet iwwer WSI ze schaffen ass och fir Android, X11 (mat DRI3), Windows, Tizen, macOS an iOS geliwwert.

Source: opennet.ru

Setzt e Commentaire