NVK, NVIDIA graafikakaartide avatud draiver, toetab Vulkan 1.0

Graafikastandardeid arendav konsortsium Khronos on tunnistanud NVIDIA videokaartide avatud NVK draiveri täielikku ühilduvust Vulkan 1.0 spetsifikatsiooniga. Juht on edukalt läbinud kõik CTS-i (Kronos Conformance Test Suite) testid ja on kantud sertifitseeritud draiverite nimekirja. Sertifitseerimine on lõpetatud Turingi mikroarhitektuuril põhinevate NVIDIA GPU-de jaoks (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Test viidi läbi keskkonnas, kus oli Linuxi kernel 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 ja GNOME Shell 44.4. Sertifikaadi saamine võimaldab ametlikult deklareerida ühilduvust graafikastandarditega ja kasutada sellega seotud Khronose kaubamärke.

NVK draiveri ehitas nullist üles meeskond, kuhu kuulusid Karol Herbst (Red Hati Nouveau arendaja), David Airlie (DRM-i hooldaja Red Hatis) ja Jason Ekstrand (aktiivne Mesa arendaja ettevõttes Collabora). Draiveri loomisel kasutasid arendajad NVIDIA avaldatud ametlikke päisefaile ja avatud kerneli mooduleid. NVK kood kasutas mõnes kohas Nouveau OpenGL draiveri mõningaid põhikomponente, kuid NVIDIA päisefailide nimede ja Nouveau pöördprojekteeritud nimede erinevuste tõttu on koodi otsene laenamine keeruline ja enamjaolt. paljud asjad tuli nullist uuesti läbi mõelda ja ellu viia .

Arendust tehti silmas pidades Mesa jaoks uue Vulkani referentsdraiveri loomist, mille koodi saaks teiste draiverite loomisel laenata. Selleks püüdsid nad NVK draiveri kallal töötades võtta arvesse kogu olemasolevat kogemust Vulkani draiverite arendamisel, säilitada koodibaasi optimaalsel kujul ja minimeerida koodi ülekandmist teistelt Vulkani draiveritelt, tehes nii nagu see peaks olema. optimaalne ja kvaliteetne töö ning mitte pimesi kopeerimine, kuidas teistes draiverites tehtud. Draiver on Mesas juba sees ja vajalikud muudatused Nouveau DRM-i draiveri API-s on Linux 6.6 kernelis.

Teadaannete muudatuste hulgas märgib Mesa ka NVK jaoks uue taustakompilaatori kasutuselevõttu, mis on kirjutatud Rust keeles ja mis lahendab vanas kompilaatoris Kronose tekstide läbimist seganud probleeme, ning kõrvaldab mõned põhimõttelised piirangud. arhitektuur, mida ei saanud parandada ilma vana kompilaatori täieliku ümbertöötamiseta. Tulevikuplaanidest mainitakse uues taustaprogrammis Maxwelli mikroarhitektuuril põhineva GPU toe lisamist ja Vulkan 1.3 API täieliku toe rakendamist.

Allikas: opennet.ru

Lisa kommentaar