Konzorcium Khronos, ktoré sa zaoberá vývojom grafických štandardov, uznalo plnú kompatibilitu otvoreného ovládača NVK so špecifikáciou Vulkan 1.4 na systémoch s GPU NVIDIA na báze mikroarchitektúr Maxwell (GTX 700/800/900), Pascal (GTX 1000) a Volta (TITAN V). Ovládač úspešne prešiel všetkými testami z množiny CTS (Khronos Conformance Test Suite) a bol zaradený do zoznamu certifikovaných ovládačov. Získanie certifikátu umožňuje oficiálne deklarovať kompatibilitu s grafickými štandardmi a používať s nimi spojené ochranné známky Khronos.
Od verzie Mesa 25.1 bude Vulkan-ovládač NVK predvolene aktívny pre GPU NVIDIA Maxwell, Pascal a Volta. V Mesa 25.2 bude podpora OpenGL pre uvedené GPU predvolene prepnutá z ovládača Nouveau na Zink v spojení s Vulkan-ovládačom NVK. Zink poskytuje implementáciu OpenGL 4.6 nad Vulkanom, čo umožňuje získať hardvérové urýchlenie OpenGL na zariadeniach, ktoré podporujú API Vulkan. Výkon Zink je blízky výkonu natívnych implementácií OpenGL.
Predtým bola kompatibilita s Vulkan 1.4 v NVK zabezpečená len pre nové GPU NVIDIA na báze mikroarchitektúr Turing (série GeForce GTX 16xx, RTX 20xx a Quadro RTX), Ampere (série GeForce RTX 30xx a RTX A2000/4000/5000/6000) a Ada (série GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada). Pracuje sa na pridávaní podpory GPU na báze mikroarchitektúr Kepler a Fermi do NVK, ale ich podpora bude obmedzená maximálne na Vulkan 1.2 kvôli hardvérovým obmedzeniam.
Ovládač NVK bol vytvorený od základu tímom, do ktorého patrí Karol Herbst (vývojár Nouveau z Red Hat), David Airlie (údržbár pod systému DRM z Red Hat) a Jason/Faith Ekstrand (aktívny vývojár Mesa z Collabora). Pri vytváraní ovládača vývojári použili oficiálne hlavičkové súbory a otvorené moduly jadra, ktoré publikovala spoločnosť NVIDIA. V kóde NVK sa miestami používali základné komponenty OpenGL-ovládača Nouveau, ale kvôli rozdielom v názvoch v hlavičkových súboroch NVIDIA a názvoch v Nouveau, získaných na základe spätnej inžinierie, bolo priamé prebratie kódu sťažené a väčšinou bolo potrebné prehodnotiť viaceré veci a реализovať ich od základov.
Vývoj bol orientovaný na vytvorenie nového referenčného Vulkan ovládača pre Mesa, ktorého kód bude možné použiť pri vytváraní iných ovládačov. Pri práci na ovládači NVK sa snažili zohľadniť všetky existujúce skúsenosti s vývojom Vulkan ovládačov, udržiavať kódovú základňu v optimálnej podobe a minimalizovať prenos kódu z iných Vulkan ovládačov, pričom dbali na to, aby fungoval optimálne a kvalitne, a nie slepo kopírovali, ako je to urobené v iných ovládačoch.
Zdroj: opennet.ru
