Apple isn’t always keen on working with others, but that seems to be changing slowly but surely. Earlier this week, the company’s WebKit team proposed the creation of a new Community Group at W3C that would focus on developing a new web-based API standard that would enable browsers to take better advantage of modern GPUs.
As Apple explains, the major platform technologies in the area, including Direct3D 12 from Microsoft and Apple’s own Metal, share “similar design concepts” but are ultimately not available across all major platforms. With this shortcoming, Apple believes that a new API standard would be incredibly beneficial.
To this point, Apple’s Dean Jackson writes in a lengthy and detailed post on the WebKit blog:
The success of the web platform requires defining a common standard that allows for multiple implementations, but here we have several graphics APIs that have nuanced architectural differences. In order to expose a modern, low-level technology that can accelerate graphics and computation, we need to design an API that can be implemented on top of many systems, including those mentioned above. With a broader landscape of graphics technologies, following one specific API like OpenGL is no longer possible.
Instead we need to evaluate and design a new web standard that provides a core set of required features, an API that can be implemented on a mix of platforms with different system graphics technologies, and the security and safety required to be exposed to the Web.
Jackson also notes that the standard should be designed from the ground up to work with new web standards such as WebAssembly and WebVR.
Apple’s proposal introduces a prototype standard it calls WebGPU. And while Apple concedes that the final standard — which it hopes will be developed in collaboration with industry experts — may differ from WebGPU, it still expects both of them to share a large swath of design principles.
“We don’t expect this to become the actual API that ends up in the standard, and maybe not even the one that the Community Group decides to start with, but we think there is a lot of value in working code,” Jackson writes. “Other browser engines have made their own similar prototypes. It will be exciting to collaborate with the community and come up with a great new technology for graphics.”