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

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3571
Зарегистрирован: 20.08.2022

#

Опубликован графический стандарт Vulkan 1.4
Дата публикации:Mon, 02 Dec 2024 22:29:37 +0300




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




Продукты с поддержкой Vulkan 1.4 готовятся выпустить компании AMD, Arm, Imagination, Intel, NVIDIA, Qualcomm и Samsung. Открытые драйверы для GPU AMD (radv), Apple M1/M2 (honeykrisp), Intel (anv), NVIDIA (nvk) и Qualcomm (tu), развиваемые проектом Mesa, уже прошли все тесты совместимости с Vulkan 1.4 из набора CTS (Khronos Conformance Test Suite) и включены в список сертифицированных драйверов. В список также включены драйверы
Samsung и Qualcomm для платформы Android, а также драйверы для GPU PowerVR D-Series DXT* от компании Imagination Technologies и проприетарные драйверы NVIDIA.




Основные новшества:
  • Добавлена поддержка механизма "Streaming Transfers", предназначенного для обеспечения потоковой передачи больших объёмов данных между основной системой (хостом) и графическим устройством, не прерывая при этом рендеринг и не замедляя его производительность. Механизм реализован при помощи нового расширения VK_EXT_host_image_copy, поддержка которого является опциональной.

    Переведены в разряд обязательных возможности, нацеленные на повышение производительности:

    Push Descriptors - возможность записывать обновления дескрипторов непосредственно в буфер команд, вместо создания отдельных наборов дескрипторов и их привязки к буферу команд.

    VK_KHR_dynamic_rendering_local_read - позволяет выполнять чтение из вложенных буферов (attachments) и ресурсов, записанных предыдущими фрагментными шейдерами, в рамках динамических проходов рендеринга (render pass).

    VK_EXT_scalar_block_layout - позволяет использовать Си-подобную структуру для блоков SPIR-V, в которой можно выравнивать не скалярные типы на основе размера их компонентов.
В состав включены расширения VK_KHR_maintenance5 и VK_KHR_maintenance6, предоставляющее вспомогательные команды и структуры для упрощения управления ресурсами и шейдерами.

Гарантирована поддержка рендеринга с разрешением 8K (7680 x 4320 пикселей) и с использованием до 8 независимых буферов рендеринга.

В состав включены расширения:
Переведены в разряд обязательных многие возможности, ранее являвшиеся опциональными.
Добавлена большая порция новых команд и структур.












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



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



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




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



Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62331

Жизнь за Нер'зула!

Ответить