В кодовую базу Mesa 25.3 было добавлено интересное нововведение — поддержка расширения AMD Vulkan anti-lag, VK_AMD_anti_lag.
VK_AMD_anti_lag был представлен в Vulkan 1.3.281 в прошлом году как часть усилий AMD по снижению задержки во время игр. Данное расширение Vulkan регулирует работу CPU, чтобы обеспечить синхронность с GPU и минимизировать задержку между получением ввода и обновлением экрана.
AMD Anti Lag
Даниэль Шюрман, один из разработчиков графических драйверов Linux от Valve, работал над добавлением поддержки VK_AMD_anti_lag в Mesa. Этот функционал реализован как неявный слой Vulkan, который можно использовать с драйверами Mesa Vulkan. Шюрман объяснил это в ходе объединения кода, указав, что VK_AMD_anti_lag реализован как неявный слой Vulkan.
VkLayer_MESA_anti_lag представляет собой легковесный неявный слой, который обеспечивает открытой реализацией расширения VK_AMD_anti_lag.
Алгоритм, используемый этим слоем, довольно прост и ориентирован лишь на минимизацию задержки между вызовами vkQueueSubmit или vkQueueSubmit2 и началом выполнения этих запросов.
Для сборки VkLayer_MESA_anti_lag необходимо передать флаг -Dlayers=anti-lag в meson. Есть возможность либо установить слой, либо использовать
VK_ADD_IMPLICIT_LAYER_PATH=/share/vulkan/implicit_layer.d/
для целей тестирования. (Имейте в виду, что в этом случае потребуется внести изменения в пути к библиотекам в JSON-файле.)
После трех месяцев обсуждений и ревью, приятно видеть, что неявный слой VK_AMD_anti_lag был объединен в Mesa 25.3. Это позволит пользователям RADV и другим открытым драйверам Mesa Vulkan наслаждаться функцией антии лагов. Некоторые дистрибутивы Linux, такие как CachyOS, уже интегрировали эти патчи VK_AMD_anti_lag, ожидая, когда код будет внедрен в основную ветку.