Introduce strict-assertions feature flag

For now, this feature flag only enables validation
in `iced_wgpu`; which has become quite expensive
since its `0.20` release.
This commit is contained in:
Héctor Ramón Jiménez 2024-09-20 00:39:21 +02:00
parent a5e69cfb5f
commit 84b658dbef
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
4 changed files with 9 additions and 0 deletions

View file

@ -65,6 +65,8 @@ advanced = ["iced_core/advanced", "iced_widget/advanced"]
fira-sans = ["iced_renderer/fira-sans"]
# Enables auto-detecting light/dark mode for the built-in theme
auto-detect-theme = ["iced_core/auto-detect-theme"]
# Enables strict assertions for debugging purposes at the expense of performance
strict-assertions = ["iced_renderer/strict-assertions"]
[dependencies]
iced_core.workspace = true

View file

@ -22,6 +22,7 @@ geometry = ["iced_graphics/geometry", "iced_tiny_skia?/geometry", "iced_wgpu?/ge
web-colors = ["iced_wgpu?/web-colors"]
webgl = ["iced_wgpu?/webgl"]
fira-sans = ["iced_graphics/fira-sans"]
strict-assertions = ["iced_wgpu?/strict-assertions"]
[dependencies]
iced_graphics.workspace = true

View file

@ -23,6 +23,7 @@ image = ["iced_graphics/image"]
svg = ["iced_graphics/svg", "resvg/text"]
web-colors = ["iced_graphics/web-colors"]
webgl = ["wgpu/webgl"]
strict-assertions = []
[dependencies]
iced_graphics.workspace = true

View file

@ -56,6 +56,11 @@ impl Compositor {
) -> Result<Self, Error> {
let instance = wgpu::Instance::new(wgpu::InstanceDescriptor {
backends: settings.backends,
flags: if cfg!(feature = "strict-assertions") {
wgpu::InstanceFlags::debugging()
} else {
wgpu::InstanceFlags::empty()
},
..Default::default()
});