NVK, avoin ohjain NVIDIA-näytönohjaimelle, tukee Vulkan 1.0:aa

Grafiikkastandardeja kehittävä Khronos-konsortio on tunnistanut NVIDIA-näytönohjainkorttien avoimen NVK-ohjaimen täydellisen yhteensopivuuden Vulkan 1.0 -spesifikaatioiden kanssa. Kuljettaja on läpäissyt kaikki CTS:n (Kronos Conformance Test Suite) testit ja on mukana sertifioitujen kuljettajien luettelossa. Sertifiointi on suoritettu Turing-mikroarkkitehtuuriin perustuville NVIDIA GPU:ille (TITAN RTX, GeForce RTX 2060/2070/2080, GeForce GTX 1660, Quadro RTX 3000-8000, Quadro T1000/T2000). Testi suoritettiin ympäristössä, jossa oli Linux-ydin 6.5, X.Org X Server 1.20.14, XWayland 22.1.9 ja GNOME Shell 44.4. Sertifikaatin hankkimisen avulla voit virallisesti vakuuttaa yhteensopivuuden grafiikkastandardien kanssa ja käyttää niihin liittyviä Khronos-tavaramerkkejä.

NVK-ajurin rakensi tyhjästä tiimi, johon kuuluivat Karol Herbst (Nouveau-kehittäjä Red Hatilla), David Airlie (DRM-ylläpitäjä Red Hatilla) ja Jason Ekstrand (aktiivinen Mesa-kehittäjä Collaborassa). Ohjainta luodessaan kehittäjät käyttivät virallisia otsikkotiedostoja ja NVIDIA:n julkaisemia avoimia ydinmoduuleja. NVK-koodissa käytettiin joissain paikoissa joitain Nouveau OpenGL -ajurin peruskomponentteja, mutta NVIDIA-otsikkotiedostojen nimien erojen ja Nouveaun käännetyn nimien erojen vuoksi koodin suora lainaus on vaikeaa ja suurimmaksi osaksi. monet asiat piti miettiä uudelleen ja toteuttaa tyhjästä.

Kehitystyössä pyrittiin luomaan Mesaan uusi referenssi-Vulkan-ajuri, jonka koodia voisi lainata muita ajureita luotaessa. Tätä varten he yrittivät NVK-ajurin parissa työskennellessään ottaa huomioon kaiken olemassa olevan kokemuksen Vulkan-ajurien kehittämisestä, ylläpitää koodikantaa optimaalisessa muodossa ja minimoida koodin siirron muista Vulkan-ajureista, tehden niin kuin pitääkin. optimaalinen ja laadukas työ, eikä sokeasti kopioida miten se tehdään muissa ohjaimissa. Ajuri sisältyy jo Mesaan, ja tarvittavat muutokset Nouveau DRM -ohjainsovellusliittymään sisältyvät Linux 6.6 -ytimeen.

Ilmoituksen muutoksina Mesa mainitsee myös uuden NVK:n taustakääntäjän käyttöönoton, joka on kirjoitettu Rust-kielellä ja joka ratkaisee vanhan kääntäjän ongelmat, jotka häiritsivät Kronos-tekstien kulkua sekä poistavat joitain perustavanlaatuisia rajoituksia. arkkitehtuuri, jota ei voitu korjata ilman vanhan kääntäjän täydellistä uudelleenkäsittelyä. Tulevaisuuden suunnitelmista mainitaan Maxwellin mikroarkkitehtuuriin perustuvan GPU-tuen lisääminen sekä Vulkan 1.3 API:n täyden tuen käyttöönotto uudessa taustajärjestelmässä.

Lähde: opennet.ru

Lisää kommentti