Для пользователей дискретной графики Intel Arc под Linux намечается важное улучшение в инструментах разработки. В основной код открытого драйвера ANV (который является частью графического стека Mesa) было добавлено ключевое изменение, закладывающее фундамент для полноценной поддержки захвата и воспроизведения (capture/replay) Vulkan Ray-Tracing.
Слитый коммит под названием «anv: shader vma allocator» вводит в драйвер новый аллокатор виртуальной памяти для шейдеров. Если не вдаваться в технические дебри, суть такова:
-
Старая система управления памятью шейдеров имела архитектуру, которая затрудняла резервирование конкретных виртуальных адресов на GPU.
-
Новый аллокатор построен с нуля для явного (explicit) управления этими адресами. Это обязательное требование для работы инструментов отладки, которым необходимо «запоминать» и точно воспроизводить расположение данных при трассировки лучей.
Как поясняется в комментарии к коммиту, это изменение — «архитектурная подготовка для захвата и воспроизведения лучей».
Захват и воспроизведение (Capture/Replay)
Эта технология — священный грааль для отладки сложной графики. Она позволяет:
-
Записать («захватить») все команды и данные, которые GPU использовал для рендеринга кадра с трассировкой лучей.
-
Точно воспроизвести этот кадр в инструменте отладки (например, в RenderDoc), но уже в замедленном режиме, с возможностью пошагового анализа.
Без этой возможности найти причину артефактов, вылетов или низкой производительности в RT-сценах было крайне сложно — как искать иголку в стоге сена вслепую.
Сообщество подтвердило: этого нового аллокатора достаточно в комбинации с другим запросом на слияние (merge request) 10-месячной давности, который добавляет поддержку RT Capture/Replay Handles. Вместе они уже обеспечивают работоспособность захвата RT-шейдеров.
Польза от этой функции колоссальна для двух групп:
-
Разработчикам драйверов Intel: Они смогут гораздо быстрее находить и исправлять ошибки в реализации Vulkan Ray-Tracing.
-
Разработчикам игр и движков: У них появится мощный инструмент для оптимизации RT-эффектов в своих проектах под Intel Arc на Linux.
Ожидается, что оставшийся кусок пазла (тот самый старый merge request) будет окончательно принят в основную ветку Mesa в течение цикла разработки Mesa 26.0, релиз которой намечен на следующий квартал. Это приближает эру стабильной и хорошо отлаженной трассировки лучей на Linux для владельцев видеокарт Intel.