ACO ഷേഡർ കംപൈലേഷൻ ബാക്കെൻഡ് ഉപയോഗിക്കുന്നതിന് RADV Vulkan ഡ്രൈവർ മാറി

В кодовой базе, используемой для формирования выпуска Mesa 20.2, осуществлено переключение RADV, Vulkan-драйвера для чипов AMD, на использование по умолчанию бэкенда для компиляции шейдеров «ACO«, который развивается компанией Valve в качестве альтернативы компилятору шейдеров LLVM. Указанное изменение приведёт к увеличению производительности игр и сокращению времени их запуска. Для возвращения старого бэкенда предусмотрена переменная окружения «RADV_DEBUG=llvm».

Переключение драйвера RADV на новый бэкенд стало возможным после достижении в ACO паритета по функциональности со старым бэкендом, разработанным AMD для драйвера AMDGPU, который продолжает применяться в OpenGL-драйвере RadeonSI. Проведённое компанией Valve тестирование വെളിപ്പെടുത്തി, что ACO почти в два раза превосходит компилятор шейдеров AMDGPU по скорости компиляции и демонстрирует увеличение FPS в некоторых играх, при их работе на системах с драйвером RADV.

ACO ഷേഡർ കംപൈലേഷൻ ബാക്കെൻഡ് ഉപയോഗിക്കുന്നതിന് RADV Vulkan ഡ്രൈവർ മാറി

ACO ഷേഡർ കംപൈലേഷൻ ബാക്കെൻഡ് ഉപയോഗിക്കുന്നതിന് RADV Vulkan ഡ്രൈവർ മാറി

Бэкенд ACO нацелен на обеспечение генерации кода, насколько это возможно оптимального для шейдеров игровых приложений, а также на достижение очень высокой скорости компиляции. ACO написан на языке С++, разрабатывается с оглядкой на возможность применения для JIT-компиляции и использует быстрые для перебора структуры данных, избегая структур на основе указателей. Промежуточное представление кода полностью основывается на SSA (Static Single Assignment) и позволяет выполнять распределение регистров, точно предварительно вычисляя регистр в зависимости от шейдера.

Дополнение: На данный момент ACO работает только для Vulkan-драйвера Mesa RADV. Но разработчики ACO സ്ഥിരീകരിച്ചു, что их следующим шагом будет начало работы над расширением возможностей ACO для обеспечения поддержки OpenGL-драйвера RadeonSI, чтобы в будущем и для этого драйвера ACO смог заменить собой по умолчанию компилятор шэйдеров LLVM.

അവലംബം: opennet.ru

ഒരു അഭിപ്രായം ചേർക്കുക