diff options
Diffstat (limited to '')
| -rw-r--r-- | wgpu/Cargo.toml | 4 | ||||
| -rw-r--r-- | wgpu/src/image/vector.rs | 6 | ||||
| -rw-r--r-- | wgpu/src/settings.rs | 17 | ||||
| -rw-r--r-- | wgpu/src/triangle.rs | 5 | ||||
| -rw-r--r-- | wgpu/src/window/compositor.rs | 11 | 
5 files changed, 17 insertions, 26 deletions
| diff --git a/wgpu/Cargo.toml b/wgpu/Cargo.toml index 14dcd550..9f9bd066 100644 --- a/wgpu/Cargo.toml +++ b/wgpu/Cargo.toml @@ -23,7 +23,7 @@ once_cell = "1.0"  rustc-hash = "1.1"  [target.'cfg(target_arch = "wasm32")'.dependencies] -wgpu = { version = "0.14", features = ["webgl"] } +wgpu = { version = "0.15", features = ["webgl"] }  [dependencies.twox-hash]  version = "1.6" @@ -58,7 +58,7 @@ version = "1.0"  optional = true  [dependencies.resvg] -version = "0.29" +version = "0.32"  optional = true  [dependencies.tracing] diff --git a/wgpu/src/image/vector.rs b/wgpu/src/image/vector.rs index 3624e46b..58bdf64a 100644 --- a/wgpu/src/image/vector.rs +++ b/wgpu/src/image/vector.rs @@ -43,6 +43,8 @@ type ColorFilter = Option<[u8; 4]>;  impl Cache {      /// Load svg      pub fn load(&mut self, handle: &svg::Handle) -> &Svg { +        use usvg::TreeParsing; +          if self.svgs.contains_key(&handle.id()) {              return self.svgs.get(&handle.id()).unwrap();          } @@ -116,9 +118,9 @@ impl Cache {                  resvg::render(                      tree,                      if width > height { -                        usvg::FitTo::Width(width) +                        resvg::FitTo::Width(width)                      } else { -                        usvg::FitTo::Height(height) +                        resvg::FitTo::Height(height)                      },                      tiny_skia::Transform::default(),                      img.as_mut(), diff --git a/wgpu/src/settings.rs b/wgpu/src/settings.rs index ff041bdf..266a2c87 100644 --- a/wgpu/src/settings.rs +++ b/wgpu/src/settings.rs @@ -46,7 +46,7 @@ impl Settings {      ///     - `primary`      pub fn from_env() -> Self {          Settings { -            internal_backend: backend_from_env() +            internal_backend: wgpu::util::backend_bits_from_env()                  .unwrap_or(wgpu::Backends::all()),              ..Self::default()          } @@ -64,18 +64,3 @@ impl Default for Settings {          }      }  } - -fn backend_from_env() -> Option<wgpu::Backends> { -    std::env::var("WGPU_BACKEND").ok().map(|backend| { -        match backend.to_lowercase().as_str() { -            "vulkan" => wgpu::Backends::VULKAN, -            "metal" => wgpu::Backends::METAL, -            "dx12" => wgpu::Backends::DX12, -            "dx11" => wgpu::Backends::DX11, -            "gl" => wgpu::Backends::GL, -            "webgpu" => wgpu::Backends::BROWSER_WEBGPU, -            "primary" => wgpu::Backends::PRIMARY, -            other => panic!("Unknown backend: {other}"), -        } -    }) -} diff --git a/wgpu/src/triangle.rs b/wgpu/src/triangle.rs index 0df8dd02..eb15a458 100644 --- a/wgpu/src/triangle.rs +++ b/wgpu/src/triangle.rs @@ -2,10 +2,13 @@  mod msaa;  use crate::buffer::r#static::Buffer; -use crate::core::{Gradient, Size}; +use crate::core::Size;  use crate::graphics::{Antialiasing, Transformation};  use crate::layer::mesh::{self, Mesh}; +#[cfg(not(target_arch = "wasm32"))] +use crate::core::Gradient; +  #[cfg(feature = "tracing")]  use tracing::info_span; diff --git a/wgpu/src/window/compositor.rs b/wgpu/src/window/compositor.rs index 54ab83ea..c55ffa46 100644 --- a/wgpu/src/window/compositor.rs +++ b/wgpu/src/window/compositor.rs @@ -53,11 +53,12 @@ impl<Theme> Compositor<Theme> {          let adapter = instance              .request_adapter(&wgpu::RequestAdapterOptions { -                power_preference: if settings.antialiasing.is_none() { -                    wgpu::PowerPreference::LowPower -                } else { -                    wgpu::PowerPreference::HighPerformance -                }, +                power_preference: wgpu::util::power_preference_from_env() +                    .unwrap_or(if settings.antialiasing.is_none() { +                        wgpu::PowerPreference::LowPower +                    } else { +                        wgpu::PowerPreference::HighPerformance +                    }),                  compatible_surface: compatible_surface.as_ref(),                  force_fallback_adapter: false,              }) | 
