RADV Vulkani draiver on lülitatud kasutama ACO shaderi kompileerimise taustaprogrammi

Mesa 20.2 väljalaske moodustamiseks kasutatud koodibaasis rakendatud AMD kiipide Vulkani draiveri RADV vahetamine varjundite kompileerimiseks vaikimisi taustaprogrammi kasutamiseks "ACO“, mida Valve arendab alternatiivina LLVM shaderi kompilaatorile. See muudatus suurendab mängu jõudlust ja vähendab käivitamisaega. Vana taustaprogrammi tagastamiseks antakse keskkonnamuutuja “RADV_DEBUG=llvm”.

RADV-draiveri vahetamine uuele taustaprogrammile sai võimalikuks pärast seda, kui ACO saavutas funktsionaalsuse võrdsuse vana taustaprogrammiga, mille AMD oli välja töötanud AMDGPU draiveri jaoks, mida kasutatakse jätkuvalt RadeonSI OpenGL-draiveris. Testimine Valve poolt paljastaset ACO on kompileerimiskiiruselt peaaegu kaks korda kiirem kui AMDGPU varjundikompilaator ja näitab FPS-i tõusu mõnes mängus RADV draiveriga süsteemides töötades.

RADV Vulkani draiver on lülitatud kasutama ACO shaderi kompileerimise taustaprogrammi

RADV Vulkani draiver on lülitatud kasutama ACO shaderi kompileerimise taustaprogrammi

ACO taustaprogrammi eesmärk on pakkuda mängurakenduste varjutajate jaoks võimalikult optimaalset koodi genereerimist, samuti saavutada väga kõrge kompileerimiskiirus. ACO on kirjutatud C++ keeles, loodud JIT-i kompileerimist silmas pidades ja kasutab kiireid iteratiivseid andmestruktuure, vältides osutipõhiseid struktuure. Koodi vahepealne esitus põhineb täielikult SSA-l (Static Single Assignment) ja võimaldab registrit jaotada, arvutades registri täpselt sõltuvalt varjundist.

Täiendus: Hetkel töötab ACO ainult Mesa RADV Vulkani draiveri jaoks. Aga ACO arendajad kinnitatudet nende järgmine samm on alustada tööd ACO võimaluste laiendamisega, et toetada RadeonSI OpenGL-draiverit, et tulevikus saaks ACO selle draiveri jaoks asendada vaikimisi LLVM-i varjundikompilaatori.

Allikas: opennet.ru

Lisa kommentaar