Khronos-konsortiet, som arbetar med utvecklingen av grafiska standarder, har erkÀnt den fulla kompatibiliteten hos den öppna drivrutinen NVK med Vulkan-specifikation 1.4 pÄ system med NVIDIA GPU:er baserade pÄ mikroarkitekturerna Maxwell (GTX 700/800/900), Pascal (GTX 1000) och Volta (TITAN V). Drivrutinen har framgÄngsrikt klarat alla tester i CTS (Khronos Conformance Test Suite) och Àr inkluderad i listan över certifierade drivrutiner. Att fÄ certifikatet gör det möjligt att officiellt hÀvda kompatibilitet med grafiska standarder och anvÀnda relaterade varumÀrken frÄn Khronos.
FrÄn och med Mesa 25.1 kommer Vulkan-drivrutinen NVK att anvÀndas som standard för NVIDIA GPU:er med Maxwell, Pascal och Volta. I Mesa 25.2 kommer stöd för OpenGL för ovanstÄende GPU:er som standard att byta frÄn Nouveau-drivrutinen till Zink i kombination med Vulkan-drivrutinen NVK. Zink tillhandahÄller en implementation av OpenGL 4.6 ovanpÄ Vulkan, vilket gör det möjligt att fÄ maskinvaruaccelererad OpenGL pÄ enheter som stöder Vulkan-API. Prestandan för Zink Àr nÀra prestandan hos inhemska OpenGL-implementationer.
Tidigare sÀkerstÀlldes kompatibiliteten med Vulkan 1.4 i NVK endast för nya NVIDIA GPU:er baserade pÄ mikroarkitekturerna Turing (GeForce GTX 16xx, RTX 20xx och Quadro RTX), Ampere (GeForce RTX 30xx och RTX A2000/4000/5000/6000) och Ada (GeForce RTX 4xxx, RTX 4000 SFF, RTX 4xxx/5000/6000 Ada). Arbetet pÄgÄr för att lÀgga till stöd för GPU:er baserade pÄ mikroarkitekturerna Kepler och Fermi i NVK, men deras stöd kommer att begrÀnsas till högst Vulkan 1.2 pÄ grund av hÄrdvarubegrÀnsningar.
Drivrutinen NVK har skapats frÄn grunden av ett team som inkluderar Karol Herbst (utvecklare av Nouveau frÄn Red Hat), David Airlie (maintainer av DRM-subsystemet frÄn Red Hat) och Jason/Faith Ekstrand (aktiv utvecklare av Mesa frÄn Collabora). Vid skapandet av drivrutinen anvÀnde utvecklarna officiella header-filer och öppna kernelmoduler som publicerats av NVIDIA. I koden för NVK anvÀndes ibland grundlÀggande komponenter frÄn OpenGL-drivrutinen Nouveau, men pÄ grund av skillnader i namngivning i NVIDIAs header-filer och namnen i Nouveau, baserat pÄ omvÀnd ingenjörskonst, var direkt lÄning av kod svÄrt och i stort sett fick man ompröva mÄnga saker och implementera dem frÄn grunden.
Utvecklingen skedde med fokus pÄ att skapa en ny referens Vulkan-drivrutin för Mesa, vars kod kan anvÀndas vid skapandet av andra drivrutiner. För detta ÀndamÄl försökte vi under arbetet med NVK-drivrutinen ta hÀnsyn till all befintlig erfarenhet av att utveckla Vulkan-drivrutiner, bibehÄlla kodbasen i optimalt skick och minimera överföringen av kod frÄn andra Vulkan-drivrutiner, och göra det som bör göras för optimal och högkvalitativ funktion istÀllet för att blint kopiera hur det görs i andra drivrutiner.
KĂ€lla: opennet.ru
