-
Notifications
You must be signed in to change notification settings - Fork 923
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remove SupportedLimits.maxInterStageShaderComponents
#6290
Remove SupportedLimits.maxInterStageShaderComponents
#6290
Comments
Firefox downstream tracking: bug 1919404 |
My test already failing in firefox: https://github.com/codeart1st/wgpu-layers/actions/runs/11090086957/job/30811980649
|
@codeart1st: I've removed the exposed limit in Firefox using the above link, yes! That's odd, though, because if we were failing in Firefox, then surely that means we were also failing in Chrome, no? 🤔 |
The integrationtest is using https://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-central/firefox-132.0a1.en-US.linux-x86_64.tar.bz2 - chrome is a different story and currently not possible to run headless integrationtests on it under linux, so I don't know for now 😄 |
@codeart1st: Did some investigating! The failure you're reporting is because the This fails in Firefox and not Chrome because the Chromium issue for this is still in-progress (https://issues.chromium.org/issues/364338810). I expect that it will be committed to Chrome Canary in the near future, at which point similar failures will happen for the same downstream. I have confirmed locally that removing the field from our vendored copy of @jimblandy: I'm forgoing the consideration of a rollback in Firefox above, but LMK if you think that's a better course of action; Firefox's Bugzilla has had at least one entry filed for this, too. |
This shouldn't require any webidl changes? https://github.com/gfx-rs/wgpu/blob/trunk/wgpu%2Fsrc%2Fbackend%2Fwebgpu.rs#L818 just remove this line. |
@cwfitzgerald: I tried that with |
Firefox downstream tracking issue: Bug 1922884 - webgpu demo doesnt run on Nightly, runs on Chrome |
This didn't seem right to me (the fields shouldn't be read unconditionally, just queried on-demand) so I took a quick look. I think trunk...grovesNL:wgpu:inter-stage is all that is needed, since that's used to pass the limits to the browser. Updating the vendored WebIDL is fine too, but just wanted to make a note in case it wasn't clear what was going on here. |
If @grovesNL is right, we should file a follow-up issue for that. We also need a follow-up to remove the validation that enforces the limit. It should be sufficient to delete it from the |
I would much prefer that the vendoring is reproducible, barring extenuating circumstances |
Okay - it sounds like I approved this PR without appreciating the issues and alternatives involved. I'm sorry about that. Since this was a problem that Firefox precipitated by updating our IDL, I thought we should act quickly. My reasoning was, there must be some reason we bother to vendor the WebIDL, beyond simple stability, since we could get that with a git dependency. So I figured we must be making local adjustments already, and this PR wouldn't be a problem. The next time we re-vendor web-sys, I'm expecting |
I wanted to understand exactly why this works. Without changing more than just device creation, as we did in #6377, there are still going to be ways to run into the fact that Firefox doesn't support this limit any more. For example, Rust code can still call But the specific errors that people are running into when creating devices are thrown because the |
Revert the changes to the vendored copy of web-sys's WebGPU bindings made in gfx-rs#6377. The only purpose of vendoring is to pin down our WebGPU JS bindings, not to allow local changes. And as it turns out, removing the `max_inter_stage_shader_components` accessor isn't necessary in order to fix gfx-rs#6290.
AFAIK this should indeed not require any changes in I also went ahead and updated |
Still not done yet, updated OP with remaining scope. |
@cwfitzgerald, @grovesNL, @daxpedda: I wanted to apologize publicly for my mistaken mental model and changes to our vendored I am concerned by my mistake for more general reasons now, because I tried fairly hard to ensure that my local changes were actually being reflected in test runs. I'm not sure if this is an error on my part, or if there are issues with the freshness of local changes being presented in |
I'm not a maintainer of Wgpu, but I thought it was non-obvious what exactly the issue was. Thank you @ErichDonGubler for putting the effort into trying to figure this all out together ❤️! |
Good summarize. https://github.com/codeart1st/wgpu-layers/actions/runs/11311932598/job/31458733621 integration test is working again on my side with wgpu git repository linked. |
This was removed from the WebGPU spec. in gpuweb/gpuweb#4783, and we should, too!
maxInterStageShaderComponents
from vendoredweb-sys
#6377wgpu_types::SupportedLimits::maxInterStageShaderComponents
The text was updated successfully, but these errors were encountered: