Gonilnik RADV Vulkan je bil preklopljen na uporabo ozadja prevajanja senčil ACO

V kodni bazi, uporabljeni za oblikovanje izdaje Mesa 20.2, izvajati preklop RADV, gonilnika Vulkan za čipe AMD, za uporabo privzetega ozadja za prevajanje senčil "ACO“, ki ga razvija Valve kot alternativo prevajalniku senčil LLVM. Ta sprememba bo povečala zmogljivost igre in zmanjšala čas zagona. Za vrnitev starega zaledja je na voljo spremenljivka okolja “RADV_DEBUG=llvm”.

Preklop gonilnika RADV na novo zaledje je postal mogoč, potem ko je ACO dosegel enakovredno funkcionalnost s starim zaledjem, ki ga je razvil AMD za gonilnik AMDGPU, ki se še naprej uporablja v gonilniku RadeonSI OpenGL. Testiranje s strani Valve razkrilda je ACO skoraj dvakrat hitrejši od prevajalnika senčil AMDGPU v smislu hitrosti prevajanja in dokazuje povečanje FPS v nekaterih igrah, ko se izvajajo v sistemih z gonilnikom RADV.

Gonilnik RADV Vulkan je bil preklopljen na uporabo ozadja prevajanja senčil ACO

Gonilnik RADV Vulkan je bil preklopljen na uporabo ozadja prevajanja senčil ACO

Zaledje ACO je namenjeno zagotavljanju generiranja kode, ki je čim bolj optimalno za senčnike igralnih aplikacij, kot tudi doseganju zelo visoke hitrosti prevajanja. ACO je napisan v C++, zasnovan z mislijo na prevajanje JIT in uporablja hitre iterativne podatkovne strukture, pri čemer se izogiba strukturam, ki temeljijo na kazalcih. Vmesna predstavitev kode v celoti temelji na SSA (Static Single Assignment) in omogoča dodeljevanje registra z natančnim predizračunom registra glede na senčnik.

Dodatek: ACO trenutno deluje samo za gonilnik Mesa RADV Vulkan. Ampak ACO razvijalci potrjenoda bo njihov naslednji korak začetek dela na razširitvi zmogljivosti ACO za podporo gonilnika RadeonSI OpenGL, tako da bo lahko ACO v prihodnosti za ta gonilnik nadomestil privzeti prevajalnik senčil LLVM.

Vir: opennet.ru

Dodaj komentar