Новая версия Vulkan 1.3 уже вышла и это ее новости

После двух лет работы, Компания Khronos объявила о выпуске новой версии спецификации Vulkan 1.3. Новая спецификация включает в себя исправления и расширения, накопленные за два года.

Помимо этого представлен план реализации поддержки новой спецификации и дополнительные расширения в видеокартах и ​​драйверах устройств. Intel, AMD, ARM и NVIDIA готовят продукты, совместимые с Vulkan 1.3.

Например, AMD объявила, что скоро будет доступна поддержка Vulkan 1.3 на видеокартах серии AMD Radeon RX Vega, а также на всех картах на базе архитектуры AMD RDNA. NVIDIA готовится выпустить совместимые с Vulkan 1.3 драйверы для Linux и Windows, а ARM добавит поддержку Vulkan 1.3 для графических процессоров Mali.

Для тех, кто не знает Вулкан, они должны знать, что это API, который отличается кардинальным упрощением контроллеров, удаление генерации команд графического процессора на стороне приложения, возможность подключения слоев отладки, унификация API-интерфейсов для различных платформ и использование предварительно скомпилированного промежуточного рендеринга кода для выполнения на стороне графического процессора.

Чтобы обеспечить высокую производительность и предсказуемость, Vulkan предоставляет приложениям прямой контроль над операциями графического процессора и встроенную поддержку многопоточности графического процессора., что сводит к минимуму нагрузку на контроллер и делает возможности на стороне контроллера намного проще и предсказуемее. Например, такие операции, как управление памятью и обработка ошибок, реализованные в OpenGL на стороне драйвера, перенесены на прикладной уровень в Vulkan.

Vulkan охватывает все доступные платформы и предоставляет единый API для настольных компьютеров, мобильных устройств и Интернета, что позволяет использовать общий API для нескольких графических процессоров и приложений. Благодаря многоуровневой архитектуре Vulkan, создающей инструменты, которые работают с любым графическим процессором, OEM-производители могут использовать общие инструменты для проверки кода, отладки и профилирования во время разработки.

Основные новые функции Vulkan 1.3

В представленной новой версии Vulkan 1.3 подчеркивается, чтоe Обновлена ​​спецификация SPIR-V 1.6. определить промежуточное представление шейдеров, универсальное для всех платформ и может использоваться как для графики, так и для параллельных вычислений. SPIR-V включает в себя разделение отдельной фазы компиляции шейдера на промежуточное представление, что позволяет создавать интерфейсы для различных языков высокого уровня. На основе нескольких высокоуровневых реализаций отдельно генерируется единый промежуточный код, который может использоваться драйверами OpenGL, Vulkan и OpenCL без использования встроенного компилятора шейдеров.

Еще одно изменение, которое выделяется, - это то, что se предлагает концепцию профилей совместимости. Google первой разработала базовый профиль для платформы Android что упростит определение уровня поддержки расширенных функций Vulkan на устройстве, которое выходит за рамки спецификации Vulkan 1.0. Для большинства устройств поддержку профилей можно обеспечить без установки OTA-обновлений.

В реализована поддержка упрощенных проходов рендеринга (Оптимизация проходов рендеринга, VK_KHR_dynamic_rendering), которые позволяют начать рендеринг без создания проходов рендеринга и объектов фреймбуфера.

Кроме того, были добавлены новые расширения, облегчающие управление компиляцией конвейера графа:

  • VK_EXT_extended_dynamic_state, VK_EXT_extended_dynamic_state2 — добавляет дополнительные динамические состояния для уменьшения количества скомпилированных и прикрепленных объектов состояния.
  • VK_EXT_pipeline_creation_cache_control: обеспечивает расширенный контроль над тем, когда и как создавать конвейеры.
  • VK_EXT_pipeline_creation_feedback : предоставляет информацию о скомпилированных конвейерах для облегчения профилирования и отладки.

С другой стороны, также выделены некоторые функции, которые были перемещены из необязательных в обязательные. Например, теперь обязательно реализовать ссылки на буфер (VK_KHR_buffer_device_address) и модель памяти Vulkan, которая определяет, как параллельные потоки могут получать доступ к общим данным и операциям синхронизации.

Помимо этого обеспечен детальный контроль подгруппы (VK_EXT_subgroup_size_control), где провайдеры могут поддерживать несколько размеров подгрупп, а разработчики могут выбирать любой желаемый размер.

Было предоставлено расширение VK_KHR_shader_integer_dot_product что может использоваться для оптимизации производительности фреймворков машинного обучения через аппаратно-ускоренные операции с точечными продуктами.

Наконец, следует отметить, что требования спецификации Vulkan 1.3 предназначены для графического оборудования класса OpenGL ES 3.1, что обеспечит поддержку нового графического API на всех графических процессорах, поддерживающих Vulkan 1.2.

Выпуск набора инструментов Vulkan SDK запланирован на середину февраля. В дополнение к основной спецификации в рамках Vulkan Milestone Edition планируется поддержка дополнительных расширений для настольных и мобильных устройств среднего и высокого класса.

Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.