I kodebasen, der anvendes til at danne udgaven Mesa 20.2, en skift til RADV, Vulkan-driveren for AMD-chips, som standard bruger backenden til kompilering af shaderne ««, der udvikles af Valve som et alternativ til LLVM shader-kompilatoren. Denne ændring vil resultere i forbedret ydeevne i spil og kortere opstartstid. For at vende tilbage til den gamle backend er der en miljøvariabel «RADV_DEBUG=llvm».
Skiftet af RADV-driveren til den nye backend blev muligt efter ACO opnåede funktionalitetsparitet med den gamle backend, udviklet af AMD til AMDGPU-driveren, som stadig anvendes i OpenGL-driveren RadeonSI. Testene udført af Valve , viser at ACO næsten er to gange hurtigere end AMDGPU shader-kompilatoren med hensyn til kompileringstid og viser en stigning i FPS i nogle spil, når de kører på systemer med RADV-driveren.
ACO-backenden har som mål at sikre, at koden genereres så optimalt som muligt for shading applikationer, samt at nå en meget høj kompilationshastighed. ACO er skrevet i C++ og er udviklet med henblik på at blive brugt til JIT-kompilering og bruger hurtige datastrukturer til gennemløb, idet den undgår pointer-baserede strukturer. Den mellemliggende kode er helt baseret på SSA (Static Single Assignment) og muliggør registreringsfordeling, der præcist forberegner registreringen afhængigt af shaderen.
Bemærk: ACO fungerer i øjeblikket kun for Vulkan-driveren Mesa RADV. Men ACO-udviklerne , siger at deres næste skridt vil være at begynde at arbejde på at udvide ACO's muligheder for at understøtte OpenGL-driveren RadeonSI, så ACO i fremtiden også kan erstatte LLVM shader-kompilatoren som standard for denne driver.
Kilde: opennet.ru
