summaryrefslogtreecommitdiffstats
path: root/wgpu/src/window
diff options
context:
space:
mode:
authorLibravatar gigas002 <gigas002@pm.me>2024-05-08 19:16:20 +0900
committerLibravatar gigas002 <gigas002@pm.me>2024-05-08 19:16:20 +0900
commitff26fb7df43bd241253af85e0621e2cc030e9cec (patch)
tree2b3272bb178f8757169511966589fe6a106733f4 /wgpu/src/window
parent0ebe0629cef37aee5c48b9409fc36618a3a3e60d (diff)
parent477887b3870aa5fbdab96c3a06f3b930462d7842 (diff)
downloadiced-ff26fb7df43bd241253af85e0621e2cc030e9cec.tar.gz
iced-ff26fb7df43bd241253af85e0621e2cc030e9cec.tar.bz2
iced-ff26fb7df43bd241253af85e0621e2cc030e9cec.zip
Merge branch 'iced-rs-master' into viewer_content_fit
Diffstat (limited to 'wgpu/src/window')
-rw-r--r--wgpu/src/window/compositor.rs26
1 files changed, 16 insertions, 10 deletions
diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs
index 095afd48..2e938c77 100644
--- a/wgpu/src/window/compositor.rs
+++ b/wgpu/src/window/compositor.rs
@@ -4,7 +4,8 @@ use crate::graphics::color;
use crate::graphics::compositor;
use crate::graphics::error;
use crate::graphics::{self, Viewport};
-use crate::{Engine, Renderer, Settings};
+use crate::settings::{self, Settings};
+use crate::{Engine, Renderer};
/// A window graphics backend for iced powered by `wgpu`.
#[allow(missing_debug_implementations)]
@@ -270,15 +271,19 @@ impl graphics::Compositor for Compositor {
backend: Option<&str>,
) -> Result<Self, graphics::Error> {
match backend {
- None | Some("wgpu") => Ok(new(
- Settings {
- backends: wgpu::util::backend_bits_from_env()
- .unwrap_or(wgpu::Backends::all()),
- ..settings.into()
- },
- compatible_window,
- )
- .await?),
+ None | Some("wgpu") => {
+ let mut settings = Settings::from(settings);
+
+ if let Some(backends) = wgpu::util::backend_bits_from_env() {
+ settings.backends = backends;
+ }
+
+ if let Some(present_mode) = settings::present_mode_from_env() {
+ settings.present_mode = present_mode;
+ }
+
+ Ok(new(settings, compatible_window).await?)
+ }
Some(backend) => Err(graphics::Error::GraphicsAdapterNotFound {
backend: "wgpu",
reason: error::Reason::DidNotMatch {
@@ -290,6 +295,7 @@ impl graphics::Compositor for Compositor {
fn create_renderer(&self) -> Self::Renderer {
Renderer::new(
+ &self.device,
&self.engine,
self.settings.default_font,
self.settings.default_text_size,