Vulkan драйвер RADV е преминал на използване на бекенд за компилация на шейдъри ACO

В кодовата база, използвана за формиране на версия Mesa 20.2, е направен превключване на RADV, Vulkan драйвера за чипове AMD, за използване по подразбиране на backend за компилация на шейдъри «ACO«, който се развива от компанията Valve като алтернатива на LLVM шейдър компилатора. Посочената промяна ще доведе до увеличаване на производителността на игрите и намаляване на времето за зареждане. За връщане към стария backend е предвидена променлива на средата «RADV_DEBUG=llvm».

Преходът на драйвера RADV към новия бекенд стана възможен след постигане на паритет по функционалност с ACO със стария бекенд, разработен от AMD за драйвера AMDGPU, който продължава да се използва в OpenGL драйвера RadeonSI. Тестовете, проведени от компанията Valve, показа, показват, че ACO почти два пъти превъзхожда компилатора на шейдъри AMDGPU по скорост на компилация и демонстрира увеличение на FPS в някои игри, работещи на системи с драйвера RADV.

Vulkan драйвер RADV е преминал на използване на бекенд за компилация на шейдъри ACO

Vulkan драйвер RADV е преминал на използване на бекенд за компилация на шейдъри ACO

Бекендът ACO е насочен към осигуряване на генерирането на код, колкото е възможно оптимален за шейдърите на игровите приложения, както и за постигане на много висока скорост на компилация. ACO е написан на C++ и е разработен с оглед на възможността за JIT компилация, използвайки бързи структури данни, които избягват структурата на базата на указатели. Междинното представяне на кода напълно се основава на SSA (Static Single Assignment) и позволява разпределение на регистри, точно предварително изчислявайки регистъра в зависимост от шейдъра.

Допълнение: В момента ACO работи само за Vulkan драйвера Mesa RADV. Но разработчиците на ACO потвърдиха, че следващата им стъпка ще бъде започване на работа по разширяване на възможностите на ACO за осигуряване на поддръжка на OpenGL драйвера RadeonSI, за да може ACO в бъдеще да замени компилятора на шейдъри LLVM по подразбиране и за този драйвер.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster