I kodbasen som anvÀnds för att skapa Mesa version 20.2, en omstÀllning av RADV, Vulkan-drivrutinen för AMD-chips, till att som standard anvÀnda backend för kompilering av shader «», som utvecklas av Valve som ett alternativ till LLVM shaderkompilatorn. Den angivna Àndringen kommer att leda till förbÀttrad spelprestanda och kortare laddningstider. För att ÄtergÄ till den gamla backend finns en miljövariabel «RADV_DEBUG=llvm».
ĂvergĂ„ngen av RADV-drivrutinen till den nya backend möjliggjordes efter att ACO uppnĂ„tt funktionsparitet med den Ă€ldre backend som AMD utvecklat för AMDGPU-drivrutinen, som fortsatt anvĂ€nds i OpenGL-drivrutinen RadeonSI. Den testning som genomförts av Valve , visar att ACO nĂ€stan dubbelt sĂ„ snabbt övertrĂ€ffar AMDGPU shaderkompilatorn i kompilationshastighet och ökar FPS i vissa spel nĂ€r de körs pĂ„ system med RADV-drivrutinen.
ACO backend syftar till att sÀkerstÀlla att kodgenereringen Àr sÄ optimal som möjligt för shader-koden i spelapplikationer, samt att uppnÄ en mycket hög kompilationshastighet. ACO Àr skrivet i C++, utvecklas med tanke pÄ möjligheten för JIT-kompilering och anvÀnder snabba datastrukturer för genomsökning, utan att förlita sig pÄ pekarbaserade strukturer. Den mellanliggande kodrepresentationen baseras helt pÄ SSA (Static Single Assignment) och möjliggör registerallokering genom att noggrant förberÀkna registret baserat pÄ shadern.
TillÀgg: För nÀrvarande fungerar ACO endast för Vulkan-drivrutinen Mesa RADV. Men utvecklarna av ACO , har meddelat att deras nÀsta steg kommer att vara att pÄbörja arbetet med att utöka ACO:s möjligheter för att stödja OpenGL-drivrutinen RadeonSI, sÄ att ACO Àven i framtiden kan ersÀtta LLVM shaderkompilatorn som standard för denna drivrutin.
KĂ€lla: opennet.ru
