Merge pull request #2828 from dtzxporter/add-wgpu-feature-no-backends
Add an option for the wgpu feature to disable the default backends.
This commit is contained in:
commit
1e5fddd42a
6 changed files with 17 additions and 13 deletions
12
Cargo.toml
12
Cargo.toml
|
|
@ -23,9 +23,11 @@ maintenance = { status = "actively-developed" }
|
|||
|
||||
[features]
|
||||
default = ["wgpu", "tiny-skia", "crisp", "web-colors", "thread-pool", "linux-theme-detection"]
|
||||
# Enables the `wgpu` GPU-accelerated renderer backend
|
||||
wgpu = ["iced_renderer/wgpu", "iced_widget/wgpu"]
|
||||
# Enables the `tiny-skia` software renderer backend
|
||||
# Enables the `wgpu` GPU-accelerated renderer with all its default features (Vulkan, Metal, DX12, OpenGL, and WebGPU)
|
||||
wgpu = ["wgpu-bare", "iced_renderer/wgpu"]
|
||||
# Enables the `wgpu` GPU-accelerated renderer with the minimum required features (no backends!)
|
||||
wgpu-bare = ["iced_renderer/wgpu-bare", "iced_widget/wgpu"]
|
||||
# Enables the `tiny-skia` software renderer
|
||||
tiny-skia = ["iced_renderer/tiny-skia"]
|
||||
# Enables the `image` widget
|
||||
image = ["image-without-codecs", "image/default"]
|
||||
|
|
@ -175,7 +177,7 @@ iced_selector = { version = "0.14.0-dev", path = "selector" }
|
|||
iced_test = { version = "0.14.0-dev", path = "test" }
|
||||
iced_tester = { version = "0.14.0-dev", path = "tester" }
|
||||
iced_tiny_skia = { version = "0.14.0-dev", path = "tiny_skia" }
|
||||
iced_wgpu = { version = "0.14.0-dev", path = "wgpu" }
|
||||
iced_wgpu = { version = "0.14.0-dev", path = "wgpu", default-features = false }
|
||||
iced_widget = { version = "0.14.0-dev", path = "widget" }
|
||||
iced_winit = { version = "0.14.0-dev", path = "winit" }
|
||||
|
||||
|
|
@ -227,7 +229,7 @@ wasm-bindgen-futures = "0.4"
|
|||
wasmtimer = "0.4.1"
|
||||
web-sys = "0.3.69"
|
||||
web-time = "1.1"
|
||||
wgpu = "27.0"
|
||||
wgpu = { version = "27.0", default-features = false, features = ["std", "wgsl"] }
|
||||
window_clipboard = "0.4.1"
|
||||
winit = { git = "https://github.com/iced-rs/winit.git", rev = "05b8ff17a06562f0a10bb46e6eaacbe2a95cb5ed" }
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,8 @@ keywords.workspace = true
|
|||
workspace = true
|
||||
|
||||
[features]
|
||||
wgpu = ["iced_wgpu"]
|
||||
wgpu = ["iced_wgpu/default"]
|
||||
wgpu-bare = ["iced_wgpu"]
|
||||
tiny-skia = ["iced_tiny_skia"]
|
||||
image = ["iced_tiny_skia?/image", "iced_wgpu?/image"]
|
||||
svg = ["iced_tiny_skia?/svg", "iced_wgpu?/svg"]
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ where
|
|||
}
|
||||
}
|
||||
|
||||
#[cfg(feature = "wgpu")]
|
||||
#[cfg(feature = "wgpu-bare")]
|
||||
impl<A, B> iced_wgpu::primitive::Renderer for Renderer<A, B>
|
||||
where
|
||||
A: iced_wgpu::primitive::Renderer,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
//! The official renderer for iced.
|
||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||
|
||||
#[cfg(feature = "wgpu")]
|
||||
#[cfg(feature = "wgpu-bare")]
|
||||
pub use iced_wgpu as wgpu;
|
||||
|
||||
pub mod fallback;
|
||||
|
|
@ -22,7 +22,7 @@ pub type Renderer = renderer::Renderer;
|
|||
/// [`iced`]: https://github.com/iced-rs/iced
|
||||
pub type Compositor = renderer::Compositor;
|
||||
|
||||
#[cfg(all(feature = "wgpu", feature = "tiny-skia"))]
|
||||
#[cfg(all(feature = "wgpu-bare", feature = "tiny-skia"))]
|
||||
mod renderer {
|
||||
pub type Renderer = crate::fallback::Renderer<
|
||||
iced_wgpu::Renderer,
|
||||
|
|
@ -35,19 +35,19 @@ mod renderer {
|
|||
>;
|
||||
}
|
||||
|
||||
#[cfg(all(feature = "wgpu", not(feature = "tiny-skia")))]
|
||||
#[cfg(all(feature = "wgpu-bare", not(feature = "tiny-skia")))]
|
||||
mod renderer {
|
||||
pub type Renderer = iced_wgpu::Renderer;
|
||||
pub type Compositor = iced_wgpu::window::Compositor;
|
||||
}
|
||||
|
||||
#[cfg(all(not(feature = "wgpu"), feature = "tiny-skia"))]
|
||||
#[cfg(all(not(feature = "wgpu-bare"), feature = "tiny-skia"))]
|
||||
mod renderer {
|
||||
pub type Renderer = iced_tiny_skia::Renderer;
|
||||
pub type Compositor = iced_tiny_skia::window::Compositor;
|
||||
}
|
||||
|
||||
#[cfg(not(any(feature = "wgpu", feature = "tiny-skia")))]
|
||||
#[cfg(not(any(feature = "wgpu-bare", feature = "tiny-skia")))]
|
||||
mod renderer {
|
||||
#[cfg(not(debug_assertions))]
|
||||
compile_error!(
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ rustdoc-args = ["--cfg", "docsrs"]
|
|||
all-features = true
|
||||
|
||||
[features]
|
||||
default = ["wgpu/default"]
|
||||
geometry = ["iced_graphics/geometry", "lyon"]
|
||||
image = ["iced_graphics/image"]
|
||||
svg = ["iced_graphics/svg", "resvg/text"]
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ image = ["iced_renderer/image"]
|
|||
svg = ["iced_renderer/svg"]
|
||||
canvas = ["iced_renderer/geometry"]
|
||||
qr_code = ["canvas", "dep:qrcode"]
|
||||
wgpu = ["iced_renderer/wgpu"]
|
||||
wgpu = ["iced_renderer/wgpu-bare"]
|
||||
markdown = ["dep:pulldown-cmark", "dep:url"]
|
||||
highlighter = ["dep:iced_highlighter"]
|
||||
advanced = []
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue