-
Notifications
You must be signed in to change notification settings - Fork 366
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
Should fall back to gl on native when vulkan fails #5968
Comments
Somewhat familiar with this crash. I fixed it for the upcoming wgpu version (can't be backported since there's an api breakage). That fix will allow us to react to this situation which boils down to "for unclear reasons any kind of surface creation fails". Would be nice to sit together and figure out where this comes from so we can fix it in wgpu - lots of people are hitting similar stuff. |
Looked a bit into this, this is a bigger wgpu issue that needs tackling. Some initial thoughts jotted down here |
I got a (very likely) fix for this into wgpu by now and it landed with 0.20. We have to upgrade our stack now and then retry |
It looks like @02alexander has a good repro for this consistently by disabling Vulkan on his machine. On the 0.20 update branch we no longer get a crash but a more gentle shutdown. Curiously, wgpu-info reports a GL adapter, but we apparently don't pick it since it's not compatible for some reason Error on 0.20 branch as of writing: Two things to do here:
|
oh, it looks like we're only allowing GL when it's picked explicitly, I believed this was done automatically: That would explain the previously described behavior perfectly well. We still should be able to handle the no-adapter-at-all case better though! |
### What * Part of #6170 * Based on emilk/egui#4433 * Makes it possible to handle #5968 * it no longer is a crash but an _okish_ error message (more to do still) * Fixes #5283 * [x] @jleibs can you confirm? Test on: * Mac * [x] native * [x] Firefox WebGL * [x] Chrome WebGPU * [x] Chrome WebGL * Windows * [x] native * [x] Firefox WebGL * [x] Chrome WebGPU * [x] Chrome WebGL * Linux * [x] native * [x] Firefox WebGL * [x] Chrome WebGPU * needs both chrome://flags/#enable-unsafe-webgpu & chrome://flags/#enable-vulkan flags set (via https://developer.chrome.com/docs/web-platform/webgpu/troubleshooting-tips) * [x] Chrome WebGL ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using examples from latest `main` build: [rerun.io/viewer](https://rerun.io/viewer/pr/6171?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [rerun.io/viewer](https://rerun.io/viewer/pr/6171?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! - [PR Build Summary](https://build.rerun.io/pr/6171) - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
…ng together with `WGPU_BACKEND` env-var (#6582) ### What Previously, we made the GL backend explicit opt-in (and accidentally only via the wgpu env var, not solely via commandline). But I don't see any reason for this as wgpu will (well, should) always prefer Vulkan when available. * Fixes [#5968](#5968) * Reportedly there's still sometimes issues with he GL backend, but this is captured now in #6581 ### Checklist * [x] I have read and agree to [Contributor Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and the [Code of Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md) * [x] I've included a screenshot or gif (if applicable) * [x] I have tested the web demo (if applicable): * Using examples from latest `main` build: [rerun.io/viewer](https://rerun.io/viewer/pr/6582?manifest_url=https://app.rerun.io/version/main/examples_manifest.json) * Using full set of examples from `nightly` build: [rerun.io/viewer](https://rerun.io/viewer/pr/6582?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json) * [x] The PR title and labels are set such as to maximize their usefulness for the next release's CHANGELOG * [x] If applicable, add a new check to the [release checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)! - [PR Build Summary](https://build.rerun.io/pr/6582) - [Recent benchmark results](https://build.rerun.io/graphs/crates.html) - [Wasm size tracking](https://build.rerun.io/graphs/sizes.html) To run all checks from `main`, comment on the PR with `@rerun-bot full-check`.
Linux environments, in particular inside of Docker frequently have issues with vulkan, but the gl backend works much more frequently.
Currently we get a cryptic crash:
Would be nice to instead fall back to gl.
The text was updated successfully, but these errors were encountered: