WebGPU: implement `float32-blendable` device feature
Categories
(Core :: Graphics: WebGPU, enhancement, P3)
Tracking
()
People
(Reporter: ErichDonGubler, Assigned: ErichDonGubler)
References
Details
Attachments
(2 files)
|
Bug 1931630 - feat(webgpu): recognize unimplemented `float32-blendable` feature r=#webgpu-reviewers!
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
| Assignee | ||
Comment 2•1 year ago
|
||
Updated•1 year ago
|
| Assignee | ||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 4•1 year ago
|
||
| bugherder | ||
| Assignee | ||
Comment 5•1 year ago
|
||
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.
Comment 6•1 year ago
|
||
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.
| Assignee | ||
Comment 7•1 year ago
|
||
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.
Comment 8•1 year ago
|
||
(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.
| Assignee | ||
Comment 9•11 months ago
|
||
: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. π
Comment 10•11 months ago
|
||
(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?
| Assignee | ||
Comment 11•11 months ago
•
|
||
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.
Comment 12•11 months ago
|
||
Hi,
thanks for the details, is it possible to join the WebGPU team somehow?
| Assignee | ||
Comment 13•11 months ago
|
||
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
| Assignee | ||
Updated•11 months ago
|
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Updated•2 months ago
|
| Assignee | ||
Comment 14•2 months ago
•
|
||
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 | ||
Comment 15•2 months ago
|
||
Updated•2 months ago
|
| Assignee | ||
Updated•1 month ago
|
| Assignee | ||
Updated•1 month ago
|
| Assignee | ||
Comment 16•1 month ago
|
||
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
| Assignee | ||
Comment 17•1 month ago
|
||
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
| Assignee | ||
Comment 18•1 month ago
|
||
Aha, Andy already discovered this issue in wgpu#9032, and so we're back to depending on a revendor to resolve the issue. π
| Assignee | ||
Updated•1 month ago
|
Updated•1 month ago
|
Description
•