Valve Company
Når testingen er fullført og funksjonaliteten er fullført, er ACO planlagt å bli tilbudt for inkludering i Mesa-hovedsammensetningen.
Valves foreslåtte kode er rettet mot å gi kodegenerering som er så optimal som mulig for spillapplikasjonsskyggere, samt å oppnå svært høy kompileringshastighet. Mesas shader-kompilator bruker LLVM-komponenter, som ikke gir ønsket kompileringshastighet og ikke tillater full kontroll over kontrollflyten, noe som har forårsaket alvorlige feil tidligere. I tillegg gjør det å gå bort fra LLVM det mulig å implementere mer aggressiv avviksanalyse og finere kontroll av registerbelastning, som lar deg generere mer effektive kjørbare filer.
ACO er skrevet i C++, designet med tanke på JIT-kompilering, og bruker raske iterative datastrukturer, og unngår pekerbaserte strukturer som koblede lister og def-use kjeder. Mellomkoderepresentasjonen er helt basert på
For øyeblikket støttes bare piksel (fragment) og dataskyggelegging på diskrete AMD GPUer (dGPU VI+). Imidlertid samler ACO allerede riktig shaders for alle testede spill, inkludert komplekse shaders fra Shadow of the Tomb Raider og Wolfenstein II. ACO-prototypen som er foreslått for testing, er nesten dobbelt så rask som AMDGPU shader-kompilatoren når det gjelder kompileringshastighet og demonstrerer en økning i FPS i noen spill når den kjøres på systemer med RADV-driveren.
Kilde: opennet.ru