From bba79ae6f579c695af040a997800b9d714cfd848 Mon Sep 17 00:00:00 2001 From: Michael Krasnitski Date: Tue, 31 Mar 2026 01:04:39 -0400 Subject: [PATCH] Fix support for `PresentMode::AutoNoVsync` Also fixes `PixelsBuilder::enable_vsync(false)` having no effect. --- src/builder.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/builder.rs b/src/builder.rs index 6039950..8670fd5 100644 --- a/src/builder.rs +++ b/src/builder.rs @@ -313,10 +313,13 @@ impl<'req, 'dev, 'win, W: wgpu::WindowHandle + raw_window_handle::HasDisplayHand let (device, queue) = adapter.request_device(&device_descriptor).await?; let surface_capabilities = surface.get_capabilities(&adapter); - let present_mode = if surface_capabilities - .present_modes - .contains(&self.present_mode) - { + let present_mode_supported = match self.present_mode { + wgpu::PresentMode::AutoVsync | wgpu::PresentMode::AutoNoVsync => true, + _ => surface_capabilities + .present_modes + .contains(&self.present_mode), + }; + let present_mode = if present_mode_supported { self.present_mode } else { wgpu::PresentMode::AutoVsync