LINUX.ORG.RU

Khronos Group анонсирует Vulkan, наследника OpenGL

 , , , ,


1

6

Третьего марта на конференции GDC Khronos Group анонсировали новый стандарт графических API, кодовое название Vulkan. Данный шаг являлся весьма предсказуемым, поскольку практически все конкурирующие API уже начали идти навстречу многопоточной и более близкой к железу архитектуре - здесь можно упомянуть и Apple Metal, и DirectX 12, и AMD Mantle.

Vulkan представляет из себя написанный с нуля дизайн современного графического API для высокоэффективной отрисовки и вычислений на GPU. Планируется, что Vulkan будет работать на широком спектре устройств, начиная от рабочих станций и ноутбуков и заканчивая мобильными телефонами, игровыми консолями и встраиваемыми системами. Несмотря на то, что анонс уже произошёл и Vulkan разрабатывается Khronos Group и заинтересованными компаниями ещё с июня прошлого года, спецификация ещё не окончательна и стабилизируется предположительно к концу года. Обещано, что Vulkan будет работать на любом железе, поддерживающем OpenGL ES 3.1 и выше (Nvidia начиная с GeForce 400 series, AMD начиная с Radeon HD 5000 Series, Android начиная с Lollipop - примеч. перев.) Ожидать свершений на ниве графических драйверов и библиотек пока не стоит, но некоторые демо-сценарии могут появиться на GDC уже сейчас.

Хотя поддержка Vulkan ляжет тяжёлой ношей на плечи разработчиков Mesa, учитывая, что этой открытой библиотекой ещё не достигнута даже совместимость с OpenGL 4.0, поддержка API Vulkan обещает быть проще по архитектурным особенностям, нежели OpenGL. Упрощённая архитектура будет означать также облегчение портируемости между поставщиками различных GPU, уменьшение лишней нагрузки, а переход на SPIR-V (новое промежуточное представление и язык скомпилированных шейдеров, замена LLVM-IR) будет означать большой выигрыш в производительности. Также должен отметить, что упразднится деление на десктопный и урезанный мобильный (ES) API. EGL, а именно слой, который отвечает за абстракцию над оконной системой, будет интегрирован в Vulkan, но в спецификации этого пока ещё нет.

К вящей радости разработчиков игр, Vulkan также предоставляет многослойную архитектуру, в которой, к примеру, слои отладки и валидации могут быть загружены только при необходимости, появляется возможность контролировать GPU практически напрямую, отсутствуют архитектурные преграды к многопоточному исполнению и обеспечивается полная кросс-платформенность. NVIDIA, Epic Games, Oculus, Sony и ARM уже являются вендорами Vulkan и принимают участие в разработке и продвижении новой спецификации. Среди других сюрпризов можно отметить Valve и LunarG, которые уже сейчас работают над инструментами для загрузки слоёв нового API по требованию и ожидают от сообщества реакции на анонс.

От себя добавлю, что поддержку Vulkan в открытых драйверах мы увидим не раньше, чем через года два-три, а то и больше. И в этом смысле он довольно сильно отстаёт от своих конкурентов, которые уже сейчас обладают работающими реализациями своих API или близки к этому. Что и говорить о разработчиках графических тулкитов и движков, которые не смогут причаститься от нового детища Khronos Group ещё дольше. По крайней мере во многих нишах OpenGL остаётся незаменимым, а значит и для новой спецификации найдётся место под солнцем.

>>> Фороникс

★★★

Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 2)

Что самое интересное, Мантл игнорировали там, где он был бы наиболее полезен --- в статегиях. Тоже самое ждёт и Pukan.

anonymous
()

Ожидать свершений на ниве графических драйверов и библиотек пока не стоит

Хотя уже сейчас разработчики PowerVR тестируют дрова для пятого андроида... :)

http://youtu.be/KdnRI0nquKc

atrus ★★★★★
()

Если я всё правильно понял, то вместо двух графических API - OpenGL и DirectX - будет 5: Apple Metal, DirectX 12, AMD Mantle, OpenGL, и, собственно, этот ваш Vulcan. Разработчиков драйверов можно поздравить.

asaw ★★★★★
()
Ответ на: комментарий от asaw

Но только Vulkan API не имеет ограничений по железу/ОС.

Разработчиков драйверов можно поздравить.

Плюсую.

Adonai ★★★
() автор топика
Ответ на: комментарий от atrus

Ну это я отнёс к экспериментам. Понятное дело, что вслепую разрабатывать спецификацию в Кроносе не стали бы.

А вообще, спасибо за ссылку, не знал, что уже такой прогресс.

Adonai ★★★
() автор топика
Ответ на: комментарий от asaw

Ты имеешь в виду «выше ES 3.1»? Я, скорее, о том, что он независим от вендоров и разработчиков OS.

Adonai ★★★
() автор топика
Ответ на: комментарий от Adonai

В каком смысле? В чем разница с OpenGL? И кто такие «вендоры» в контексте этой темы? Вендоры - это вообще продавцы какой-нибудь газировки или мороженного на улице.

asaw ★★★★★
()
Последнее исправление: asaw (всего исправлений: 1)
Ответ на: комментарий от asaw

OpenGL работает на Windows/Linux/Os X, на AMD/NVIDIA/Qualcomm/PowerVR. Mantle, Metal, DirectX не дотягивают до такого уровня.

Adonai ★★★
() автор топика
Ответ на: комментарий от asaw

Я понял, ты не увидел в этом моём комментарии OpenGL. Это моя ошибка, OpenGL как стандарт такой же по широте. Vulkan не имеет деления на ES/Core, разве что.

Adonai ★★★
() автор топика
Ответ на: комментарий от asaw

Mantle не будет. Он и так почти целиком вошел в Vulkan.

anonymous
()

Мне кажется, что получится достаточно хорошая штука. Только бы не забросили.

ee1337a
()
Ответ на: комментарий от mittorn

А ты думаешь, хоть кого-то из Khronos или разработчиков драйверов колышет, что там нужно какой-то тупорылой школолошке?

anonymous
()
Ответ на: комментарий от mittorn

мне нужно

можешь приступать к реализации

anonymous
()

ну это просто ВУЛКАН

anonymous
()
Ответ на: комментарий от asaw

вместо одного графических API - Direct3D - будет один Direct3D12

anonymous
()

ужос) с внедрением будет тягомотина(если вообще внедрят когда-нибудь в линукс и чтоб не тормозило)

Bad_ptr ★★★★★
()

ТОЛСТО

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

Лолшто? Valve собственно презентовали его под линуксом на интеловской интеграшке уже под своим (хотя ясно, что писали его вероятно, LunarG) драйвером.

anonymous
()

судя по архитектуре - его правильнее было бы назвать OpenCL for Graphics ;)

но, в целом - архитектурой доволен. и драйвера будут готовы быстро. а дебаггер - GLAVE - пишут под Linux ;)
а вот порог вхождения будет выше ;)

azazello ★★★★
()

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

намного раньше из-за намного более простой архитектуры драйвера - т.к. почти все проверки вынесены из него(а state-machine можно использовать текущую с минимумом изменений). до конца года уже будут первые.

azazello ★★★★
()
Последнее исправление: azazello (всего исправлений: 1)
Ответ на: комментарий от Adonai

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

архитектура проще - то драйвера/экосистемы.

azazello ★★★★
()

EGL, а именно слой, который отвечает за абстракцию над оконной системой, будет интегрирован в Vulkan, но в спецификации этого пока ещё нет.

странно вы перевели - With being a cross-platform API, Vulkan will remain windowing system agnostic but Neil said it's not exactly clear yet how EGL specifically will tie into the new API. (это тот Neil, что Trevett, Khronos President)

и ссылку на презентацию добавили бы;)
https://www.khronos.org/assets/uploads/developers/library/2015-gdc/Khronos-Vu...

azazello ★★★★
()
Ответ на: комментарий от Adonai

Почему считаешь, что выше? Пишут, что архитектура проще будет

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

andreyu ★★★★★
()

Интересно конечно, но теперь получится что драйверы должны будут и OpenGL уметь и Vulkan, т.е. наоборот грядет усложнение.

FreeLiver ★★★
()

Хе-хе. А ведь где то год назад я писал что такой API необходим и он будет сделан рано или поздно.

ranka-lee
()
Ответ на: комментарий от asaw

Mantle уже не будет. OpenGL никому не нужен. А все остальные в целом одно и то же.

ranka-lee
()

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

For helping out ISVs and game developers test out their initial Vulkan code, they developed their own Intel Vulkan GPU graphics driver for Linux that they intend to open-source.

http://www.phoronix.com/scan.php?page=news_item&px=Valve-Intel-Vulkan-Driver

urykhy
()

К вящей радости

Нашей радости нет предела¡

garik_keghen ★★★★★
()
Ответ на: комментарий от ranka-lee

Але, тормоз, год назад его уже год как пилили.

anonymous
()
Ответ на: комментарий от azazello

Да, тут уже мои додумки по поводу того, что windowing system-aware спецификация у нас только EGL (GLX уже морально устарела), и выбрасывать её в ближайшее время не будут, а значит, она тем или иным образом войдёт в Vulkan. Прошу прощения.

Презентации ещё не видел на момент написания новости. Я вообще, честно говоря, очень удивлён был, что событие не осветили на ЛОРе, хотя со времени публикации прошло уже 2 дня

Adonai ★★★
() автор топика
Ответ на: комментарий от urykhy

Спасибо. Эта новость уже после публикации произошла, не было возможности внести правку.

Adonai ★★★
() автор топика
Ответ на: комментарий от anonymous

Ну так о чем речь тогда, если цитируешь реплику про свободные реализации? Ты ведь знаешь правила.

Время рассудит нас.

Adonai ★★★
() автор топика
Ответ на: комментарий от FreeLiver

OpenGL теперь будет прослойкой поверх Vulkan.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.