Консорциум Khronos, занятый разработкой графических стандартов, опубликовал (https://www.khronos.org/news/press/khronos-releases-vulkan-1...) спецификацию Vulkan 1.0 (https://www.khronos.org/vulkan), в которой определён новый высокоэффективный API для доступа к графическим и вычислительным возможностям GPU. Одновременно компания Intel открыла (https://01.org/blogs/2016/intel-open-source-graphics-drivers...) исходные тексты драйвера с полной поддержкой данного API. Драйвер уже принят (https://lists.freedesktop.org/archives/mesa-announce/2016-Fe...) в кодовую базу проекта Mesa и войдёт в состав следующего релиза Mesa 11.3. Драйверы с поддержкой Vulkan также выпустили компании AMD (http://gpuopen.com/gaming-product/vulkan/), NVIDIA (https://developer.nvidia.com/vulkan-driver), Qualcomm (https://developer.qualcomm.com/software/adreno-gpu-sdk/gpu) и Imagination (https://imgtec.com/tools/powervr-early-access-program/).Разработка Vulkan была инициирована полтора года назад в рамках инициативы OpenGL Next Generation, нацеленной на создание API, отвечающего требованиям современных реалий и устраняющего основные недостатки (https://www.opennet.dev/opennews/art.shtml?num=39905) OpenGL, такие как усложнённость драйверов, встроенный компилятор шейдеров, неоптимальные механизмы обработки ошибок, раздельные API для десктоптов и мобильных систем. Vulkan примечателен кардинальным упрощением драйверов, выносом генерации команд GPU на сторону приложения, возможностью подключения отладочных слоёв, унификацией API для различных платформ и применением предкомпилированного промежуточного представления кода для выполнения на стороне GPU.
Для обеспечения высокой производительности и предсказуемости, Vulkan предоставляет приложениям средства для прямого управления операциями GPU и встроенную поддержку многопоточной обработки команд GPU. Одной из основных проблем OpenGL является изначальная ориентация на фиксированный поток команд для одноядерных систем с минимальным доступом к состоянию GPU, что мешает использованию всего потенциала современных программируемых многоядерных графических процессоров. Vulkan подразумевает более активную прямую работу с GPU, минимизируя накладные расходы, вносимые драйвером. Реализуемые на стороне драйвера возможности заметно упрощаются и становятся более предсказуемыми. Например, такие операции, как управление памятью и обработка ошибок, реализуемые в OpenGL на стороне драйвера, в Vulkan вынесены на уровень приложения.
Vulkan охватывает все доступные платформы и предоставляет единый API для настольных, мобильных систем и Web, позволяя использовать один общий API для различных графических процессоров и областей применения. Современные GPU для настольных, встраиваемых и мобильных систем приблизились друг к другу по функциональности и внутренней архитектуре, что позволяет избавиться от устаревшей привязки к разным спецификациям (OpenGL, OpenGL ES). Благодаря многослойной архитектуре Vulkan, подразумевающей создание инструментов, работающих с любыми GPU, производители оборудования могут использовать при разработке типовые инструменты для проверки кода, отладки и профилирования.
Для создания шейдеров предлагается новое переносимое промежуточное представление SPIR-V (https://www.khronos.org/spir), основанное на LLVM и использующее общие с OpenCL 2.1 базовые технологии. SPIR-V универсален для всех платформ и может применяться как для графики, так и для параллельных вычислений. SPIR-V подразумевает выделение отдельной фазы компиляции шейдеров в промежуточное представление, что позволяет создавать фронтэнды для различных высокоуровневых языков (в том числе доступны трансляторы для GLSL и OpenCL C). На основе различных высокоуровневых реализаций отдельно генерируется единый промежуточный код, который может использоваться драйверами Vulkan и OpenCL без применения встроенного компилятора шейдеров. Избавление драйвера от компилятора шейдеров существенно упрощает драйвер, ускоряет загрузку кода для GPU и делает драйвер независимым от высокоуровневых языков разработки программ для GPU. В будущем планируется создание инструментов для преобразования биткода LLVM в SPIR-V и наоборот.
URL: https://www.khronos.org/news/press/khronos-releases-vulkan-1...
Новость: http://www.opennet.dev/opennews/art.shtml?num=43887
Неужели ОН почти наступил? Или надо еще немного подождать?
Как то дружненько. Топят кого то, чтоль? (весьма соврменно ;)
XP капец?
"Windows (Vista+)"
Но ведь цель была не в этом?
Куда более вероятнее что на XP кто-то выпустит Vulkan драйвера, нежели DirectX > 9, поэтому больший капец был при выходе DirectX 10
> кто-тоТонкий намёк на NVIDIA?
Ну, никто ж не мешает извращенцам запускать Wine под XP, чтобы получить Direct3D 10.
Вот и выросло поколение, для которых первым мастадем стал XP... И это грустно, товарищи.
Грустно ему :)
Грустно то, что поколение которое не видело мастдая вообще - либо уже вымерло, либо ещё не родилось!
Мастдай? Видел, пробовал, выкинул!
вышел вулкан - бомбит пукан
Надо ещё немного подождать. Потом ещё немного. Потом ещё чуть-чуть. В общем, сейчас делайте это так же как делали до этого.
Что там с нвидией проприентарной?
В бета версии уже есть - https://developer.nvidia.com/vulkan-driver
> Что там с нвидией проприентарной?написано же.
>Драйверы с поддержкой Vulkan также выпустили компании AMD, NVIDIA, Qualcomm и Imagination.
Тольк у амд пока только в драйверах для венды. В амдгпу обещают в след обновлении.
С кем и где поспорить на деньги, что это не взлетит?
Почему Вы считаете, что не взлетит?
Сколько раз обещают. "Всех порвёт, за этим будущее". И будем мы иметь 1,5 игры на этом
А когда такое в последний раз было, не напомните? ОГЛ слился добрых лет десять назад, да и тому причины были.
> А когда такое в последний раз было, не напомните? ОГЛ слился добрых
> лет десять назад, да и тому причины были.Mantle, запчасти которой позволили собрать Vulkan
Mantle был только для красных видюх и только для венды, так что мимо. Ещё попытки?
> Mantle был только для красных видюх и только для венды, так что
> мимо. Ещё попытки?Совсем и нет. Позиционировалось как API для всех, только никому оно нафиг не упёрлось
>> Mantle был только для красных видюх и только для венды, так что
>> мимо. Ещё попытки?
> Совсем и нет. Позиционировалось как API для всех, только никому оно нафиг
> не упёрлосьДа же самому лагерю "Красных"
>> Mantle был только для красных видюх и только для венды, так что
>> мимо. Ещё попытки?А насчёт ОС - поддержка Linux\Windows и консоли текущего поколения
> А насчёт ОС - поддержка Linux\Windows и консоли текущего поколенияMantle есть только на венде.
На PlayStation/FreeBSD тоже есть.
На плойке GNM/GNMX.
Уж не знаю как API для ~20% видюх могло позиционироваться как для всех. В любом случае Mantle - совсем не тоже самое, что Vulkan. С тем же успехом можно сказать, что и DX12 не взлетит.
> Уж не знаю как API для ~20% видюх могло позиционироваться как для
> всех. В любом случае Mantle - совсем не тоже самое, что
> Vulkan. С тем же успехом можно сказать, что и DX12 не
> взлетит.А точно ли 20? Может число с потолка взял?
>> Уж не знаю как API для ~20% видюх могло позиционироваться как для
>> всех. В любом случае Mantle - совсем не тоже самое, что
>> Vulkan. С тем же успехом можно сказать, что и DX12 не
>> взлетит.
> А точно ли 20? Может число с потолка взял?Не, где-то писали, что красных видюх 18%. Только я не знаю это в отношении только к зелёным или к зелёным и синим.
33% http://store.steampowered.com/hwsurvey (Интел был откинут, Интел - не игровая видеокарта)
DX12 взлетит просто по энэрции в любом случае.
Не взлетит, потому что разработчики в большинстве своём не дурачки и если им основательно не проплатить, они не станут добровольно отказываться от огромного куска рынка.
Mantle трансформировали в Vulkan, чтобы API могли использовать все. Получается, он взлетел еще выше.
> Mantle трансформировали в Vulkan, чтобы API могли использовать все. Получается, он взлетел
> еще выше.Взлетел? Пока я вижу только рассказы: "Вы представьте как он полетит", "Кто его папа\мама", "какие фирмы за ним".
Только болтовня без реализации
Он только сегодня вышел. Ты чего ожидал?
"И долго-долго рассказывает, как хорошо мне с ним будет."(с)
Qualcomm только с adreno 530 начиная будут этот вулкан поддерживать. Жаль, все нексусы пролетают. Хотя с другой стороны, нафиг он на них нужен...
Что с OS X?
Эппл как всегда думает, что сможет на двух стульях усидеть - и конкурирующему стандарту поднасрать, и свой потихоньку продвинуть. Да как бы с носом все не остались, разработчики забьют и будут по старинке делать порты на OpenGL.
Который ограничен 4.1.
Обрезок видеокарты сможет больше?
а есть щас приложения или игры, использующие opengl > 4.1
Так ведь потому и нет, что Mac OS X больше не умеет.
оэсыкс по прежнему ненужен
> Что с OS X?У них вроде свой Metal был?
За полтора года - релиз, поддержка всеми и везде. Это назвается взлетел. А что там с вяленым, все еще не стоит?
На то он и вялый.
Как бы ты сравнил кросплатформенный api с чисто линуксовым компонентом.
Хроносы (вейлендовцы) выкатили спецификацию vulkan (wayland) в виде pdf (xml) файла. Всякие intel, nvidia, amd (gnome, kde, xfce) тут же начали пилить поддержку. У хроноса (вейлендовцев) огромный багаж за плечами в виде поддержки opengl, opencl.. (X). Корпорации (разработчики de) требовали от спецификации определенных фич, поэтому они объединились и стали помогать хроносам (вейлендовцам). Отныне корпорации (разработчики de) довольны и пилят драйвера (композиторы). Так в чем же разница? Деньги есть (денег н̶е̶т̶ мало).
Для управления устройствами и экранами в Vulkan предлагается интерфейс WSI. Поддержка WSI из коробки доступна в Wayland - все приложения, использующие Vulkan, могут запускаться в окружении немодифицированных серверов Wayland, таких как Weston, GENIVI LayerManager, Mutter/GNOME Shell и Enlightenment. Возможность работы через WSI также обеспечена для Android, Mir, Windows (Vista+) и X11 (c DRI3).
Window System Interface?или всё-таки
Window System Integration ????!!!
>Intel открыла исходные тексты драйвера с полной поддержкой данного API. Драйвер уже принят в кодовую базу проекта MesaНу вот. А кто-то плакался, что Intel не очень торопятся добить поддержку последних версий OpenGL. А теперь не очень-то и нужно.
Broadwell+
Не обманывай."The driver currently supports Sky Lake all the way back to Ivy Bridge. The driver is Vulkan 1.0 conformant for 64-bit builds on Sky Lake, Broadwell, and Braswell. We are still having a couple of 32-bit issues and support for Haswell, Ivy Bridge, and Bay Trail should be considered experimental."
поддержки vulkan требуют 0 игр. Поддержки opengl 4... несколько десятков
в век победивших фреймворков, оказывается кто-то заглядывает под капот o_0
искренне надеюсь что взлетит
"мужики" под крылом Khronos собрались и вроде договорились,
начинание хорошее,
давно пора было иметь общую API которая бы упростила жизнь разрабам и свела на нет шатания по зоопарку DX-OpenGL-EGL-GLES-Mantle(а был ли мальчик?)-Metalтак глядишь через годик-другой как разрабы освоятся будем иметь в том числе AAA игрушки на ляликсе сразу а не через 2 года и на кривой недопрослойке которая нормально работает только на блобах одного зелёного вендора ...
мечты ... мечты ...
Khronos и есть эти мужики, если что.
а что OpenGL не позволял создавать AAA-игрушки, появление Vulcan не обеспечит лялих проектами класса AAA, такие игры появятся только тогда когда из лялиха выкинут тормознутые иксы(я бы еще и пульсу выкинул, имхо невероятно уебишная вещь) и будут поддерживать производители игровых-движков как одну из основных платформ, а пока только экспериментальная поддержка...
Увы не позволял, ибо:
1) зоопарк драйверов и уровней поддержки OpenGL
2) разрабы привыкли к DX (увы), и портировать с DX на OpenGL долго, дорого, а профита в сравнении с затратами им мало, практически только клапанЪ что-то полноценно-нативное делал,
все остальные (я имею ввиду сурьёзные игрухи, а не пиксельная индюшатина), все остальные прослойками перебивались (ведьмак 2 и иже с ними)
3) читал блоги и отзывы некоторых гэймдевов которые матом крыли как сам OpenGL так и наш зоопарк и иксами, вялеными, месами, блобами, пульса-альсами, сильно разные версии библиотек в разных дистрах итп, винда в этом плане для них уютнее, там всё однородно и стабильно с точки зрения API/ABI.4) теперь если у нас есть единая API игрухи написанные под которую можно без особых танцев с бубном и переписывания over 90% движка можно запустить на всех (яббл не в счёт) платформах - профит очевиден - пиши один раз - продавай везде, ну да. компилить всё равно под каждую платформу придётся, но это мелочи по сравнению с перетаскиванием DX на *GL
> 1) зоопарк драйверов и уровней поддержки OpenGL3? столько же сколько в виндовс
>2) разрабы привыкли к DX (увы), и портировать с DX на Vulkan долго, дорогоисправил
>3) читал блоги и отзывы некоторых гэймдевов которые матом крыли как сам OpenGL так и наш зоопарк и иксами, вялеными, месами, блобами, пульса-альсами, сильно разные версии библиотек в разных дистрах итп, винда в этом плане для них уютнее, там всё однородно и стабильно с точки зрения API/ABI.теперь стал еще больший зоопарк.
>вяленымини где не используется
>пульса-альсамиэто не 3д api. pulseaudio поддерживает alsa
>сильно разные версии библиотек в разных дистрах итпказалось бы причем здесь 3д api
OpenGL был хорош, пока был фиксированный конвейер. После понеслась хрень с расширениями, которые у одних есть, у других нету, у третьих есть, но не работают, у четвертых реализованы по своему т.д. Ко всей этой мешанине прибавляются разные версии драйверов, поразному установленных пользователями. И если под виндой с небольшим трудом удается добиться беспроблемной работы у 90% пользователей, то под линем эта цифра достигается большим потом, кровью, костылями и велосипедами.
> все остальные (я имею ввиду сурьёзные игрухи, а не пиксельная индюшатина), все остальные прослойками перебивалисьВот не надо песен!
Только из того, что у меня стоит - Paradox Interactive и Firaxis, например, выкатили вполне нативные порты.
Всё как есть. Скоро забудем это бардак как страшный сон
Надо добавить что в случае с OpenGL нужно хорошо разбираться и владеть расширениями, которыми заменен прямой доступ к адаптеру. И в отличае от прямого доступа, производительность расширений вообще не предсказуема, и на разбор и поиск решения может уходить достаточно много времени.
>читал блоги и отзывы некоторых гэймдевов которые матом крыли как сам OpenGL так и наш зоопарк и иксами, вялеными, месами, блобами, пульса-альсами, сильно разные версии библиотек в разных дистрах итп, винда в этом плане для них уютнееТак они и дальше будут крыть -- это ж вопрос психологии, а не техники.
> 2) разрабы привыкли к DX (увы), и портировать с DX на OpenGL
> долго, дорого, а профита в сравнении с затратами им мало, практически
> только клапанЪ что-то полноценно-нативное делал,Пожалуйста загляните на вики и сайт разработчиков OpenGL и удивитесь :c 4 по 4.2 версия OpenGL включает в себя практически все системные вызовы DX 10 и 11 .То есть портирование резко упрощается .
> 3) читал блоги и отзывы некоторых гэймдевов которые матом крыли как сам
> OpenGL так и наш зоопарк и иксами, вялеными, месами, блобами, пульса-альсами,
> сильно разные версии библиотек в разных дистрах итп, винда в этом
> плане для них уютнее, там всё однородно и стабильно с точки
> зрения API/ABI.Есть прямая библиотека разработанная для игроделов и игроделами (фирма называлась вроде бы Loki и занималась портированием игр с винды ) - SDL ,хотя как написано частично поломали совместимость в версии 2 ,у меня до сих пор игрушки запускаются написанные пол 0.8 версию .
Звук ,видео ,3д графика ,меню,джостики и т.д .Кросплатформенна и перенесена на куча платформ ,даже под винду импортирована эта библиотека :-)
Как обещают разработчики под Вулкан все старые приложения тоже запустятся,да и с Вайландом вроде тоже SDL дружит .
...у нас, у них...
вы кто? =)
Ты мне тут ещё на иксы понаезжай.
Кривые или нет, а лучше ничего пока не придумали.
И, похоже, долго ещё не придумают.
> а что OpenGL не позволял создавать AAA-игрушки, появление Vulcan не обеспечит лялих
> проектами класса AAA, такие игры появятся только тогда когда из лялиха
> выкинут тормознутые иксы(я бы еще и пульсу выкинул, имхо невероятно уебишная
> вещь) и будут поддерживать производители игровых-движков как одну из основных платформ,
> а пока только экспериментальная поддержка...И при чем тут Иксы ,кому они мешают ? OpenGL приложениям сейчас начхать на X ,они сейчас выводят графику через DRI инфраструктуру ,единственное где чуточку X задействуется ,это вывод в неполноразмерное окно ,и то X через OpenGL стараются задействовать Gallium драйвера ,где накладные расходы здорово снижены .
> И при чем тут Иксы ,кому они мешают ? OpenGL приложениям сейчас
> начхать на X ,они сейчас выводят графику через DRI инфраструктуру
> ,единственное где чуточку X задействуется ,это вывод в неполноразмерное окно
> ,и то X через OpenGL стараются задействовать Gallium драйвера ,где
> накладные расходы здорово снижены .Не всё так гладко с DRI покамест. DRI-мастером может быть только один процесс. И это как правило процесс X-сервера. Поэтому приложение, желающее использовать DRI для работы с графической подсистемой, должно либо статус мастера у иксов отнимать, а по завершению работы возвращать, либо как-то спрашивать разрешения у текущего иксового мастера на выделение ресурсов. Далее event'ы и ебола со всеми традиционными иксовыми "особенностями". А на уровне приложений с OpenGL всё так просто кажется, потому что все эти костыли давно проработаны.
И неполноразмерное окно без Иксов не то что чуточку, а никак вообще уже постольку поскольку это окно. В DRI нет окон.
>Mantle(а был ли мальчик?)-По сути, Vulkan - это Mantle 2.0.
>давно пора было иметь общую API которая бы упростила жизнь разрабам и свела на нет шатания по зоопарку DX-OpenGL-EGL-GLES-Mantle(а был ли мальчик?)-Metalона есть. OpenGL называется.
Если еще мобильные устройства нужны то можно opengl es использвать. в OpenGL есть с ним совместимость.
>DXЭто не 3д api. А зачем нужен direct3d если есть opengl?
>EGLэто независимый метод инициализации контекста. Он не нужен. 3д api там opengl
>Mantle(а был ли мальчик?)для видеокарт amd есть opengl
>Metalдля ятелефонов есть opengl es
>так глядишь через годик-другой как разрабы освоятся будем иметь в том числе AAA игрушки на ляликсе сразуони не появляются не потому что нет очередного 3д api, а потому что линукс никому не нужен.
Мой Родион HD7850 если и получит Vulkan под линукс, то не скоро, хотя под винду уже получил бета-версию. Не пора ли валить на зеленую сторону Силы?
да, давно пора.
Пора валить на винду :)
Не пора валить на зеленой сторону, потому что 1) AMD обещают в ближайшем будущем драйвер под Linux 2) AMD раскрывает исходные коды драйевров (GPUOpen), а значит комьюнити сможет активнее развивать свободные драйевра для AMD карт.
Держите нас в курсе, а пока самые умные знают что делать...
Пока AMD обещает, nvidia пользователи просто пользуются.
нуво-пользователь, да?
По андроиду у них на странице 3 слова всего, SDK не вижу.
Nvidia подготовила Android-SDK для их Nvidia Shield: https://developer.nvidia.com/vulkan-android
Мне это снится?
Во-во, у меня надежд на этот неведомый Vulkan не было совсем, а тут будто все серьёзно взялись. Чудеса и благодать.
CentOS и ежи https://vulkan.lunarg.com/app/issues/56c397c77ef24d0001c02fed
ссылка не открывается
крузис тормозит? как текстурки?
haswell в пролете? нда
"The driver currently supports Sky Lake all the way back to Ivy Bridge. The driver is Vulkan 1.0 conformant for 64-bit builds on Sky Lake, Broadwell, and Braswell. We are still having a couple of 32-bit issues and support for Haswell, Ivy Bridge, and Bay Trail should be considered experimental."
тогда ладно. А то я уж собрался бежать за вафельницей от амд
> "The driver currently supports Sky Lake all the way back to Ivy
> Bridge. The driver is Vulkan 1.0 conformant for 64-bit builds on
> Sky Lake, Broadwell, and Braswell. We are still having a
> couple of 32-bit issues and support for Haswell, Ivy Bridge, and
> Bay Trail should be considered experimental."
надеюсь на этом закончится история с кривым драйвером fglrx. Раз драйвер проще и другой есть шанс что он лучше будет работать.
в talos principle уже впилили частично http://steamcommunity.com/app/257510/discussions/0/412447331.../
Шикарная игра...
Удивительно быстро пошевелились. Я как-то ждал, что ещё минимум год потупят - если не со спекой, то с драйверами. А тут... Да ещё и все основные игроки выкатили. Вопрос, конечно - когда будет в открытом драйвере для AMD...
интересно,если Valve участвовала в разработке Vulkan,выпустит она на нём свои игры?
Доту 2 почти запилили, ну и следующие несомненно будут на пукане
А как это всё связано с opengl? Я могу под одними и теми же иксами запускать opengl проги и vulkan проги, или мне надо как-то разнести иксы? И вообще, DRI и Vulkan друг другу не мешают?
Не мешают.
Присоединяюсь ко мнению что сможешь. "Прямой доступ к железу" там такой же, как в VT-x и AMD-Vi: гостевая система тоже думает, что ей предоставили весь проц и память.
А в nouveau собираются запилить поддержку? Хотелось бы попробовать на моей морально устаревшей (по мнению nvidia) GeForce 220m, но у nvidia под нее даже обычный драйвер уже legacy
Но ведь это не видиво карта -- в игрушки не поиграть. Зачем тебе?
Наверное, скринсейверы крутить. Полигонов там мало. Или инди-игры.
>определён новый высокоэффективный API для доступа к графическим и вычислительным возможностям GPU
>Vulkan примечателен кардинальным упрощениемВзаимоисключающие параграфы типа? Как в случае с высокоэффективными микроядрами, в которых просто ничегошеньки нет. Та же история с wayland.
>Например, такие операции, как управление памятью и обработка ошибок, реализуемые в OpenGL на стороне драйвера, в Vulkan вынесены на уровень приложения.
Больше ошибок хороших и разных. Больше хороших годных велосипедов.
> Взаимоисключающие параграфы типа?Нет
> Больше ошибок хороших и разных.Это не влияет на количество ошибок, это влияет на скорость, т.к. в общем случае драйвер обрабатывает их не оптимально.
> Больше хороших годных велосипедов.Чем больше движков, тем лучше. Вулкан позволяет создать свой переносимый OpenGL, простора целое море.
>>>Например, такие операции, как управление памятью и обработка ошибок, реализуемые в OpenGL на стороне драйвера, в Vulkan вынесены на уровень приложения.
>> Больше ошибок хороших и разных.
> Это не влияет на количество ошибок, это влияет на скорость, т.к. вСправедливости ради - это даёт больше возможностей, возможностей для оптимизации и для написания кривой хрени тоже. Т.е., как обычно, всё зависит от прямизны рук...
Это переносит кривые игро-специфичные хаки из драйверов туда где им и место - в движки самих игр.Надеюсь, для вас не секрет, что проприетарные драйвера кишат такими хаками и они, собственно, и составляют всё то ноу-хау, которое как зеницу ока берегли вендоры. Скорее всего с распространением вулкана и DX 12 закончится эпоха толстых проприетарных драйверов и сокрытия спек от авторов открытых.
дайте ссылку скачать на ХР64
>дайте ссылку скачать на ХР64тоньше надо.
Подайте ссылку на Win9x
А какой драйвер лучше всего для ATI RS600 для работы из под Linux?
(Есть старенький ноут Samsung R58+ со встроенной видеокартой)
Открытый, glamor лучше не использовать. Если графический стек (драйвер, mesa, xorg) свежий то можно попробовать активировать DRI3.
OpenGL останется, но уже в юзерспейсе в виде обертки над вулканом, ага?
Он и так в юзерспейсе был.
Про Vulkan, недавно узнал "плохое":http://allsoftwaresucks.blogspot.ru/2016/03/fuzzing-vulkans-...
https://twitter.com/astarasikov/status/707769951701102592Из комментария и твитов от Pyry Haulos:
"In Vulkan only valid API usage is allowed and defined. We in fact recommend that drivers should avoid any unnecessary validation. Invalid API use, including providing non-valid SPIR-V binaries, leads to undefined behavior, and may result in driver crash."
"Vulkan driver is not supposed to do any validation of SPIR-V binaries; invalid SPIR-V is allowed to cause a crash or hang."
"Vulkan does take a little different approach to error handling than other APIs, which is good, as it reduces driver complexity"
"it would be a very bad idea to expose Vulkan directly to untrusted code without validation and/or sandboxing."
Получается, в Vulkan драйвер и API намеренно полностью доверяют приложениям, а безопасность планируется обеспечивать с помощью sandbox'ов (в веб-браузерах и т.п.?) При этом безопасность от/между/для локальных пользователей отсутствует by design (а не по факту из-за объема и сложности кода драйвера GPU, да и остального ядра Linux, как это зачастую получалось до того). Да и стабильность системы может стать хуже, если не все приложения будут работать с Vulkan API корректно.
Тем не менее, пока не стану критиковать строже, т.к. мало что о Vulkan знаю.
Update: я придал этим комментариям больше значения, чем в них есть. Они относились лишь к API и парсеру/компилятору из SPIR-V в GPU ISA, работающим в userspace, а не к драйверу самого GPU, работающему в ядре OS. Сейчас задал уточняющий вопрос в том треде на Twitter'е:
"Does Vulkan's assumption of trusted input extend to the kernel part?" - "For all major OSes answer is no."
Так что тревога была в основном ложной.