Open Bug 1931630 (float32-blendable) Opened 1 year ago Updated 1 month ago

WebGPU: implement `float32-blendable` device feature

Categories

(Core :: Graphics: WebGPU, enhancement, P3)

enhancement

Tracking

()

ASSIGNED

People

(Reporter: ErichDonGubler, Assigned: ErichDonGubler)

References

Details

Attachments

(2 files)

No description provided.

Upstream WGPU tracking: wgpu#6555

Assignee: nobody → egubler
Status: NEW → ASSIGNED
Attachment #9439182 - Attachment description: Bug 1931630 - feat(webgpu): recognize unimplemented `float32-blendable` feature r=#webgpu-reviewers → Bug 1931630 - feat(webgpu): recognize unimplemented `float32-blendable` feature r=#webgpu-reviewers!
Pushed by egubler@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c0c4c089fc10 feat(webgpu): recognize unimplemented `float32-blendable` feature r=webgpu-reviewers,webidl,teoxoy,saschanaz

I'm going to leave the full resolution of this bug for later. With bug 1933324, users will be directed to this bug to holler if they're blocked.

Assignee: egubler → nobody
Status: ASSIGNED → NEW
See Also: → 1933324

Hi, is it possible to get some updates on this one, is there some help needed to implement this?
I would like to have this feature on nightly as other browsers are already supporting this, let me know if I can help.

Flags: needinfo?(egubler)

Hey :sonorousfreq! πŸ‘‹πŸ» Unfortunately, I don't have an update for you, since this is not prioritized for the short- to medium-term. Could you tell me about what this feature lets you do, or the lack of this feature prevents you from doing? That might be helpful information for re-prioritizing.

Flags: needinfo?(egubler)

(In reply to Erich Gubler [:ErichDonGubler] from comment #7)

Hey :sonorousfreq! πŸ‘‹πŸ» Unfortunately, I don't have an update for you, since this is not prioritized for the short- to medium-term. Could you tell me about what this feature lets you do, or the lack of this feature prevents you from doing? That might be helpful information for re-prioritizing.

Hi,

we are using float32 because it has better precision and is blendable in WebGPU, for rendering IFS fractals, you can check it out here: https://github.com/chaos-matters/chaos-master, you can check the live site from github readme (obviously, it will not work in Firefox, but we will try to have a fallback if this feature is not implemented soon).

You can also check these sources for more info why it is useful in scientific visualizations and simplifies things as you get blendable and atomic operations: https://github.com/gpuweb/gpuweb/issues/3556.

Let me know if there is a way to contribute or help in any other way.

:sonorousfreq: Good news! Just chatted with the team, and we've bumped up wgpu#6555 for consideration. I can't promise it'll come before our MVP release, but it's definitely jumped quite a few other issues in line now. πŸ˜€

(In reply to Erich Gubler [:ErichDonGubler] from comment #9)

:sonorousfreq: Good news! Just chatted with the team, and we've bumped up wgpu#6555 for consideration. I can't promise it'll come before our MVP release, but it's definitely jumped quite a few other issues in line now. πŸ˜€

Hi,

sounds great, do you have some estimate when the MVP release is?

Sure do! The WebGPU team is hoping to release to stable Firefox (on Windows only) with Firefox 140 (see also https://whattrainisitnow.com/). After that point, we'll almost certainly have a few months of chasing issues we won't have discovered or prioritized prior to release. Once the release has been stabilized, we'll start thinking about new scope to take on.

You didn't ask, but I presume that the implicit question is: "When might I expect Firefox's WebGPU team to work on float32-blendable? At earliest, my guess is that this would be in Q4 of 2025.

Hi,

thanks for the details, is it possible to join the WebGPU team somehow?

Joining as an employee is not on the table, but we'd be happy to mentor you in contributions to Firefox and WGPU! Checkout the WGPU's README on GitHub to get onboarded: https://github.com/gfx-rs/wgpu

Alias: float32-blendable
Keywords: leave-open

wgpu#8963 upstream implements this feature for Vulkan (which, in Firefox, would only mean access on Linux), and was merged just now. This means that we have motivation to wire up the feature, for which I've submitted a patch (D280997) against this bug just now. Further work to extend support to Windows and Metal is necessary in wgpu upstream; I'll file bugs to track there here shortly.

Assignee: nobody → egubler
Status: NEW → ASSIGNED
Depends on: 2017642
No longer depends on: webgpu-update-wgpu
Depends on: 2017645
No longer depends on: 2017642
No longer blocks: webgpu-triage

The patch builds, now that dependencies have landed! Here's my first Try push for this patch stack that I haven't seen the results of yet: try:f365a077970c

Hmm, the Try push reveals at least one issue with validation we're not getting right; for some reason, wgpu doesn't actually validate render pipelines for float32-blendable textures unless the texture format also allows for filtering, which AFAIK isn't a restriction we need to enforce.

It doesn't seem good to try to enable this until we've got it fixed. I've messaged the community in Matrix to ask about next steps: https://matrix.to/#/!FZyQrssSlHEZqrYcOb:matrix.org/$qh5nDHZnxsYy4MqQxeDVcuMNip87RxLs1YgarxCmCuM?via=matrix.org&via=mozilla.org&via=catgirl.cloud

Aha, Andy already discovered this issue in wgpu#9032, and so we're back to depending on a revendor to resolve the issue. πŸ˜…

Depends on: 2019412
No longer depends on: webgpu-update-wgpu
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: