Ieviests NVK, atvērts Vulkan draiveris NVIDIA videokartēm

Uzņēmums Collabora ir ieviesis NVK — jaunu Mesa atvērtā pirmkoda draiveri, kas ievieš Vulkan grafikas API NVIDIA videokartēm. Draiveris ir rakstīts no nulles, izmantojot oficiālos galvenes failus un atvērtā koda kodola moduļus, ko publicējusi NVIDIA. Vadītāja kods ir atvērts ar MIT licenci. Draiveris pašlaik atbalsta tikai GPU, kuru pamatā ir Tjūringa un Ampere mikroarhitektūras, kas izlaistas kopš 2018. gada septembra.

Projektu izstrādā komanda, kurā ietilpst Karols Herbsts, Red Hat Nouveau izstrādātājs, Deivids Airlijs, Red Hat DRM uzturētājs un Džeisons Ekstrands, aktīvs Mesa izstrādātājs uzņēmumā Collabora. Izstrādājot jaunu draiveri, dažviet tiek izmantotas Nouveau OpenGL draivera pamatkomponentes, taču, ņemot vērā nosaukumu atšķirības NVIDIA galvenes failos un nosaukumos Nouveau, kas iegūti, pamatojoties uz reverso inženieriju, tiešā veidā aizņemoties kods ir grūts un lielākoties vajadzēja daudzas lietas pārdomāt un ieviest ar nulli.

Izstrāde tiek veikta arī ar mērķi izveidot jaunu Mesa atsauces Vulkan draiveri, kura kodu var aizņemties, veidojot citus draiverus. Lai to izdarītu, strādājot pie draivera, NVK centās ņemt vērā visu esošo pieredzi Vulkan draiveru izstrādē, uzturēt koda bāzi optimālā formā un samazināt koda pārsūtīšanu no citiem Vulkan draiveriem, darot tā, kā vajadzētu, lai nodrošinātu optimālu. un kvalitatīvs darbs, nevis akli kopēšana kā tas tika darīts citos draiveros.

NVK draiveris ir izstrādāts tikai dažus mēnešus, tāpēc tā funkcionalitāte ir ierobežota. Vadītājs veiksmīgi iztur 98% testu, veicot 10% no Vulkan CTS (Compatibility Test Suite) testiem. Kopumā vadītāja gatavība tiek lēsta 20–25% no ANV un RADV draiveru funkcionalitātes. Aparatūras atbalsta ziņā draiveris pašlaik ir ierobežots ar kartēm, kuru pamatā ir Tjūringa un Ampere mikroarhitektūras. Tiek strādāts pie ielāpiem, lai atbalstītu Kepler, Maxwell un Pascal GPU, taču tie vēl nav gatavi.

Paredzams, ka ilgtermiņā NVIDIA grafisko karšu NVK draiveris sasniegs kvalitātes un funkcionalitātes līmeni, kas ir līdzīgs AMD karšu RADV draiverim. Kad NVK draiveris ir gatavs, tā izstrādes laikā izveidotās kopējās bibliotēkas var izmantot, lai uzlabotu Nouveau OpenGL draiveri NVIDIA videokartēm. Tiek apsvērta arī iespēja izmantot Zink projektu, lai ieviestu pilnvērtīgu OpenGL draiveri NVIDIA videokartēm, strādājot, izmantojot apraides zvanus uz Vulkan API.

Avots: opennet.ru

Pievieno komentāru