A Valve új shader-fordítót nyitott az AMD GPU-khoz

Szelep Társaság javasolta A Mesa fejlesztői levelezőlistája új shader fordítóval rendelkezik ACO a Vulkan vezető RADV számára, pozícionálható az OpenGL és Vulkan RadeonSI és RADV illesztőprogramokban használt AMDGPU shader fordító alternatívájaként az AMD grafikus chipekhez.
A tesztelés és a funkcionalitás véglegesítése után a tervek szerint az ACO-t felkínálják a Mesa fő összetételébe.

A Valve javasolt kódjának célja a lehető legoptimálisabb kódgenerálás biztosítása a játékalkalmazás-shaderek számára, valamint nagyon magas fordítási sebesség elérése. A Mesa shader fordítója LLVM komponenseket használ, amelyek nem biztosítják a kívánt fordítási sebességet, és nem teszik lehetővé a korábban komoly hibákat okozó vezérlőfolyam teljes irányítását. Ezenkívül az LLVM-től való eltávolodás lehetővé teszi agresszívebb eltéréselemzés megvalósítását és a regiszterterhelés finomabb szabályozását, ami lehetővé teszi hatékonyabb végrehajtható fájlok előállítását.

Az ACO C++ nyelven íródott, a JIT fordítást szem előtt tartva, és gyors iteratív adatstruktúrákat használ, elkerülve a mutató alapú struktúrákat, például a linkelt listákat és a def-use láncokat. A közbenső kódábrázolás teljes mértékben azon alapul SSA (Static Single Assignment), és lehetővé teszi a regiszter kiosztását a regiszter pontos előre kiszámításával a shadertől függően.

A diszkrét AMD GPU-k (dGPU VI+) jelenleg csak a pixel (töredék) és a számítási árnyékolók támogatottak. Az ACO azonban már helyesen gyűjti a shadereket az összes tesztelt játékhoz, beleértve a Shadow of the Tomb Raider és a Wolfenstein II komplex árnyékolóit is. A tesztelésre javasolt ACO prototípus a fordítási sebességet tekintve majdnem kétszer olyan gyors, mint az AMDGPU shader fordító, és egyes játékokban FPS növekedést mutat, ha RADV-illesztőprogramot használó rendszereken fut.

A Valve új shader-fordítót nyitott az AMD GPU-khoz

A Valve új shader-fordítót nyitott az AMD GPU-khoz

Forrás: opennet.ru

Hozzászólás