15 ms·
> I understand your desire to have Vulkan on Apple platforms, but it's really a separate issue from the right target for WebGPU. No, it's not a separate issue.
by hota_mazi 10y ago
> I understand your desire to have Vulkan on Apple platforms, but it's really a separate issue from the right target for WebGPU.
No, it's not a separate issue.
If Apple supported Vulcan, the simple act of proposing this new API as a standard would be laughed out of the room.
We can only speculate why Apple won't support Vulcan but I'm going to go with "Prefer a solution they designed themselves over one designed by other parties".
Just support Vulkan and let's abandon this silliness, shall we?
- om2 10y agoI think you are wrong on that. Vulkan is a low-level native API, not a JavaScript API for the web. Lots of design work needs to be done. In addition, even on platforms where there are unofficial Vulkan drivers (such as Windows), it's likely the natively available API will still have more complete support and better performance. So either way, we need a cross-platform graphics API. Let's focus this discussion on improving the web platform, not fighting battles about the underlying system APIs.
- modeless 10y ago> Lots of design work needs to be done. So support Vulkan and then let's do the design work! The choice of underlying system API has effects on the design of the upper layers. Your refusal to support Vulkan is blocking progress.
- andreyf 10y agoWhy so combative? How is a JavaScript API standard going to benefit from Vulkan support on Apple platforms? More specifically, how will a JS API benefit from being built exclusively for Vulkan, instead of multiple "APIs that have nuanced architectural differences", to borrow Dean's phrase?
- modeless 10y agoTo the extent that Vulkan has capabilities or features that don't map perfectly to Metal capabilities and features, native Apple Vulkan support would increase the performance and capabilities, and reduce the complexity and bugginess, of a hypothetical WebVulkan implementation on Apple platforms. And by reducing the compromises that have to be made for platform compatibility it would benefit the API design on all platforms.
- shmerl 10y agoYou can simplify the design and reduce bloat if you don't need to address multiple APIs as backend.
- corysama 10y agoTo play devil's advocate: Isn't a big focus of web tech the goal of supporting multiple backends for everything? If a new platform wants to support WebGPU but not Vulkan (ex: XBone or PS4) it should be not just theoretically possible, but actively supported by the design of the Web spec.
- shmerl 10y agoCould be, but PS and Xbox don't support Vulkan for the same bad reasons (lock-in), so messing up the spec because of that doesn't sound convincing.
- ioquatix 10y agoGood point. But, that's assuming that it's not possible to write a wrapper on top of DX (for Xbone) that proves a Vulkan API. It's already been shown to be possible to do something similar, with MoltenVK. The ball would be in Microsoft's court for this one.
- corysama 10y ago"it should be not just theoretically possible, but actively supported by the design of the Web spec."
- douche 10y ago> But, that's assuming that it's not possible to write a wrapper on top of DX (for Xbone) that proves a Vulkan API. Is this not how Vulkan on Windows works? Given how many OpenGL drivers were just shims over DirectX in the past, I wouldnt be surprised if the same course was charted there.
- shmerl 10y ago
- deleted 10y ago[deleted]
- hota_mazi 10y agoI understand and see some merit to your angle, but at the end of the day, I don't think Apple will be taken seriously in that area until they support Vulkan. Go ahead and do that, then we can talk about going up the stack and judging the API you're proposing (and let's be honest, it's really Metal-for-Javascript). Show some good will.
- deleted 10y ago[deleted]
- threeseed 10y agoApple will always be taken seriously since they are not just a major mobile vendor but the only vendor capable of getting any technology widely deployed. Your arguments are very reminiscent of the "Apple must adopt Flash" era. And as we've learn Apple was 100% right to dump that technology as it was simply a poor fit for mobile. I've seen nothing about Vulkan that indicates it has some inherent qualities that make it suitable as a Javascript API.
- ioquatix 10y ago> I've seen nothing about Vulkan that indicates it has some inherent qualities that make it suitable as a Javascript API. And you are qualified to make this assertion because? It would make an awesome JavaScript API. It is well defined, well supported, well documented low level API for graphics. It would easily be exposed within JavaScript.
- om2 10y agoSerious question, have you ever written any nontrivial code using Vulkan? Everyone I know who's ever coded using Vulkan has found it unpleasant, and even Khronos is considering a higher level API (more along the lines of Metal) because Vulkan is just too hard to use.
- ioquatix 10y agoI think what you are going to find is that there is a lot of frustration w.r.t. Apple not supporting Vulkan. One system for everything else and one system for Apple. > I think you are wrong on that. Vulkan is a low-level native API, not a JavaScript API for the web. Lots of design work needs to be done. Nothing you assert here is invalid. But, I think you've missed the main point, which is that people don't want an entirely new API, they want the same API across all platforms. Vulkan, exposed directly in JavaScript as much as is feasible (e.g. using an automatic API generation tool) would be awesome. Simply look at how it is possible to cross-compile C/C++ to JavaScript. Now, add in support the Vulkan API. That would be incredible. > In addition, even on platforms where there are unofficial Vulkan drivers (such as Windows), it's likely the natively available API will still have more complete support and better performance. Actually that's not correct. Vulkan was explicitly designed to be an efficient and high-performance API. As it stands, even as a newborn API, it's the BEST available for 3D rendering on all platforms that support it, unofficial or not. > So either way, we need a cross-platform graphics API. Let's focus this discussion on improving the web platform, not fighting battles about the underlying system APIs. I think you are missing the point here again. As you say, we need a cross-platform API. But, by that logic, accepting that JavaScript is just another platform, we'd like the SAME API.
- xenadu02 10y agoVulkan is not suitable for exposure directly to the web. Full stop. Therefore your posts are off-topic.
- ioquatix 10y agoDo you even know how Vulkan works? The driver API exposes a layered stack. It's trivial to add a validation layer between the driver and the client. It's SO much better than existing OpenGL or DirectX driver models for this one reason alone.
- xenadu02 10y agoYes, I do. I'm also slightly familiar with OpenGL and Metal. I think Metal has a better API. You are free to disagree of course.
- kabes 10y agoYou wanna focus this discussion on improving the web platform? Great, start with finally shipping WebRTC.
- alwillis 10y agoRelax--they’re working on it: https://webkit.org/status/#specification-webrtc https://webkit.org/status/#specification-webrtc
- sametmax 10y agoThe persons in favor of Vulkan in this thread don't have to prove their point, you have. Their solution works, is battle tested, is cross platform and almost an industry standard. Unless you backup the Apple proposal with serious evidences such as : - hard metrics on performance benefits, why you need them, and why you can't improve vulkan to get them; - demonstration of blatant issues with the vulkan API and very good solution you can implement and why you can't improve vulkan to get them; - strong evaluation of the benefits your solution provide given the cost it would have compared to adopting vulkan. Then you have no credibility. "Let's fix something that works" is rarely welcomed in programming. Coming from a company that is well known for disrespecting the rest of the world by creating their own island of closed standards and help noone pass the border, it's even worst. On this one, you are guilty until proven innocent, I'm sorry.
- lallysingh 10y ago> On this one, you are guilty until proven innocent, I'm sorry Or rather, he's got to refute the null hypothesis.
- om2 10y agoIn the case of web standards, the null hypothesis is "no new API" rather than "make something that works only on top of this specific native API". For the web, the latter is not even the default assumption once you've decided something needs to be added. The web is cross-platform by design.
- mixedCase 10y ago>In the case of web standards, the null hypothesis is "no new API" Thanks to Apple's bone-headed decision to not support Vulkan, this is what it has come down for me when it comes to graphical APIs. For me it's either "no new graphical APIs, keep being forced to use OpenGL" or "drop macOS/iOS support".
- kartan 10y ago> I think you are wrong on that. Vulkan is a low-level native API, not a JavaScript API for the web. Lots of design work needs to be done. Isn't that what we want? A low-level not opinionated API allows the market and the open source community to create solutions that are subject to competition. If we get an opinionated high level API then we are close to future developments by small agents. Only the big players can decide on the future of 3D graphics on browsers. Why can't Apple just develop their ideal API over Vulkan and let developer decide what to use?
- zanny 10y ago> Why can't Apple let developer decide what to use? Wouldn't that be just about the opposite of everything Apple has stood for the last ten years?
- seanmcdirmid 10y agoI'm sure Microsoft has an interest in a 3D web API working on top of D3D, even if NVIDIA and AMDS are putting out Vulkan drivers for the platform (Microsoft is not supporting Vulkan themselves as far as I can tell).
- ionwake 10y agoI agree
- zbuttram 10y agoWhat people seem to be missing here is that based on available info it seems Microsoft isn't officially supporting Vulkan either. Sure Nvidia and AMD have released drivers for Windows that have Vulkan support, but we're talking about a web standard that would need to be implemented by browser makers and if Microsoft isn't going to use Vulkan, then what do they implement as the backing for this new standard in Edge? Probably DirectX. I think the idea is to sort out an API that would be compatible between all three due to Microsoft and Apple _both_ not wanting to officially support Vulkan over their own platforms in their browsers, regardless of the support at the OS level.
- AsyncAwait 10y agoWhy are they so hostile to Vulkan and what problems does Vulkan, which is vendor independent and open, have that adding a new API to support to the pile would not?
- angry-hacker 10y agoWhile I agree with you, I doubt some random webkit engineer has any power saying what to support. Apple never listens to anyone, probably some higher exec wants better lock in and that they design the standards. Everyone else keep their mouths shut.
- shmerl 10y agoThen why should W3C accept the views of that higher execs as something useful for the Web? Let them remain Apple only.
- philippeback 10y agoAnyway, WebVR support is shaky on most browsers, except Firefox / Nightly where it works properly. Get that working before WebGL 2 or whatever. And throw in some support for external GPUs. Moved away from Apple and got myself an Intel NUC i7 w/ Thunderbolt. Better everything in there. Can use external GPUs of all kinds for easy testing. Apple may have had its best quarter ever but is not sexy to me anymore. Yeah, support Vulkan.
- rehemiau 10y ago> I understand your desire to have Vulkan on Apple platforms, but There are no 'but's. Just support it and we can have simpler APIs on top of it.