Vulkan is Released

The Khronos Group has just released Vulkan.

https://www.khronos.org/vulkan/
We programming on windows right? Only what we need to know is directx. So why i need to learn vulkan api?


What are minimum gpu requirements to run Vulkan?
We are programming on Windows only now. Code will be compiled also for other platforms. That's why we are using OpenGL, not Direct3D.

If you care only about Windows, then there is no good reason to learn Vulkan. You can easily use D3D12/11 and be fine. Vulkan is to D3D12 as OpenGL is to D3D11/9. More low level, cross-platform API. One advantage for Vulkan over D3D12 is that it won't require to use Windows 10. It will run on Win7 just fine (or even WinXP if GPU vendor will release new driver for XP).

Minimum GPU support depends on vendor. For Intel it is Ivy Bridge and up. For Nvidia it is GeForce 600 and up. No sure about AMD. Checkout their driver download pages - they are releasing new drivers now that supports Vulkan and supported GPUs are mentioned in release notes.

Edited by Mārtiņš Možeiko on
Vulkan is a low-level, cross-platform, open source graphics API. It is akin to DirectX12, Mantle, and Metal. It is derived from AMD's Mantle API.

Vulkan requires new graphics drivers and only graphics cards that support OpenGL ES 3.1 or OpenGL 4.x _may_ support Vulkan.

I do not know if it is well designed yet without a little reading and experimentation.

It is only for people who _need_ to get all the performance they can from the GPU.
I'm not going to be able to make the live-stream today, but I'm hoping now that it's out, today's topic will be Casey talking in a lot more detail about his grievances with their design.
I can't wait to read his [strike]rant[/strike] blog post about the problems with the design.
gingerBill
It is derived from AMD's Mantle API.


Word on the street is that, while this is true, the final result of Vulkan is significantly removed from what Mantle was. That's not to say they don't have striking resemblances to one another, but it sounds like Vulkan is more a spiritual successor at this point than merely a standardized version of it.
gingerBill

Vulkan requires new graphics drivers and only graphics cards that support OpenGL ES 3.1 or OpenGL 4.x _may_ support Vulkan.


But for now I can't see Fermi gpu support. If u have for example still good card like GTX580 u cant run it;d
maybe later support comming
mmozeiko
Minimum GPU support depends on vendor. For Intel it is Ivy Bridge and up. For Nvidia it is GeForce 600 and up. No sure about AMD. Checkout their driver download pages - they are releasing new drivers now that supports Vulkan and supported GPUs are mentioned in release notes.


Ouch, I thought my 560ti was still kinda "ok".
Support for NVIDIA 400 and 500 is likely in the works. Yesterday simply marked the initial rollout. NVIDIA has stated in the past that those lines are clearly capable of supporting Vulkan. It's just a matter of putting the work in. Vulkan is still a baby! Also, I wager the assumption is that developers are more caught up on hardware than typical gamers, so we have these drivers for now. In a year or two when Vulkan titles begin shipping, I'm sure drivers for older GPUs and older Intel chips will be begin shipping.
hendrix
Quick Look: Vulkan Performance on The Talos Principle


The differences between OpenGL and Direct3D are the most surprising thing for me. I have found that OpenGL to be on par or faster than Direct3D and not half its performance. I am guessing they haven't optimized well for either OpenGL nor Vulkan so this is most likely not a good example.
In my readings I came across this great set of examples that use the LunarG SDK: https://github.com/SaschaWillems/Vulkan

Vulkan is VERY verbose, but it takes out much of the Black Box that is OpenGL and puts you in charge. In theory, over time people will figure out how to get more out of it than OpenGL and DirectX. It also should lead to much better tools because you can insert Layers into the stack at will.

To give you a hint at how verbose Vulkan is, this is the above links code to put one triangle on the screen without any of the helper code he uses in most of the other examples: https://github.com/SaschaWillems/...blob/master/triangle/triangle.cpp Source Code Line Count: 657
And 657 is not counting lines for vulkanexamplebase.cpp/hpp and vulkanswapchain.hpp files which are needed by this example :)

For great "30 min" overview of Vulkan API for people who are familiar with GL/D3D this is a great read: https://renderdoc.org/vulkan-in-30-minutes.html
Per the recent Vulkan webinar, it sounds like NVIDIA is currently not working on Fermi (400) support. They said it is not an issue of engineering but rather the number of remaining Fermi users.