Khronos Group анонсирует Vulkan, наследника OpenGL
Третьего марта на конференции 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 остаётся незаменимым, а значит и для новой спецификации найдётся место под солнцем.
amd, drivers, khronos, nvidia, opengl