6 ms·
I don't get what you are suggesting. Apple supporting Vulkan on macOS and iOS wouldn't do anything to expose a new GPU API to the web. They are totally orthogon
by om2 10y ago
I don't get what you are suggesting. Apple supporting Vulkan on macOS and iOS wouldn't do anything to expose a new GPU API to the web. They are totally orthogonal. We're expecting work on the new web API to be super collaborative, so your framing is uncharitable and incorrect.
- surrealize 10y ago> Apple supporting Vulkan on macOS and iOS wouldn't do anything to expose a new GPU API to the web. They are totally orthogonal. The web GPU API and the lower-level API aren't "totally orthogonal" if you're using the Metal shader language in your web GPU API! You're trying get web authors to use (a part of) Metal! It's totally not orthogonal.
- om2 10y agoThe Metal Shader Language use in our prototype is totally a placeholder, and the post says so. We expect the standards process to define new source and binary representations, possibly based on Khronos's SPIR-V. The shader language is partly independent of the API though, and we though the API was the interesting thing to prototype, more so than shaders.
- shmerl 10y agoThat's already something. But you shouldn't have started with a bad placeholder, waiting for others to criticize and propose replacing it. Start with open languages and technologies right away.
- MBCook 10y agoShould they have invented a different place holder (and all the work that would require) just to throw it away and be all data they weren't using the shader language that Vulcan uses? The post was VERY clear that that was temporary while working on the other basics and a real decision would be made later.
- shmerl 10y agoThis shows, that this idea wasn't thought through enough. And coming from Apple, it raises a concern naturally. These things should have solid foundations from the start.
- MBCook 10y ago> This shows, that this idea wasn't thought through enough. Isn't this the way you're supposed to do open source? Post code early and often for comments? It seems like a ridiculous requirement that to show a sketch of what they think a web API should look like for next generation 3-D graphics they should have to design an entire shader language that's different from the one they already have. It's just a placeholder. They didn't even SHOW the language. They just referred to its name and said they were using that for expediency during the initial version of the document they were showing.
- shmerl 10y agoMSL is a non starter, because it's closed. Making a project from scratch that invites collaboration, requires thinking about such issues in advance and having them at the very foundation. That's my whole point. Failure to do it, is not an encouraging sign. > should have to design an entire shader language that's different from the one they already have. They don't need to design a new language - take existing open one and use it.
- MBCook 10y agoThey explicitly said that it's a placeholder. They weren't suggesting it be used. It was just something easy for them to rig up for their initial demo. I think you're reading a lot of intention that isn't there into that placeholder.
- shmerl 10y agoOK, so why take the wrong placeholder? Do the homework, and present the initial proposal in a better shape.
- givinguflac 10y agoDon't bother, they clearly don't get it.
- Benjamin_Dobell 10y agoI think it's a bit disingenuous to say they're totally orthogonal. Presumably you understand that if Apple supported Vulkan natively, then "WebVulkan" would be the obvious choice for a web API (just as it was with OpenGL/WebGL).
- om2 10y agoI don't think browsers will choose to pipe this through Vulkan drivers on Windows (since they are all unofficial and in general don't have as complete coverage) and I don't think they'd choose to use unofficial Vulkan drivers for Apple platforms either, even if they existed. Also, if you compare the sample code in the post with a sample of Vulkan code, I think it will be clear that a literal "WebVulkan" is a road best not traveled.
- shmerl 10y agoSo who stops Apple (and MS for that matter) from making it official? If it's about collaboration, let them grow up and stop their petty lock-in games. And if not, I don't think anyone should accept proposals coming from them for such things.
- MrScruff 10y agoThe proposal in this case appears to be coming from the safari group rather than the metal one. Even if that weren't the case, for a standard to be a success then pragmatism is more useful than idealism. Telling the maintainers of most of the worlds desktops to fall in line isn't really practical.
- comex 10y ago> Also, if you compare the sample code in the post with a sample of Vulkan code, I think it will be clear that a literal "WebVulkan" is a road best not traveled. Are you sure? Don't forget about WebAssembly… Just as Emscripten currently exposes the original OpenGL ES API as a wrapper for WebGL, for the sake of porting existing C/C++ code that uses it, in the future there will be a desire to port Vulkan renderers to the web. That will be easier if the browser API is based on Vulkan; otherwise you'll end up with a shim on top of a shim. Also, the same arguments about developer familiarity that led to WebGL being designed as it is could apply just as well to Vulkan - albeit somewhat more speculatively, given Vulkan's newness.
- sydd 10y agoWhy come up with a new API for this? Why not use the one supported by Google, and MS, Vulkan? We dont need another (a fourth!) API for the same thing. Introduce a web variant like Khronos with with WebGL (its almost like OpenGL ES, which is almost like OpenGL).
- acqq 10y ago> Why not use the one supported by Google, and MS, Vulkan? https://www.lunarg.com/faqs/microsoft-support-vulkan/ https://www.lunarg.com/faqs/microsoft-support-vulkan/ "Microsoft has not expressed intent to support Vulkan."
- goldfire 10y agoThey don't need to support it, because the GPU vendors have done so in their drivers, so it works fine on Windows without Microsoft's assistance.
- ioquatix 10y agoIf Apple supported Vulkan, all major platforms would support the same API. Exposing this to the web would be relatively straight forward. So, I don't think your assertion that they are orthogonal goals is correct.
- ChuckMcM 10y agoNot trying to be uncharitable here, I'm just sharing how it looks to someone driving by. That doc says: "It[WebGL] was based on OpenGL ES, a cross-platform API for graphics targeted at embedded systems. This was the right starting place, because it made it possible to implement the same API in all browsers easily, especially since most browser engines were running on systems that had support for OpenGL." And then it says later this: "The major platform technologies in this space are Direct3D 12 from Microsoft, Metal from Apple, and Vulkan from the Khronos Group. While these technologies have similar design concepts, unfortunately none are available across all platforms." And one imagines you could put up a big chart and have all the platforms as the columns and each technology as the row, and show all of the gaps. But the consensus is that Vulkan would show up on all the platforms except Apple's. So one might ask "well if you put Vulkan on your platforms, then you would be back to the WebGL situation where you had stuff that ran on all platforms and you could work on a Web API to that code. So "optically" which is to say, to a casual observer, it seems like Apple is saying everyone put this new thing on your platform as this web api we're working on will talk to it. I understand that you just want the best experience possible given the advances that have been made in GPUs over the last decade.
- MrScruff 10y agoBut isn't the Vulcan situation on windows similar to the OpenGL one? You need to install drivers... In which case won't browser makers target directx anyway, as they have with webgl?
- jamstruth 10y agoWhy would Microsoft behave any differently to this new API when they have not officially supported previous open attempts? Adding another standard to the mix just seems to be compounding the problem to me.