Опубликован графический стандарт Vulkan 1.3

После двух лет работы консорциум Khronos, занимающийся разработкой графических стандартов, опубликовал спецификацию Vulkan 1.3, определяющую API для доступа к графическим и вычислительным возможностям GPU. Новая спецификация вобрала в себя накопившиеся за два года исправления и расширения. Отмечается, что требования спецификации Vulkan 1.3 рассчитаны на графическое оборудование класса OpenGL ES 3.1, что позволит обеспечить поддержку нового графического API во всех GPU, поддерживающих Vulkan 1.2. Инструментарий Vulkan SDK планируют опубликовать в середине февраля. Помимо основной спецификации планируется предложить дополнительные расширения для мобильных и настольных устройств среднего и высшего звена, поддержка которых будет осуществляться в рамках редакции «Vulkan Milestone».

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

Основные новшества:

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

Vulkan охватывает все доступные платформы и предоставляет единый API для настольных, мобильных систем и Web, позволяя использовать один общий API для различных графических процессоров и областей применения. Благодаря многослойной архитектуре Vulkan, подразумевающей создание инструментов, работающих с любыми GPU, производители оборудования могут использовать при разработке типовые инструменты для проверки кода, отладки и профилирования. Для создания шейдеров предлагается новое переносимое промежуточное представление SPIR-V, основанное на LLVM и использующее общие с OpenCL базовые технологии. Для управления устройствами и экранами в Vulkan предлагается интерфейс WSI (Window System Integration), решающий примерно те же задачи, что и EGL в OpenGL ES. Поддержка WSI из коробки доступна в Wayland — все приложения, использующие Vulkan, могут запускаться в окружении немодифицированных серверов Wayland. Возможность работы через WSI также обеспечена для Android, X11 (c DRI3), Windows, Tizen, macOS и iOS.

Источник: http://www.opennet.ru/opennews/art.shtml?num=56576