Khronos Group Announces The Next-Generation 'Vulkan' Graphics And Compute API

Today, the Khronos Group, the organization behind the OpenGL, OpenCL, WebGL and other open standards, announced the next-generation graphics API meant to replace OpenGL. The new API will be called Vulkan and is arising as an evolution of AMD's Mantle API, just like Apple's Metal and Microsoft's DirectX 12.

When AMD announced the Mantle API that was "closer to the metal" than either OpenGL or DirectX in order to cut significant driver overhead and increase performance, many were skeptical, or even hostile toward AMD's mission.

Many believed that AMD might cause a fragmentation in the graphics API world, and that Intel or Nvidia would rather create their own APIs than work with AMD on Mantle, even if AMD extended an open invitation to all the other chip makers to join them and evolve the API together.

The risk wasn't non-existent, however the potential upside -- forcing Khronos and Microsoft to rethink their graphics APIs and tap into the hardware's full potential, much like you would with a console -- was too great to pass.

In the end, AMD's Mantle ended up fostering a revamping of everyone's graphics API, fearing that they would be replaced. Now both the new Vulkan API and DirectX 12 are heavily inspired by Mantle. And instead of creating fragmentation, we're getting much better standardized graphics APIs that perhaps we wouldn't have gotten in such a short period of time otherwise.

Some of Vulkan's main characteristics include:

Completely cross-platform. No more OpenGL ES for mobile and OpenGL for desktop. There will be only one API for mobile, desktop, cars, consoles and so on.Direct access to the GPU for maximum console-like performance.Multi-threaded architecture to be optimized for all the multi-core processors we use today and use the CPUs' full potential.Extensible layered tools architecture, which should lead to increased innovation in a cross-vendor tools ecosystem.Simpler drivers that are easier to port across different hardware architectures.SPIR-V built into Vulkan's core (also in OpenCL 2.1), as native intermediate language, making it easier for developers to take advantage of multiple shading language front-ends

Most OpenGL developers have been complaining about the complexity and difficulty of using the API for many years. It's also one of the reasons why most prefer to work with DirectX, or didn't want to build games that also work on Linux.

OpenGL ES has generally been a much cleaner API, because the Khronos Group selected only the more basic (and more energy efficient) features to work on mobile. Vulkan however goes one step further and simplifies the API even more – giving direct control of the GPU to developers through a thinner driver layer.  However, Vulkan is being designed to be able to run on any GPU with OpenGL ES 3.1 capabilities and upwards.

According to Khronos, game engine developers such as Valve and others have been surprisingly strong contributors of ideas to the Vulkan project. When AMD launched Mantle, the company said it also collaborated for a long time with EA's DICE, the creators of the Frostbite engine and the Battlefield series, in order to build and optimize the Mantle API for real-world use.

Valve has already been working with Nvidia to heavily optimize its GPU driver for OpenGL, to create the SteamOS and push the proliferation of Linux games. It's not a big surprise that now Valve is a main contributor to Vulkan as well.

"Industry standard APIs like Vulkan are a critical part of enabling developers to bring the best possible experience to customers on multiple platforms," said Valve's Gabe Newell. "Valve and the other Khronos members are working hard to ensure that this high-performance graphics interface is made available as widely as possible and we view it as a critical component of SteamOS and future Valve games."

Fortunately for Vulkan's future success, most of the important graphics players have been involved as well and will support the API in their devices or games. This includes companies from: AMD, Nvidia and Intel, to ARM, Imagination, Qualcomm, Epic Games, Unity and more.

The big initial worry about fragmentation seems to not have come true thanks a strong collaboration between all of these companies and Khronos' leadership in the project. Khronos started the project only last June, and now it already has a solid idea for how the API will work. The group will announce more information at GDC, including a Vulkan demo that will be shown on Thursday at GDC.

OpenGL ES alone was already on a trend of becoming the most popular graphics API for all computing machines. It's on billions of smartphones and tablets and starting with OpenGL 4.3 it is also available as a profile in the desktop drivers from Nvidia, AMD and Intel's Haswell GPUs.

Within a few years we may begin to see more and more games utilizing the Vulkan API over DirectX, in cases where developers want their games to work everywhere, including mobile. This could also give affordable Android consoles a big boost in game support, as the mobile hardware should be powerful enough by then to show advanced graphics in those games.

Follow us @tomshardware, on Facebook and on Google+.

Lucian Armasu
Lucian Armasu is a Contributing Writer for Tom's Hardware US. He covers software news and the issues surrounding privacy and security.
  • airborn824
    So basically AMD announces no more Mantle support... Basically AMD gave Mantle to Kronos and let them take it over and call it GLnext....
  • mavikt
    Strange, when I read the article, it read like:
    "This is probably why Vulkan will keep the OpenGL ES 3.1 (latest version) base, and go from there with its feature evolution."
  • none12345
    Mantle never had to succeed on its own, just kicking the other players in the ass was enough.

    I would love to see vulkan smoke directx, that along with its cross platform base, would be great news indeed.
  • 8R_Scotch
    I'd love to see Vulkan severely threatening DirectX 12 too, but if DX12 can truly pool graphics cards together with decent efficiency and cross-brand compatibility, Vulkan has a great disadvantage there.

    Hell, if MS can show that adding the integreated graphics of it's (or AMD's) chips to your dedicated graphics in a pool can IMPROVE performance without some nasty side-effects (loosing superior function, compatibility, increasing lag, etc.), there's no competition.
  • rokit
    Vulkan and Unreal becoming even cheaper(because $20 was too much, now its free) are the best recent news.
    Vulkan has a good chance to replace DX12 on Windows platfrom for the moajority of the games because it is:
    - do not need fees
    - crossplatform
    - plays exceptionally well with OpenCL 2.1( and there is SPIR-V that will help to use your favourite language without going deep in OpenCL) which got easier as well.
    - developed by more companies than DX12 including software and game developers. Basicly thye fixed their previous mistake and are now listening to developers and make it easy to use. And its officially known that they used Mantle and improved it alot.

    Both Vulkan and DX12 are completely new API. Developers will have to learn it from the groud up anyway, no matter which they choose. But crossplaform vs MS platform.... without recieving any money from MS i just can't see someone so stupid to use DX12.
  • cats_Paw
    Better or not, this is what competition brings: better for the consumer.
    mantle, DX 12, now vulkan.
  • ammaross
    Vulkan and Unreal becoming even cheaper(because $20 was too much, now its free) are the best recent news.
    Unreal is not "free," just free to develop on until you start pulling in $3k+ per quarter, then you start paying the 5% royalty fee.
  • bit_user
    Uh, so any plans for more than a passing mention of OpenCL 2.1? IMO, it's actually a bigger development than 2.0.
  • rokit
    15417022 said:
    Vulkan and Unreal becoming even cheaper(because $20 was too much, now its free) are the best recent news.
    Unreal is not "free," just free to develop on until you start pulling in $3k+ per quarter, then you start paying the 5% royalty fee.
    I know, its free as in beer but comparing to the others its the best to start with as usually you start without much money or confidence.
    With UE4 you can start from scratch without paying for seats and all. Comparing to the Unity that still wants money whether you earn something yourself or not it is the most free option out there in AAA class game engines. On top of that you get the source code that with Unity will cost additional sweet sum of money.
    Once you start making big money you can buy UE4 and use it without fees like the big companies do. And if you're not making such kind of money 5% for what you get is a nice payment.
    Also in more recent news Valve will release Source 2 soon(Vulkan support from the start) and will also be free. Yes there is a catch, you must place your game in Steam and that will require 30% fees. And we still know nothing about it and whether its worth it to begin with. Still if you're new to the business and planning to release your game on PC you would like to put it on Steam anyway.
  • SuperG
    Strange this pro open api's vs MS API
    First Mantle, Vulcan, DX12 comes into reality by Developer request. A result of lobby-ing communication between 3 parties of API, Hardware and devs. AMD was pushing it harder then the rest. My bet the where already working on it.
    But keep in mind the big shot not the hobbist or indi-dev get the most attention from the hardware and API vendors. So the more bigger commercial titles and the studio behind them. Mostly Technical directors have much more say to GPU vendors and API. The bigshots and primadonna's vent there request.

    So will Vulkan smoke DX12 I don't think so. If you are a indie dev of one man team you can deside to support OpenGL/Vulcan exclusively because as a independent dev you got this freedom. And avoid MS consoles. Or any platform from them. And if supporting windows use OpenGL. If you are a dev a Linux fundy and independed you can and will obviously avoid platforms where you need to use DX.

    But as a Linux fundi working for a triple A studio your boss or technical CTO might need to use DX for PC and XB360 and XB1 because the publisher invest in a cross platform title for the larges gamer platforms. you could be part of the Linux port team. But if the 3D engine programmer are of the engine team they probably need to no DX and openGL.

    So who is Vulcan for. those big studios supporting next to the three biggest platforms also MAC and Linux. Besides PS4 XB1 and PC windows.
    And the non |MS mobile platforms.
    How ever I imagine a Tech CEO decides on a Triple A cross platform block buster a
    Game that will be released for the prim biggest platforms. which includes MS consoles.

    These API are implementation details and requirement constrains. They are not a feature. But more or less depend on what platform those games are made for.

    So DX- whatever or Kronos equivalent are nothing but cross platform engine constrains address in technical design document. Where the bigger publisher often have a shared between project game engine. So often the use DirectX for MS consoles and windows PC with the very popular in the game industry visual studio dev tool.

    The other platform PS use there development kits
    And Apple is also bit moving away from OPENGL
    And Linux the use OpenCL

    But where the PC windows platform is already much more optional major platform
    Apple and lunix are often ignored. why as the are much smaller and triple A means huge sales to merit a port. So often not.
    I think the key persons who decide to support API for the pro which often choose both.

    For most smaller indies with there small scope games DX12 and vulkan is not that relevant as there requirement are low and uses more higher level tool to produce there game. like Unity 3D