NVK, atvira NVIDIA vaizdo plokščių tvarkyklė, palaiko Vulkan 1.0

„Khronos“ konsorciumas, kuriantis grafikos standartus, pripažino visišką NVIDIA vaizdo plokščių atviros NVK tvarkyklės suderinamumą su „Vulkan 1.0“ specifikacija. Vairuotojas sėkmingai išlaikė visus CTS (Kronos Conformance Test Suite) testus ir yra įtrauktas į sertifikuotų vairuotojų sąrašą. Sertifikuoti NVIDIA GPU, pagrįsti Turingo mikroarchitektūra (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Testas buvo atliktas aplinkoje su Linux branduoliu 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 ir GNOME Shell 44.4. Sertifikato gavimas leidžia oficialiai deklaruoti suderinamumą su grafikos standartais ir naudoti susijusius Khronos prekių ženklus.

NVK tvarkyklę nuo nulio sukūrė komanda, įskaitant Karolis Herbstas (Nouveau kūrėjas Red Hat), Davidas Airlie (DRM prižiūrėtojas įmonėje Red Hat) ir Jasonas Ekstrandas (aktyvus Mesa kūrėjas įmonėje Collabora). Kurdami tvarkyklę kūrėjai naudojo oficialius antraštės failus ir atvirus branduolio modulius, kuriuos paskelbė NVIDIA. NVK kode kai kuriose vietose buvo naudojami kai kurie pagrindiniai Nouveau OpenGL tvarkyklės komponentai, tačiau dėl pavadinimų skirtumų NVIDIA antraštės failuose ir atvirkštinės inžinerijos pavadinimų Nouveau, tiesioginis kodo skolinimasis yra sudėtingas ir dažniausiai. daug ką reikėjo permąstyti ir įgyvendinti nuo nulio .

Kūrimas buvo atliktas siekiant sukurti naują „Mesa“ etaloninę Vulkan tvarkyklę, kurios kodą būtų galima pasiskolinti kuriant kitas tvarkykles. Norėdami tai padaryti, dirbdami su NVK tvarkykle jie stengėsi atsižvelgti į visą turimą Vulkan tvarkyklių kūrimo patirtį, palaikyti optimalią kodų bazę ir sumažinti kodo perdavimą iš kitų Vulkan tvarkyklių, darydami taip, kaip turėtų. optimalus ir kokybiškas darbas, o ne aklai kopijavimas, kaip daroma kitose tvarkyklėse. Vairuotojas jau įtrauktas į Mesa, o būtini Nouveau DRM tvarkyklės API pakeitimai yra įtraukti į Linux 6.6 branduolį.

Tarp pranešimo pakeitimų „Mesa“ taip pat pažymi, kad buvo priimtas naujas NVK užpakalinis kompiliatorius, parašytas Rust kalba ir sprendžiantis senojo kompiliatoriaus problemas, trukdančias perduoti Kronos tekstus, taip pat pašalinus kai kuriuos esminius NVK apribojimus. architektūra, kurios nepavyko ištaisyti visiškai neperdirbus senojo kompiliatoriaus. Tarp ateities planų naujajame backend minimas GPU palaikymo papildymas Maxwell mikroarchitektūra ir visiško Vulkan 1.3 API palaikymo įdiegimas.

Šaltinis: opennet.ru

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