Vulkan in Open Source [pdf](fosdem.org) |
Vulkan in Open Source [pdf](fosdem.org) |
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.
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.
So lets see how Vulkan will improve it.
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.
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.
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
https://www.khronos.org/news/events/gdc-2016-khronos-session...
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)
The frustration is a bit understandable.
> 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.
Any hardware that supports OpenGLES 3.1. The Khronos guys have said this in various interviews, it's easy enough to google.
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.
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.
Still, it will be an improvement over openGL.
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!"
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-...
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.
Edit: The below blog redirects HN referrers to a funny image macro, copy paste the link instead.
https://www.jwz.org/blog/2012/06/i-have-ported-xscreensaver-...
The delayed spec hasn't even been released yet and Nvidia is already making Vulkan extensions on its own.
It can. Or it can result in spec which helps everyone instead of just MS alone. Depends on how it's done. Vulkan is done from scratch, and so far I see no signs of them making mistakes of OpenGL. I guess we'll see more once it's released. Either way, what's the alternative? There is none, unless of course you work for MS and envision them controlling everything.
Just MS alone? DirectX helps hundreds of millions of gamers, a whole bunch of game and application developers and companies.
That's like saying improvements to the Linux kernel help only the Linux kernel.
>Vulkan is done from scratch, and so far I see no signs of them making mistakes of OpenGL
Huh, how do you see that? The spec is developed behind closed doors by corporate folks each with their own interests. Even the W3C holds open discussions with specs.
A real alternative would be for the FOSS/Linux dev community to create and implement a standard properly.
So why is NVidia already providing extensions before it even gets out of the door?
Welcome to the multiple code paths that any OpenGL game developer already suffers from.
Everything old is new again.
Or for that matter where are the Vulkan implementations for Sony and Nintendo consoles?
Being a logo on a web site has zero value besides PR, if they don't bring out support to their devices.
So how are they again different from MS?
Who knows. Being part of the working group might mean they are considering it. Or may be not. MS though lets everyone know now that they don't care (by not being part of the group).
> So how are they again different from MS?
They are pretty similar in many (bad) ways, including the issue of lock-in. Apple is probably even worse these days.
Yes. How can you use DirectX on non MS platforms? If MS wanted to help someone besides themselves, you could answer that question in a satisfactory fashion. But of course, they don't care about it, they only care about lock-in. Trying to pretend that lock-in serves anyone besides those who push for such lock-in is highly disingenuous.
> Huh, how do you see that?
From what was published about it so far (origin in Mantle, collaborative input of those who know better and so on).
> A real alternative would be for the FOSS/Linux dev community to create and implement a standard properly.
Linux community was involved. In fact the main link in this post is from one of the contributors to Wayland and Mesa who was working on Vulkan.
Linux is basically irrelevant to game developers.
Other folks have been nice, but let's just be clear here. Linux's graphics story is a stupid joke, the driver story is a stupid joke, the 3D story by way of OpenGL is a stupid joke, audio is a stupid joke.
That's why it doesn't matter if you can only use DirectCX on MS platforms--because by reaching only that teensy tiny vast majority of installed computers, devs can do well.
MS has always treated their developers better than anything in the 'nix or BSD ecosystem, and that extends to better thought-out and implemented APIs.
Sorry, but that's the world we live in, and in reality there is little point in MS worrying about a non-DX API--and little point in supporting one if you're making games for PC.
Sounds like a quote form early 2000s. We are long since past that. If you didn't pay attention to the last few years - then may be research what's going on now.
> That's why it doesn't matter if you can only use DirectCX on MS platforms
It does matter. Lock-in forces developers to do double work. I.e. if they can't reuse the effort - they need to duplicate it. To put it differently - MS on purpose increases the cost of making cross platform games. Obviously for the reason of putting competing platforms at a disadvantage. How can any developer find such behavior beneficial is hard to understand. All normal developers have no respect for lock-in.
> MS has always treated their developers better than anything
Oh, really? Forcing people to do double work is not called treating you better. It's called being a jerk. And jerks they are, same as anyone who uses tools for lock-in purposes (instead of for what they should be - tools).
How can you use GX on non Nintendo platforms?
How exactly did you read that into my words? I said those who force people to do double work are jerks. I.e. those who create and enforce lock-in (MS and their ilk). Why would developers who have no option but to do that double work be jerks? It wasn't their decision and they have no control over those who create those walled gardens and lock-in.
Practice of lock-in doesn't go to "industry roots". It goes to those jerks who don't care about the industry and want to make life harder for developers by making tooling useless outside given walled gardens. Their selfish and stupid idea is based on assumption that the harder and more costly it is for anyone to do the work (because of duplication), the less likely they'll do it, thus sticking only to the walled garden they initially focused on. I.e. their usual exclusivity idea. Remember browser lock-in? Same idea here. It has nothing to do with the industry - it's all about jerkiness of those who make the tools and control the market.