Vulkan получает новое расширение для улучшения шейдеров с помощью Nintendo

Это довольно неожиданно. Как это часто бывает, произошло обновление спецификации API Vulkan, и вместе с ним появилось совершенно новое расширение для улучшения шейдеров, в создании которого участвовала Nintendo.

Об этом упоминается в сообщении в блоге разработчика драйверов Майка Блюменкранца, а также в полном анонсе от The Khronos Group, которая курирует API Vulkan. Официальный анонс Vulkan был даже написан разработчиком из Nintendo. Заметки из анонса:

Сегодня компания Khronos® выпускает новое расширение Vulkan® для различных производителей, которое призвано радикально упростить процесс определения шейдеров и состояния шейдеров в приложениях, сохраняя при этом принцип Vulkan как высокопроизводительного «API без секретов».

Это расширение — VK_EXT_shader_object. Оно вводит новый тип объекта VkShaderEXT, который представляет собой один скомпилированный шейдерный этап, а также 4 новые функции для манипулирования и использования объектов VkShaderEXT.

Объекты шейдеров выполняют роль, аналогичную конвейерам, но предоставляют более простой и гибкий интерфейс, предназначенный для расширения возможностей приложений, чьи архитектуры и/или потребности в «динамичности» ранее могли затруднять использование конвейеров. В средах, где поддерживается VK_EXT_shader_object, приложения могут выбрать использование только конвейеров, только шейдерных объектов или произвольное сочетание этих двух вариантов.

В сообщении подробно рассказывается о том, что он делает, и что это «кульминация многолетней работы по предоставлению разработчикам Vulkan все более мощных и простых в использовании способов управления шейдерами и состоянием». Они призывают разработчиков, которые в прошлом игнорировали Vulkan из-за того, что были напуганы им, возможно, взглянуть на него еще раз.

Согласно сообщению в блоге Блюменкранца:

Это очень крутое расширение для Zink. По сути, это означает, что (неоптимизированные) варианты шейдеров могут генерироваться очень быстро. Настолько быстро, что расширение должно решить все оставшиеся проблемы с компиляцией шейдеров и заиканием, позволяя приложениям (zink) создавать и связывать шейдеры напрямую, без необходимости использования объектов конвейера.

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

В дополнение к этому NVIDIA уже выпустила новый бета-драйвер Vulkan с добавленной поддержкой.

Один мальчик подписался на телеграм-канал Игры в Linux и получил бесплатную игру в Steam! Новости из мира игр в Linux, свежие обзоры игр и полезные инструкции всегда под рукой!

Константин Дьяченко

Автор и основатель сайта Игры в Linux с 2010 года. Пользователь Linux с 2002. Старый злобный сисадмин с 1997.

Если Вам интересна тематика сайта и вы хотите каким-то образом поучаствовать в жизни сайта и его сообществ - напишите мне! Все контакты в разделе о сайте.

Игры в Linux
Добавить комментарий

Поля email и сайт не являются обязательными. Оставляя комментарий вы соглашаетесь с политикой конфиденциальности сайта.