[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Public WebGL] WebVulkan

On Fri, Aug 5, 2016 at 6:23 PM, Brandon Jones <bajones@google.com> wrote:
On Fri, Aug 5, 2016 at 9:01 AM Florian Bösch <pyalot@gmail.com> wrote:
The only thing you accomplish is making an API, that's like vulkan, but isn't vulkan, because... reasons.

Because Apple. That's a pretty damn compelling reason.
Has apple committed to not implement Vulkan? It's my understanding Apple is a fully qualified member of Khronos, and if I recall, apple engineers where participating in the formulation of the standard. So the concerns of Apple as a constituent in the standards process should be appropriately addressed, and there shouldn't be any problem with them implementing it.
To be clear, I don't think it's smart to completely discard the existing work that's gone into the modern standards. The point is that we can't do Vulkan in its entirety without explicitly excluding a large chunk of the web. We could do Vulkan but with several functions stripped out (or made into extensions), a different model for memory management, and some limits on shader capabilities. That's not really Vulkan anymore, though, and if we've already made the call to break broad compatibility with the existing API then it's probably worthwhile to see what we can do to make it feel more at home on the web anyway. 

The very fact that we'd be in _javascript_ rather than C would allow for some conveniences that could reduce verbosity. For example: Rather than making use of linked lists of structs where you have to re-declare the type of the object you just created in _javascript_ it's perfectly reasonable to just use a single dictionary that describes the object that you want. Less verbose, more webby, doesn't alter the fundamental concept of the API. The question then becomes: Are we still comfortable calling that Vulkan?

Well, you can't have the benefits of vulkan, if you do not expose the essentials (memory model, command lists, gpu code, etc.). It's my understanding that the Vulkan people where told to "not dumb things down" for the web (by you, or google). So does this mean you (and the other vendors) made a premeditated decision to abandon Vulkan, before it existed, by refusing to participate in their standardization? And now the web's out of any implementable standard for its use, and no credible plan to have one either, with the only APIs still on the table getting no update henceforth. Whose idea was this?