Skip to content

Commit 2bb74a4

Browse files
authored
Fix support for PresentMode::AutoNoVsync (#448)
Also fixes `PixelsBuilder::enable_vsync(false)` having no effect.
1 parent 7c740cd commit 2bb74a4

1 file changed

Lines changed: 7 additions & 4 deletions

File tree

src/builder.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -313,10 +313,13 @@ impl<'req, 'dev, 'win, W: wgpu::WindowHandle + raw_window_handle::HasDisplayHand
313313
let (device, queue) = adapter.request_device(&device_descriptor).await?;
314314

315315
let surface_capabilities = surface.get_capabilities(&adapter);
316-
let present_mode = if surface_capabilities
317-
.present_modes
318-
.contains(&self.present_mode)
319-
{
316+
let present_mode_supported = match self.present_mode {
317+
wgpu::PresentMode::AutoVsync | wgpu::PresentMode::AutoNoVsync => true,
318+
_ => surface_capabilities
319+
.present_modes
320+
.contains(&self.present_mode),
321+
};
322+
let present_mode = if present_mode_supported {
320323
self.present_mode
321324
} else {
322325
wgpu::PresentMode::AutoVsync

0 commit comments

Comments
 (0)