News for hackers. Stuff that matters.
Re:What's Next for WebGPU by kookamamie on Friday November 22, 2024 @12:52AM (#42211478)
> implementing missing features so that they can ship WebGPU support in Firefox

Sounds like WGPU, the project, should be detached from Firefox?

To me the priority of shipping WGPU on FF is kind of mind-boggling, as I consider the browser irrelevant at this point in time.

Re:What's Next for WebGPU by brookman64k on Friday November 22, 2024 @03:16AM (#42212048)
Just to avoid potential confusion: WebGPU and WGPU are different things.
Re:What's Next for WebGPU by slimsag on Friday November 22, 2024 @10:51AM (#42214790)
(a) WebGPU -> Specification or browser API

(b) WGPU, gfx-rs/wgpu, wgpu.rs -> Rust crate implementing WebGPU

(c) wgpu -> the prefix used by the C API for all WebGPU native implementations.

(d) 'wgpu' -> a cute shorthand used by everyone to describe either (a), (b), or (c) with confusion.

Re:What's Next for WebGPU by littlestymaar on Friday November 22, 2024 @01:45AM (#42211665)
The irrelevant browser is the one paying developers to build wgpu though…
Re:What's Next for WebGPU by adastra22 on Friday November 22, 2024 @01:25AM (#42211590)
Is WGPU even a Mozilla project? I think he is just saying that those paid developers (paid by Mozilla) have that priority, and everyone else is volunteer. Not that WGPU is a Firefox project.
Re:What's Next for WebGPU by kookamamie on Friday November 22, 2024 @02:56AM (#42211959)
Thanks, I checked the WGPU project's roots and you're right - it's not Mozilla's project, per-se.
Re:What's Next for WebGPU by jblandy on Friday November 22, 2024 @02:02AM (#42211728)
Yes, this.
Re:What's Next for WebGPU by pjmlp on Friday November 22, 2024 @06:15AM (#42212867)
Outside of the browser the answer is middleware.

WGPU has to decide, either stay compatible with WebGPU, and thus be constrained by the design of a Web 3D API, or embrace native code and diverge from WebGPU.

Re:What's Next for WebGPU by slimsag on Friday November 22, 2024 @11:01AM (#42214892)
This is the right answer^

But even more, the level at which WebGPU exists (not too high level, not too low level) necessitates that if a native API graphics abstraction sticks with the WebGPU's API design and only 'extends' it, you actually end up with three totally different ways to use the API:

* The one with your native 'extensions' -> your app will only run natively and never in the browser unless you implement two different WebGPU rendering backends. Also won't run on Chromebook-type devices that only have GLES-era hardware.

* The WebGPU browser API -> your app will run in the browser, but not on GLES-era hardware. Perish in the verbosity of not having bindless support.

* The new 'compatability' mode in WebGPU -> your app runs everywhere, but perish in the verbosity of not having bindless, suffer without reversed-z buffers because the underlying API doesn't support it.

And if you want your app to run in all three as best as possible, you need to write three different webgpu backends for your app, effectively, as if they are different APIs and shading languages.

Re:What's Next for WebGPU by adrian17 on Friday November 22, 2024 @01:22PM (#42216143)
> The WebGPU browser API -> your app will run in the browser, but not on GLES-era hardware. Perish in the verbosity of not having bindless support.

Note, regarding "GLES-era": WGPU does have a GLES/WebGL2 backend; missing WebGL1 is unfortunate, but at least it covers most recent browsers/hardware that happens to not have WebGPU supported yet.

(and there's necessarily some added overhead from having to adapt to GLES-style api; it's especially silly if you consider that the browser might then convert the api calls and shaders _again_ to D3D11 via ANGLE)

Re:What's Next for WebGPU by slimsag on Friday November 22, 2024 @07:36PM (#42218468)
I am referring primarily to the fact that a restricted subset of WebGPU is needed ('compatibility mode') to support D3D11 / GLES era hardware[0]

[0] https://github.com/gpuweb/gpuweb/issues/4266

Re:What's Next for WebGPU by flohofwoe on Saturday November 23, 2024 @05:40AM (#42220251)
There's a *massive* difference in capabilities between GLES3.0 (e.g. WebGL2) and D3D11 though (GLES3.0 is more like 'late D3D9 era') ;)

And interestingly, WebGL2 in Chrome on Windows (which runs on top of D3D11) handily beats WebGPU in some of my tests (with setBindGroup being the bottleneck).