RADV Vulkan -ohjain on vaihdettu käyttämään ACO Shader -kokoelman taustaohjelmaa

Mesa 20.2 -julkaisun muodostamiseen käytetyssä koodikannassa toteutettu vaihtamalla RADV:n, Vulkan-ohjaimen AMD-siruille, käyttämään oletustaustaa shaderien kääntämiseen.ACO", jota Valve kehittää vaihtoehtona LLVM-shader-kääntäjälle. Tämä muutos lisää pelin suorituskykyä ja lyhentää käynnistysaikaa. Vanhan taustajärjestelmän palauttamiseksi annetaan ympäristömuuttuja “RADV_DEBUG=llvm”.

RADV-ohjaimen vaihtaminen uuteen taustajärjestelmään tuli mahdolliseksi sen jälkeen, kun ACO saavutti toiminnallisuuden pariteetin AMD:n AMDGPU-ohjaimelle kehittämän vanhan taustajärjestelmän kanssa, jota käytetään edelleen RadeonSI OpenGL -ohjaimessa. Valven testaus paljastuiettä ACO on lähes kaksi kertaa nopeampi kuin AMDGPU shader -kääntäjä käännösnopeuden suhteen ja osoittaa FPS:n lisääntymistä joissakin peleissä käytettäessä järjestelmiä, joissa on RADV-ohjain.

RADV Vulkan -ohjain on vaihdettu käyttämään ACO Shader -kokoelman taustaohjelmaa

RADV Vulkan -ohjain on vaihdettu käyttämään ACO Shader -kokoelman taustaohjelmaa

ACO-taustajärjestelmä on tarkoitettu tarjoamaan mahdollisimman optimaalista koodintuotantoa pelisovellusten varjostimille sekä saavuttamaan erittäin korkea käännösnopeus. ACO on kirjoitettu C++-kielellä, suunniteltu JIT-käännöksiä ajatellen, ja käyttää nopeita iteratiivisia tietorakenteita välttäen osoitinpohjaisia ​​rakenteita. Koodin väliesitys perustuu kokonaan SSA:han (Static Single Assignment) ja mahdollistaa rekisterin allokoinnin laskemalla rekisteri tarkasti varjostimesta riippuen.

Lisäys: Tällä hetkellä ACO toimii vain Mesa RADV Vulkan -ohjaimelle. Mutta ACO-kehittäjät vahvistettuettä heidän seuraava askel on aloittaa työ ACO:n ominaisuuksien laajentamiseksi tukemaan RadeonSI OpenGL -ajuria, jotta ACO voi tulevaisuudessa korvata tälle ohjaimelle oletusarvoisen LLVM-shader-kääntäjän.

Lähde: opennet.ru

Lisää kommentti