W NVK, otwartym sterowniku dla kart graficznych NVIDIA, zapewniono wsparcie dla Vulkan 1.0

Konsorcjum Khronos zajmujące się rozwojem standardów graficznych uznało pełną zgodność otwartego sterownika NVK dla kart graficznych NVIDIA ze specyfikacją Vulkan 1.0. Sterownik pomyślnie przeszedł wszystkie testy z zestawu CTS (Kronos Conformance Test Suite) i został uwzględniony na liście certyfikowanych sterowników. Certyfikacja dotyczy GPU NVIDIA opartego na mikroarchitekturze Turing (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Weryfikacja została przeprowadzona w środowisku z jądrem Linux 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 oraz GNOME Shell 44.4. Uzyskanie certyfikatu umożliwia oficjalne ogłoszenie zgodności ze standardami graficznymi oraz korzystanie z prezentowanych znaków towarowych Khronos.

Sterownik NVK został stworzony od podstaw przez zespół, w którego skład wchodzą Karol Herbst (Karol Herbst, deweloper Nouveau z Red Hat), David Airlie (David Airlie, maintainer subsystem DRM z Red Hat) oraz Jason Ekstrand (Jason Ekstrand, aktywny deweloper Mesa z Collabora). Przy tworzeniu sterownika deweloperzy korzystali z oficjalnych plików nagłówkowych oraz otwartych modułów jądra opublikowanych przez firmę NVIDIA. W kodzie NVK miejscami wykorzystywane były podstawowe komponenty OpenGL sterownika Nouveau, ale z powodu różnic w nazewnictwie w plikach nagłówkowych NVIDIA oraz nazw w Nouveau, uzyskanych na podstawie inżynierii odwrotnej, bezpośrednie zaciąganie kodu jest utrudnione i w większości przypadków trzeba było przewartościować wiele rzeczy i implementować je od podstaw.

Rozwój prowadzono z myślą o stworzeniu nowego referencyjnego sterownika Vulkan dla Mesa, którego kod będzie można zaciągnąć przy tworzeniu innych sterowników. W tym celu podczas pracy nad sterownikiem NVK starano się uwzględnić całe dotychczasowe doświadczenie w tworzeniu sterowników Vulkan, utrzymywać bazę kodu w optymalnej formie oraz minimalizować przenoszenie kodu z innych sterowników Vulkan, starając się realizować to, jak powinno być dla optymalnej i jakościowej pracy, a nie ślepo kopiując to, jak zrobiono to w innych sterownikach. Sterownik już wchodzi w skład Mesa, a niezbędne zmiany w API sterownika DRM Nouveau zostały włączone do jądra Linux 6.6.

W ogłoszeniu podano również, że do Mesa dołącza nowy kompilator backendowy dla NVK, napisany w języku Rust. Rozwiązuje on problemy w starym kompilatorze, które przeszkadzały w przetwarzaniu tekstów Kronos, a także eliminuje niektóre podstawowe ograniczenia architektury, których nie można było naprawić bez całkowitej przebudowy starego kompilatora. W planach na przyszłość wspomniano o dodaniu wsparcia dla GPU opartego na mikroarchitekturze Maxwell oraz o pełnej obsłudze API Vulkan 1.3.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster