Суть обновления
7 ноября 2026 года вышла новая еженедельная спецификация Vulkan 1.4.368. Это небольшое обновление, закрывающее всего шесть внутренних проблем, но содержащее два значимых расширения, разработанных ведущими игроками индустрии — Valve и NVIDIA. Обновление доступно через официальный репозиторий GitHub.
Valve: оптимизация вершинных данных
Расширение VK_EXT_vertex_address_binding_unrestricted разработано Майком Блюменкранцем (Mike Blumenkrantz) из команды Linux-графики Valve и разработчиком Mesa. Оно решает проблему оптимизации обновлений атрибутов вершин.
Суть метода: если команда отрисовки (draw command) читает данные только из определенного смещения обновленного буфера, эти данные можно вынести в отдельный буфер. Используя vkCmdBindVertexBuffers3KHR, можно привязать данные так, чтобы только эффективное смещение, читаемое во время обработки вершин, было неотрицательным. Это позволяет снизить потребление памяти, отключив проверку адресов для данного сценария.
NVIDIA: прямой доступ к внутренним объектам
Второе расширение — VK_NV_internal_handle — позволяет приложениям и игровым движкам получать непрозрачные внутренние дескрипторы драйвера NVIDIA для определенных объектов Vulkan. Эти дескрипторы можно передавать внешним API, которые поддерживают специфичные для NVIDIA сценарии использования, обеспечивая более глубокую интеграцию между приложением и драйвером.
Сравнение новых расширений
| Параметр | VK_EXT_vertex_address_binding_unrestricted | VK_NV_internal_handle |
|---|---|---|
| Разработчик | Valve (Mike Blumenkrantz) | NVIDIA |
| Тип | Кросс-вендорное (EXT) | Вендорское (NV) |
| Основная цель | Оптимизация памяти при обновлении атрибутов вершинПередача внутренних дескрипторов драйвера во внешние API | |
| Ключевая функция | Отключение проверки адресов для оптимизированных сценариев | Получение непрозрачных дескрипторов объектов Vulkan |
Почему это важно
Для разработчиков игр и движков расширение от NVIDIA открывает путь к более тонкой настройке взаимодействия с аппаратным обеспечением, что может привести к повышению производительности в специфичных сценариях. Расширение от Valve, в свою очередь, предлагает инструмент для снижения накладных расходов на память при сложной работе с вершинными данными, что актуально для высокопроизводительных приложений с динамическим обновлением геометрии.
Источник: Phoronix ↗
