summaryrefslogtreecommitdiffstats
path: root/wgpu/src/settings.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-05-07 21:05:29 +0200
committerLibravatar Héctor Ramón Jiménez <hector@hecrj.dev>2024-05-07 21:05:29 +0200
commit8a0701a0d95989769341846b05ffcc705ae4ee5f (patch)
treeaaf616f28d82666e6816502f3b9ef2884b049fde /wgpu/src/settings.rs
parentdb07b9ba9ef20c5995076992bf5592af12698000 (diff)
downloadiced-8a0701a0d95989769341846b05ffcc705ae4ee5f.tar.gz
iced-8a0701a0d95989769341846b05ffcc705ae4ee5f.tar.bz2
iced-8a0701a0d95989769341846b05ffcc705ae4ee5f.zip
Introduce `ICED_PRESENT_MODE` env var to pick a `wgpu::PresentMode`
Diffstat (limited to '')
-rw-r--r--wgpu/src/settings.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/wgpu/src/settings.rs b/wgpu/src/settings.rs
index a6aea0a5..5e2603ee 100644
--- a/wgpu/src/settings.rs
+++ b/wgpu/src/settings.rs
@@ -51,3 +51,17 @@ impl From<graphics::Settings> for Settings {
}
}
}
+
+pub fn present_mode_from_env() -> Option<wgpu::PresentMode> {
+ let present_mode = std::env::var("ICED_PRESENT_MODE").ok()?;
+
+ match present_mode.to_lowercase().as_str() {
+ "vsync" => Some(wgpu::PresentMode::AutoVsync),
+ "no_vsync" => Some(wgpu::PresentMode::AutoNoVsync),
+ "immediate" => Some(wgpu::PresentMode::Immediate),
+ "fifo" => Some(wgpu::PresentMode::Fifo),
+ "fifo_relaxed" => Some(wgpu::PresentMode::FifoRelaxed),
+ "mailbox" => Some(wgpu::PresentMode::Mailbox),
+ _ => None,
+ }
+}