mach: vsync modes may be broken
At present we map vsync modes to WebGPU present modes as follows:
https://github.com/hexops/mach/blob/336134c996bde01f8525eb98e97cf92b29030fd6/src/native.zig#L345-L349
Aside from this, we do nothing additional to support these modes. The swap chain usage looks the same. This is likely broken, perhaps we need to do more than specify present modes to achieve say tripple buffering.
- On Linux+Wayland, specifying
.tripleresults in an uncapped framerate. - On macOS, specifying
.tripleand.noneresults in a 60FPS refresh rate.
This could also just be a bug/missing feature in Dawn, there has been a lot of work underway in Dawn's swapchain code in recent months and we need to update the Dawn version. https://bugs.chromium.org/p/dawn/issues/detail?id=269&q=present%20mode&can=2
can additionally confirm .triple being uncapped on Linux+Xorg
Should be fixed now, see https://github.com/hexops/mach/commit/eb0eceb707b3ead72599bcd5dff432c55ccf7740 for details.
Note that https://github.com/hexops/mach/issues/444 is still an issue, however.