Одной из причин решения AMD прекратить распространение API Mantle в массы можно назвать анонс от Khronos Group. Данная организация представила API, ранее известный как Next Generation OpenGL (GLnext), а теперь получивший имя Vulkan.
Vulkan представляет собой низкоуровневый графический интерфейс, как AMD Mantle, Microsoft DirectX 12 и Apple Metal. Избавившись от лишней и устаревшей функциональности, разработчики дают контроль, который обычно оставлялся на откуп графическим драйверам, вроде управления потоками команд и памятью и контроля ошибок.
Значительная часть преимуществ Vulkan направлена на получение большей пользы от CPU, что позволит увеличить число вызовов функций отрисовки за один кадр и частоту кадров. В отличие от вышеописанных конкурирующих API, Vulkan не ограничен одной операционной системой (Metal для iOS или DirectX для Windows) или архитектурой графических чипов (Mantle для видеокарт AMD) и приспособлен для работы с мобильными устройствами, заменяя при этом OpenGL ES.
Vulkan изменяет процесс компиляции шейдерных программ, представляя промежуточный язык под названием SPIR-V. В результате от необходимости компиляции шейдерных программ избавлены драйверы дисплея, что упрощает их написание и позитивно влияет на производительность.
SPIR-V унифицирует графику и вычисления общего назначения и используется также в OpenCL 2.1, анонсированном одновременно с Vulkan. Предыдущая версия OpenCL использовала SPIR, отличный от применяемого в OpenGL язык. OpenCL 2.1 позволяет писать приложения в подмножестве языка С++, который Nvidia уже поддерживает в архитектуре CUDA. Теперь С++ будет применяться в кросс-платформенных вычислительных приложениях.
API Vulkan доступен сейчас в виде предварительной версии (финальная ожидается до конца года), а OpenCL 2.1. в виде предварительных спецификаций.