В LLVM-бэкэнде драйвера Radeon планировщик инструкций заменен на VLIW

В Gallium3D драйвер R600g для бэкэнда на основе LLVM был внесен любопытный патч, обеспечивающий замену обычного планировщика команд на специфичный для архитектуры VLIW (very long instruction word). В данный момент планировщик не оптимален и даже не полностью учитывает ограничения на группировку команд в VLIW-группах. Однако финализатор из файла r600_asm.c может исправить группировку команд, а патч даже в таком виде позволил достигнуть ускорения на 50% для вычислительного SHA-1 шейдера, но не оказал большого влияния на FPS в большинстве тестов. Предположительно, патч может значительно ускорить выполнение больших шейдеров.

©  OpenNet