Kiendeshaji cha Vulkan cha RADV kimebadilishwa ili kutumia mandharinyuma ya mkusanyiko wa ACO shader

Katika codebase inayotumiwa kuunda toleo la Mesa 20.2, kutekelezwa kubadilisha RADV, kiendeshi cha Vulkan kwa chipsi za AMD, kutumia mazingira ya msingi ya kuunda vivuli "ACO", ambayo inatengenezwa na Valve kama mbadala kwa mkusanyaji wa shader wa LLVM. Mabadiliko haya yatasababisha kuongezeka kwa utendakazi wa mchezo na kupunguza muda wa uzinduzi. Ili kurudisha mandharinyuma ya zamani, utofauti wa mazingira "RADV_DEBUG=llvm" umetolewa.

Kubadilisha kiendeshi cha RADV hadi kwenye sehemu mpya ya nyuma kuliwezekana baada ya ACO kupata usawa katika utendakazi na hali ya nyuma ya zamani iliyotengenezwa na AMD kwa kiendeshi cha AMDGPU, ambayo inaendelea kutumika katika kiendeshi cha RadeonSI OpenGL. Kupima kwa Valve umebainikwamba ACO ina kasi ya karibu mara mbili ya kikusanyaji cha shader ya AMDGPU katika suala la kasi ya utungaji na inaonyesha ongezeko la ramprogrammen katika baadhi ya michezo inapoendeshwa kwenye mifumo iliyo na kiendeshi cha RADV.

Kiendeshaji cha Vulkan cha RADV kimebadilishwa ili kutumia mandharinyuma ya mkusanyiko wa ACO shader

Kiendeshaji cha Vulkan cha RADV kimebadilishwa ili kutumia mandharinyuma ya mkusanyiko wa ACO shader

Mazingira ya nyuma ya ACO yanalenga kutoa utengenezaji wa msimbo ambao ni bora iwezekanavyo kwa vivuli vya programu ya michezo ya kubahatisha, na pia kufikia kasi ya juu sana ya ujumuishaji. ACO imeandikwa katika C++, iliyoundwa kwa kuzingatia mkusanyiko wa JIT, na hutumia miundo ya data inayorudiwa kwa haraka, kuepuka miundo inayotegemea vielelezo. Uwakilishi wa kati wa msimbo unategemea kabisa SSA (Ugawaji wa Rejesta Moja) na inaruhusu ugawaji wa rejista kwa kukokotoa rejista kwa usahihi kulingana na shader.

Nyongeza: Kwa sasa, ACO inafanya kazi kwa kiendeshi cha Mesa RADV Vulkan pekee. Lakini watengenezaji wa ACO imethibitishwakwamba hatua yao inayofuata itakuwa kuanza kazi ya kupanua uwezo wa ACO ili kusaidia kiendesha RadeonSI OpenGL, ili katika siku zijazo, kwa kiendeshi hiki, ACO iweze kuchukua nafasi ya mkusanyaji chaguo-msingi wa LLVM shader.

Chanzo: opennet.ru

Kuongeza maoni