Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update to wgpu 0.17 & latest egui (#2980)
### What * Depends on emilk/egui#3253 * allows for a bit nicer callback handling on our side. Still not amazing but quite a bit better I reckon (no more locks and additional ref counting on our side!). I was hoping to use the new, more flexible `shared_paint_callback_resources` to store `ViewBuilder`, but it can't be accessed without a handle to the eframe renderer. The end goal would be to get rid of re_renderer's `per_frame_data_helper`. This will likely be enabled with wgpu's "Arcanization" effort as this will eliminate `wgpu::RenderPass`'s lifetime dependency. In that case we could store a `Mutex<ViewBuilder>` on `ReRendererCallback` 🤔 * For the forseeable future we'll have to enable `fragile-send-sync-non-atomic-wasm` on wgpu (luckily egui itself no longer has this restriction). The problem is that a lot of our infrastructure is built around assuming `Send`/`Sync` whereas in actuality webgpu rendering resources can't be shared accross threads easily. * Had to (discover and) work around https://github.com/gfx-rs/naga/issues/2436 ### 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 [demo.rerun.io](https://demo.rerun.io/pr/2980) (if applicable) * [x] Test WebGPU build - [PR Build Summary](https://build.rerun.io/pr/2980) - [Docs preview](https://rerun.io/preview/pr%3Aandreas%2Fupdate-wgpu/docs) - [Examples preview](https://rerun.io/preview/pr%3Aandreas%2Fupdate-wgpu/examples)
- Loading branch information