Разработчик Натали Вок (Natalie Vock) из компании Valve представила очередную серию значительных улучшений производительности трассировки лучей для видеокарт AMD в Linux-драйвере Mesa. Эти изменения дополняют работу, которая была проделана ранее. Речь идёт о доработках драйвера Mesa RADV, направленных на устранение узких мест при трассировке лучей, включая оптимизацию обработки косвенных RT-диспетчей и переработку логики распределения потоков, что обеспечивает заметный прирост производительности в играх, особенно на движках Unreal Engine с активным использованием ray tracing.
Первое, из новых, улучшение было отправлено в Mesa два дня назад и уже принято. Запрос на слияние носит название «Use wave32 for RT on gfx11+». В его описании разработчик отмечает:
Компилятор ACO стал значительно лучше формировать инструкции VOPD, и результаты тестирования, судя по отзывам, указывают на небольшой, но положительный эффект от этого изменения.
Кроме того, архитектура gfx12 в будущем также начнёт требовать использования wave32 для динамического распределения регистров VGPR.
Результаты измерений на GPU navi31:
Cyberpunk 2077:
Разница при доверительном интервале 95,0%
1,12333 +/- 0,42876
1,88216% +/- 0,718391%
(t-критерий Стьюдента, объединённое s = 0,189165)Бенчмарк Black Myth Wukong:
Разница при доверительном интервале 95,0%
4 +/- 1,30862
13,9535% +/- 4,56495%
(t-критерий Стьюдента, объединённое s = 0,57735)Portal with RTX:
66,2 мс -> 61,5 мс (примерно 7,64% прироста производительности)

Второй запрос на слияние, открытый примерно 20 часов назад и озаглавленный «Use function calls to separate out any-hit/intersection shader compilation», выглядит не менее интересным. В его описании говорится:
Наконец-то в трассировке лучей появились вызовы функций!
А теперь давайте использовать их для действительно крутых вещей.
С этим MR драйвер RADV может компилировать any-hit и intersection шейдеры раздельно. Больше нет принудительного встраивания всего кода в один огромный «мегашейдер»! В играх, которые активно используют и компилируют any-hit и intersection шейдеры, это даёт по-настоящему безумные улучшения на всех поколениях GPU:
Компиляция RT-пайплайнов в играх на Unreal Engine 4 с трассировкой лучей (например, Ghostwire Tokyo и The Callisto Protocol) становится в 10 раз быстрее. Да, на порядок быстрее! В одном из моих захватов Fossilize для Ghostwire Tokyo время воспроизведения сократилось с 4 минут 20 секунд до всего лишь 20 секунд.
Кроме того, в этих UE-играх часто наблюдались очень сильные фризы при компиляции нового RT-пайплайна.
Теперь эти фризы полностью исчезли.Помимо этого, значительно улучшается и производительность во время выполнения (в затронутых приложениях). Кто бы мог подумать, что встраивание сотен шейдеров в чрезвычайно горячий цикл может негативно влиять на производительность?!
По моим прикидкам «на салфетке», чистая производительность трассировки лучей в Ghostwire Tokyo увеличивается более чем в 2 раза. В любом случае FPS возрастает примерно с 30 до 40 на моей 7900XTX.
Похоже, что с этим MR мы также примерно выходим на уровень производительности Windows в сцене Ghostwire Tokyo, которую я тестировал.Улучшения производительности в других приложениях и не-UE4 проектах могут отличаться, но я уверен, что довольно много программ выиграют от этих изменений. (Cyberpunk 2077, впрочем, не выигрывает — игра использует максимум один any-hit шейдер и поэтому не затрагивается этим MR.)
Что касается организации MR:
Он основан на !38679 для корректного распределения регистров в any-hit шейдерах.
Большинство других коммитов ACO (529b0546, 40b49ff5 и 9702e59e) являются условно необязательными — они улучшают производительность, но этот MR полезен и без них. При необходимости я могу вынести их в отдельный MR.
Остаётся надеяться, что позднее не будет обнаружено регрессий, однако даже без глубокого анализа очевидно, что 2026 год обещает стать очень сильным для открытых графических драйверов в Linux.
Не исключено, что значительная часть этой работы направлена на подготовку новой Steam Machine.
Что касается сроков выхода следующих релизов Mesa, то текущий график выглядит следующим образом:
| Ветка | Ожидаемая дата | Релиз | Примечания |
|---|---|---|---|
| 25.3 | 2026-01-14 | 25.3.4 | |
| 2026-01-28 | 25.3.5 | ||
| 2026-02-11 | 25.3.6 | Последний запланированный релиз ветки 25.3 | |
| 26.0 | 2026-01-21 | 26.0.0-rc1 | Точка ответвления ветки 26.0 |
| 2026-01-28 | 26.0.0-rc2 | ||
| 2026-02-04 | 26.0.0-rc3 | ||
| 2026-02-11 | 26.0.0-rc4 | или финальный релиз 26.0.0 |
Linux: обзоры и обновления
• Релиз Garuda Linux 260115 с драйверами NVIDIA 590 и инструментом garuda-config-agent
• Графический стек Mesa для Linux получил новые улучшения трассировки лучей для видеокарт AMD
• Opera GX выйдет на Linux: пользователи раскритиковали браузер за сбор данных
• Релиз рабочего окружения GNOME 48.8 с исправлением ошибок и обновлением библиотек
• Игровой магазин GOG планирует улучшить поддержку Linux в 2026 году
• KDE Plasma 6.6 Beta: новые модули системы и замена SDDM