Hacker News new | ask | show | jobs
Vulkan in Open Source [pdf] (fosdem.org)
74 points by 1ace 3791 days ago
9 comments

More Vulkan slides how everything is going to be great without real content[0], whereas Metal and DX 12 are already here.

Not only as drivers, but also documents, books, tools and graphical debuggers.

I hope this doesn't turn out into another Longs Peak.

[0] Yes, I know it is Mantle inspired and I have those PDFs.

Proprietary APIs can't be a replacement to an open industry standard.
In practice, the word "open" in "Open Standards", such as OpenGL or Vulkan, doesn't mean very much. For example, being able to vote, participate in the specs' working group, or access the conformance tests costs a considerable amount of money[1].

APIs such as DirectX or Metal receive just as much or more input from developers, albeit mostly through back channels or explicit reach out by Microsoft, Apple, etc.

[1] https://www.khronos.org/members/join/

The conformance tests are open source and will be available from day 1 ;)

As far as participating in the design of the standard, are you really saying you'd want everyone and their mother to have their word? I think it's best to leave this to GPU vendors and engine implementers, as they're the ones who know how it can work.

Well OpenGL regardless of urban myths has been mostly ignored by the games industry, except on iOS, Android and indies before the rise of middleware due to lack of proper tooling.

So lets see how Vulkan will improve it.

I'm pretty sure that DirectX is a living, breathing counterexample to that claim.
I'm pretty sure you missed the point...
And how exactly can you use it on Linux or any other non MS system? It's an example of the disgusting practice of using development tools for lock-in.
Or it can be a very nice object based API instead of a state based API that made sense in 1992 as the slide deck said and certainly didn't make any sense in 2008 when the industry group Khronos sided with the commercial CAD industry to screw over Linux consumer gaming because there was no money in it. How was that DirectX's fault again?

I am guess you're not a game developer and your post is yet another case of [1].

I am a game dev and here are some links that show to non game devs why DirectX is more popular:

http://programmers.stackexchange.com/questions/60544/why-do-...

https://news.ycombinator.com/item?id=2711231

http://www.tomshardware.com/reviews/opengl-directx,2019.html

[1] http://arstechnica.com/information-technology/2009/07/linus-...

> Or it can be a very nice object based API instead of a state based API

That's exactly what Vulkan is. So where is MS voicing their support?

> I am a game dev

So did you ask MS why they didn't join Vulkan working group?

And I'm not sure what was your point in those links about OpenGL. We are talking about Vulkan.

> whereas Metal and DX 12 are already here.

They can't be compared, because they are limited to MS and Apple.

Just like LibGCM is limited to Sony and GX is limited to Nintendo.
Yes, so what does it mean? As I said above, Vulkan is the only non lock-in option.
You keep on attacking MS alone as if they weren't actually following what are game industry practices.
Not MS alone, but anyone who uses lock-in. And why should such despicable behavior be respected, because it's an "industry practice"? It is not. It's just common because various major companies in the industry are indeed jerks.
At this point, my advice to the Vulkan folks is:

Ship it, or shut up.

I don't need another slide deck promising the universe. I need an API that I can build on even if it's primitive.

And, if it's too primitive to build on, my advice would change to:

Shut up and code.

Apparently it's been finalized for a while, they're just waiting for the green light from legal:

http://www.tomshardware.co.uk/khronos-group-vulkan-delay,new...

But I agree these shallow slide decks aren't contributing anything. Anyone who needs to know Vulkan exists knows at this point.

Also, Vulkan is going to support extensions like OpenGL did which fragmented the hell out of OpenGL.

Nvidia is already beginning the lock in and fragmentation process by making Vulkan extensions.

https://developer.nvidia.com/engaging-voyage-vulkan

>NVIDIA will therefore provide a few Vulkan extensions from day zero, so that you as developer can enjoy less obstacles on your path to Vulkan. We will support consuming GLSL shader strings directly next to Vulkan's mandatory SPIR-V input

Nefarious intent aside. This will make it much easier to port large projects over piece by piece so its not an all or nothing proposal that requires a complete rewrite from day 1.
The lack of information about Vulkan is a bit concerning. For something that is about to be announced anyday now there is very little concrete information available about basic details like - what hardware that is currently shipping will support vulkan and how long after announcement will vendors have drivers out (weeks/months/years?).

    > what hardware that is currently shipping will support vulkan
AMD will support it for all GCN GPUs (7000 series).

Nvidia will support Vulkan for Fermi (GeForce 400) and newer. I don't really believe them here, but they even talked about Windows XP support. Announced on SIGGRAPH 2015.

Intel is Haswell and newer. It's possible that Ivy Bridge may get it on Linux, but Windows driver looks unlikely as they don't even support OpenGL 4.3 in Windows.

    > how long after announcement will vendors have drivers out
Valve demonstrated Vulkan driver developed by LunarG for Intel hardware back in March of 2015. It's will be released with source code once specification released.

Nvidia driver with Vulkan (358.66) leaked in November.

AMD employees confirmed they already have Vulkan working on top of new Linux AMDGPU driver.

* https://www.youtube.com/watch?v=8xBuAdnIrJQ

* https://www.youtube.com/watch?v=0Hth4u65zfc

> what hardware that is currently shipping will support vulkan

Any hardware that supports OpenGLES 3.1. The Khronos guys have said this in various interviews, it's easy enough to google.

>what hardware that is currently shipping will support vulkan

Khronos has committed to publishing an API which can be implemented on all OpenGL ES 3.1 capable hardware.

>how long after announcement will vendors have drivers out (weeks/months/years?).

AMD, NVIDIA, and intel have all committed to timelines, or do not need to.

AMD developed Mantle, and has been developing their Vulkan stack since the beginning. They haven't set a date, but I doubt it'll be more than a month past public API release.

NVIDIA has committed to same-day delivery of a compliant driver. The day that the spec comes out, NVIDIA says they will have a driver.

For intel, I'm not certain about their proprietary drivers. I do know, however, that Valve and LunarG have developed an intel Vulkan driver. They are committed to a same-day release with source code.

So no: not years, probably not months, maybe not even weeks.

Drivers will be available on release day and all currently sold hardware will support it.
Thanks - is reading the Mantle docs a good way to hit the ground running with Vulkan or have things diverged significantly?
Expecting to hear more Vulkan details from Khronos at the Game Developer's Conference 2016 in March:

https://www.khronos.org/news/events/gdc-2016-khronos-session...

Newest thing I've heard is that there will be games using Vulkan at launch. So, the specification, the drivers and some game ports will all go public the same day. Anything might be holding it up (most likely the ports), but GDC in March seems like a reasonable deadline considering the amount of talks about Vulkan.
I really think one of the important aspects is that it should be much easier to reverse engineer proprietary drivers now given how explicit the API is supposed to be.
I hope Vulkan will catch up. And MS deserves strong disrespect for not joining the effort which can move the industry forward.
Url changed from https://fosdem.org/2016/schedule/event/vulkan_graphics/, which points to this.
More garbage from the same trash factory. Get back to me when you have an API that doesn't incentivize drivers to behave differently based on the name of the video game engine.
No one has such an API, as far as I can tell. You think drivers aren't activating special code paths and replacing shader code for games that use Direct3D? I suspect we'll have a short time period where drivers don't do this for Vulkan and D3D12 before we go right back to it because in the end, whoever runs the game and runs it faster wins, no matter how broken the game is.
> No one has such an API, as far as I can tell.

I think he's referring to GR_APPLICATION_INFO, which in Mantle was a struct passed during initialization containing the string names of the game and engine plus their version numbers.

The intention probably is to make app specific driver paths easier to implement but as you say, driver developers would do that regardless using the name/path/checksum of the EXE if they had to.

https://www.amd.com/Documents/Mantle-Programming-Guide-and-A... (pg. 308)

https://www.khronos.org/assets/uploads/developers/library/20... (pg. 13)

While some might find your wording a bit strong, I was also surprised by the lack of content in that slide deck.
Vulkan was originally supposed to start shipping in Q4 2015, and there's still not more publicly available than 12 months ago.

The frustration is a bit understandable.

Its a free and open API developed in secret by committee. What could go wrong?

Still, it will be an improvement over openGL.

Seriously Khronos, take a fucking page out of C++. They went two decades with awful broken language syntax until sometime between 2004 and 2008 they got together and decided to fix it.

Today, https://isocpp.org/ is a gold mine of how to do an open standard correctly. Everything is public, future features are discussed with the community, and all the working groups are on github. That is how you take a legacy standardization body and modernize it for the open source world, not make presentations at every event for over a year going "Hey guys its gonna be great! Just wait until you see it! Ooooonnnnnneeeee day! We just know you'll love it!"

The Q&A was probably the most interesting part. Hopefully the session has been recorded (some were having issues with the cameras).