Bug 167952 - WebGPU prototype
: WebGPU prototype
Status: NEW
Product: WebKit
Classification: Unclassified
Component: WebGL
: WebKit Nightly Build
: Unspecified Unspecified
: P2 Normal
Assigned To: Nobody
Depends on:
  Show dependency treegraph
Reported: 2017-02-07 13:09 PST by Dean Jackson
Modified: 2017-02-26 00:37 PST (History)
7 users (show)

See Also:

Prototype (687.56 KB, patch)
2017-02-07 13:14 PST, Dean Jackson
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dean Jackson 2017-02-07 13:09:09 PST
A prototype for a new GPU API.
Comment 1 Dean Jackson 2017-02-07 13:14:28 PST
Created attachment 300839 [details]

Here is a WIP patch. It definitely can't be landed in the current form.

- it doesn't yet match the API proposal
- it doesn't separate WebGPU from the Metal API. i.e. there should be a GPU* interface with GPU*Metal implementations
- it does no validation
- it doesn't have a compile time or runtime guard

It's here just to experiment.
Comment 2 rtfss1 2017-02-09 04:25:11 PST
interesting Webkit that current patch uses metal shaders.
For me this might be even a good shader language to use in WebGPU, but then will be time for requesting Apple to open source Metal shader compiler stack like Microsoft has done recently with current HLSL shader compiler that translates to his new intermediate format DXIL.. the new Microsoft compiler uses LLVM/Clang stack and seems Apple Metal shader compiler too.. 
So briefly here (may be not the current best place to ask), with Khronos LLVM IR<->SPIR-V translator and DXIL open source only modern shader language compiler not open source is Metal and would make sense to open source it for WebGPU implementations on other OSes and even make easier porting modern macos/IOS games using Metal to other OSes..
Makes sense?
Comment 3 Jon Lee 2017-02-14 16:08:26 PST
(In reply to comment #2)
> So briefly here (may be not the current best place to ask)

@rtfss1, the best place to pose technical questions is in the WebGPU GitHub repo: https://github.com/gpuweb/gpuweb