Про 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."
Так что тревога была в основном ложной.