The specification for the long awaited Vulkan graphics API has now been released by Khronos. An SDK by LunarG has also been released which contains validation and debugging tools for Vulkan applications.
Quite a lot of people have been waiting excitedly for the Vulkan spec to come out and there has been a lot of hype surrounding the new API. Vulkan has been designed to be a high-performance low-level API which can take advantage of modern multicore processors far better than OpenGL. We will have to see how much this new approach affects real life performance once we have drivers with Vulkan support and games that utilize this new API, hopefully we'll get that soon.
AMD have also released a video explaining how Vulkan works in a nutshell.
Direct Link
You can read the full Vulkan specification announcement from Khronos here and find some docs and samples of Vulkan in the Khronos GitHub. Correction: The Vulkan samples page is currently empty. The LunarG Vulkan SDK will be available on their Vulkan page but currently the download page might show you a 404 error.
Quoting: skinnyrafTechnically, yes. I had XCOM 2 freezing the driver completely with Xorg. Connected via SSH from tablet, killed X but the image on screen remained. Couldn't rmmod nvidia (module is in use), had to reboot. So yes, OpenGL can break the system. But it has enough layers of protection to prevent many possible ways of doing that unintentionally. Vulkan, as I understand it, has none or very few. So here comes a question, do we agree to trade stability for performance? A hard one to answer I must say.Quoting: rkfgI've become curious about one thing: if Vulkan provides such a low level access to hardware, what will happen if an app (a game usually) starts to misbehave?
<...>
Is it any better with OpenGL? It's direct access too. A misbehaving game/driver can easily freeze a system. You can sometimes switch to a console to kill the game, but often it is not possible. You could still ssh into the box if you have another system available, but how many users can do it?
Quoting: rkfgQuoting: skinnyrafTechnically, yes. I had XCOM 2 freezing the driver completely with Xorg. Connected via SSH from tablet, killed X but the image on screen remained. Couldn't rmmod nvidia (module is in use), had to reboot. So yes, OpenGL can break the system. But it has enough layers of protection to prevent many possible ways of doing that unintentionally. Vulkan, as I understand it, has none or very few. So here comes a question, do we agree to trade stability for performance? A hard one to answer I must say.Quoting: rkfgI've become curious about one thing: if Vulkan provides such a low level access to hardware, what will happen if an app (a game usually) starts to misbehave?
<...>
Is it any better with OpenGL? It's direct access too. A misbehaving game/driver can easily freeze a system. You can sometimes switch to a console to kill the game, but often it is not possible. You could still ssh into the box if you have another system available, but how many users can do it?
Vulkan abstraction most likely have some safety measures built in. It is not complete raw access.
Quoting: EikeThe nvidia drivers with beta Vulkan support have got the version number 355.00.26, my Debian drivers have got 355.11 - so should Vulkan already be included? Or is there some number confusion (like a ".00" too much)? Is there any easy way to query if the driver supports Vulkan?
I will guess that Vulkan support is added to branch 355.00.26, 355.11 is just next branch without Vulkan in it. When it will come out of beta phase it will be added to latest Nvidia driver officially.
Quoting: minjThe error checking is a different layer in Vulkan that can be enabled in dev and disabled in production. This should theoretically take care of all the major problems before they hit users. Then again AAA titles should be obvious bug-free on launch and we all now how take works...My concern exactly. For now a buggy shader may prevent rendering some parts of the scene like skin in Assassin's Creed. Looks awfully but at least you can exit the game. If the entire desktop hangs up instead (together with unsaved documents and what else), gamers would be not just upset but furious.
In the meantime you may check these demos (from this source. They require Vulkan SDK (sign in isn't required, look at the bottom) and the mentioned source repository. Binaries are supposed to be placed in the subdir of the cloned repo, I named it "binaries" so that they could access the data files with ../data/shaders/whatever). computeshader crashes for me and instancing is unbelievably slow. Which is sad as it says lots about the expected gain. Or loss of it.
Quoting: rkfgMy concern exactly.
For now a buggy shader may prevent rendering some parts of the scene like skin in Assassin's Creed.
Looks awfully but at least you can exit the game.
If the entire desktop hangs up instead (together with unsaved documents and what else), gamers would be not just upset but furious.
In the meantime you may check these demos (from this source.
They require Vulkan SDK (sign in isn't required, look at the bottom) and the mentioned source repository.
Binaries are supposed to be placed in the subdir of the cloned repo, I named it "binaries" so that they could access the data files with ../data/shaders/whatever). computeshader crashes for me and instancing is unbelievably slow.
Which is sad as it says lots about the expected gain. Or loss of it.
Very good link
Respect vulkan, computerbase* make some test in talos principle on windows with respective amd and nvidia drivers
Original Article by Computerbase
http://www.computerbase.de/2016-02/vulkan-erste-benchmarks-der-neuen-api-in-talos-principle
Results shows improvements compared to opengl but vulkan stay behind DX11 (and DX12 improves compared to DX11)
^_^
Last edited by mrdeathjr on 16 February 2016 at 6:33 pm UTC
Quoting: PeciskVulkan abstraction most likely have some safety measures built in. It is not complete raw access.
From the specification section 2.5:
"... implementations must ensure that incorrect usage by an application does not affect the integrity of
the operating system, the Vulkan implementation, or other Vulkan client applications in the system, and does not allow
one application to access data belonging to another application. Applications can request stronger robustness guarantees
..."
So a misbehaving application should only be able to crash itself assuming there are no OS/driver bugs.
Vulkan applications still have their OWN LOCAL buffers, which the driver better does not get mixed up with other buffers reserved on the GPU. Getting Vulkan to be displayed on X11 and/or keeping different applications not getting in each others way is the responsibility of the driver (still).
But ye, you for sure can kill the driver with Vulkan, as much as you could with OpenGL (locking up the GPU).
Quoting: PeciskQuoting: minjI remember someone anticipating for giggles that NVIDIA will beat AMD in Vulkan which was born out of their own spec (Mantle). Props to you sir but I don't know whether to laugh or weep.
Didn't know it was a race.
If it is, it's no marathon, but an endurance run.
And given the fact that current AMD hardware is far better at parallelization... :p
See more from me