Очередное крупное улучшение для открытого Vulkan-драйвера AMD RADV ожидает нас в предстоящем релизе Mesa 26.0. Патчи, над которыми работал Тимур Кристоф (Timur Kristóf) — один из разработчиков графических драйверов Valve под Linux — наконец-то приняты в основную ветку. Речь идёт о реализации выделенной очереди операций копирования (transfer-only queue), использующей аппаратный движок SDMA.
Долгий путь к реализации
История этого функционала насчитывает годы:
-
В 2018-2019 годах появились первые запросы (bug reports) на добавление такой очереди для улучшения потоковой подгрузки ресурсов и дефрагментации памяти.
-
Ключевым аргументом было то, что проприетарный драйвер AMDVLK от AMD и драйвер NVIDIA уже поддерживали подобную возможность.
-
Многие Vulkan-приложения и бэкенды (включая DXVK для запуска Direct3D игр) давно умеют использовать такие очереди для оптимизации.
-
Сам merge request (запрос на слияние кода) под названием «radv: Add a dedicated transfer-only queue using SDMA» был открыт ещё в октябре 2023 года, и с тех пор Тимур активно работал над его доведением до ума.
Что это даст на практике?
Выделенная очередь копирования позволяет разгрузить основные графические (compute) очереди GPU. Задачи по копированию данных (например, подгрузка текстур, буферов вершин) теперь могут выполняться параллельно и более эффективно на отдельном аппаратном блоке (SDMA), что в теории должно:
-
Уменьшить микроподтормаживания (stuttering) при потоковой подгрузке ресурсов в играх.
-
Улучшить общую производительность в сценариях с активным копированием данных.
-
Повысить эффективность дефрагментации памяти GPU.
Технические детали и доступность
-
Поддержка GPU: Функция работает на графических архитектурах GFX9 (Vega) и новее.
-
Как включить: Пока что для активации требуется задать переменную окружения
RADV_PERFTEST=transfer_queue. -
Кто сможет воспользоваться: Одним из ключевых компонентов, способных извлечь выгоду, является DXVK — слой, переводящий Direct3D вызовы в Vulkan. Это означает потенциальный прирост производительности во множестве Windows-игр, запускаемых через Proton.
-
Бенчмарки: В merge request не приведены конкретные цифры производительности, поэтому точный масштаб улучшения станет понятен после более широкого тестирования сообществом.
Когда ждать?
Стабильный релиз Mesa 26.0 запланирован на февраль. Заморозка функциональности (feature freeze) и ветвление кода ожидаются уже на следующей неделе.
Это улучшение — отличный пример того, как долгосрочная и кропотливая работа open-source разработчиков, в том числе спонсируемых Valve, постепенно выводит возможности открытого стека на уровень проприетарных аналогов, делая гейминг на Linux под видеокарты AMD ещё более комфортным.