NVK, odprt gonilnik za grafične kartice NVIDIA, podpira Vulkan 1.0

Konzorcij Khronos, ki razvija grafične standarde, je prepoznal popolno združljivost odprtega gonilnika NVK za video kartice NVIDIA s specifikacijo Vulkan 1.0. Voznik je uspešno opravil vse teste CTS (Kronos Conformance Test Suite) in je uvrščen na seznam certificiranih voznikov. Certificiranje je bilo zaključeno za grafične procesorje NVIDIA, ki temeljijo na mikroarhitekturi Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Test je bil izveden v okolju z jedrom Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 in GNOME Shell 44.4. Pridobitev certifikata vam omogoča uradno izjavo o združljivosti z grafičnimi standardi in uporabo povezanih blagovnih znamk Khronos.

Gonilnik NVK je iz nič zgradila ekipa, v kateri so bili Karol Herbst (razvijalec Nouveau pri Red Hat), David Airlie (vzdrževalec DRM pri Red Hat) in Jason Ekstrand (aktivni razvijalec Mesa pri Collabora). Pri ustvarjanju gonilnika so razvijalci uporabili uradne datoteke glave in odprte module jedra, ki jih je objavila NVIDIA. Koda NVK je ponekod uporabljala nekatere osnovne komponente gonilnika Nouveau OpenGL, vendar je zaradi razlik v imenih v datotekah glave NVIDIA in imenih z obratnim inženiringom v Nouveau neposredna izposoja kode težavna in večinoma marsikaj je bilo treba premisliti in izvesti iz nič.

Razvoj je potekal z namenom ustvarjanja novega referenčnega gonilnika Vulkan za Mesa, katerega kodo bi si lahko izposodili pri ustvarjanju drugih gonilnikov. Da bi to dosegli, so pri delu na gonilniku NVK poskušali upoštevati vse obstoječe izkušnje pri razvoju gonilnikov Vulkan, vzdrževati bazo kode v optimalni obliki in minimizirati prenos kode iz drugih gonilnikov Vulkan, tako kot bi moralo biti za optimalno in kakovostno delo in ne slepo kopiranje opravljenega v drugih gonilnikih. Gonilnik je že vključen v Mesa, potrebne spremembe API-ja gonilnika Nouveau DRM pa so vključene v jedro Linuxa 6.6.

Med spremembami v objavi Mesa omenja tudi sprejetje novega zalednega prevajalnika za NVK, napisanega v jeziku Rust in reševanje težav v starem prevajalniku, ki so motili prehod besedil Kronos, ter odpravo nekaterih temeljnih omejitev prevajalnika arhitekture, ki je ni bilo mogoče popraviti brez popolne predelave starega prevajalnika. Med načrti za prihodnost sta v novem zaledju omenjena dodajanje podpore za GPU na osnovi mikroarhitekture Maxwell in implementacija polne podpore za API Vulkan 1.3.

Vir: opennet.ru

Dodaj komentar