wgpu and winit update tracker
ifsheldon opened this issue · 13 comments
Hey! Here is just a heads-up that wgpu
0.18 and winit
0.29.2 came up recently with a lot breaking changes.
For the breaking changes from wgpu
, please see https://github.com/gfx-rs/wgpu/releases/tag/v0.18.0. I think these are easy to be fixed when upgrading from 0.17.
However, for the newer winit
, it brings a LOT API changes. See https://github.com/rust-windowing/winit/releases/tag/v0.29.2
I think virtually a rewrite on sections about windowing is needed.
If it helps, I just did the upgrade to winit
0.29.2 for my wgpu DVR renderer in this commit. In short, we need to:
- enable a feature
rwh_05
ofwinit
for raw-window-handle traits - checkout (a lot) breaking changes about window events and key events
- handle subtle changes to redrawing behavior
But wait, why do we need to upgrade
winit
?I don't know honestly, because when I upgraded wgpu from 0.17 to 0.18 while keeping
winit
as 0.27, my code weirdly breaks because an abnormal resize event which gives a new window size to (u32::max, u32::max). I thought that should be a bug fromwinit
so I upgradedwinit
as well. Probablywinit 0.27
does not work with macOS Sonoma, I don't know, but now the problem is gone, so I don't want to dig deeper.
I've already upgraded to 0.18, but an upgrade to winit 0.29 might take a little longer. I created different demo using winit 0.29 so hopefully it shouldn't be too painful.