slint
slint copied to clipboard
slint/examples/wgpu_texture fails to run on Wayland
Bug Description
I tried to upgrade from 1.13.1 to 1.14.1 but I'm now getting this error when running cargo run in slint/examples/wgpu_texture.
If I try to add the TEXTURE_FORMAT_16BIT_NORM feature, I get this error instead: "Texture view format Rgba16Unorm is not renderable".
wgpu error: Validation Error
Caused by:
In Texture::create_view
Features Features { features_wgpu: FeaturesWGPU(TEXTURE_FORMAT_16BIT_NORM), features_webgpu: FeaturesWebGPU(0x0) } are required but not enabled on the device
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/ba2142a19c1acabe770433418fa395b8a0ef47a4/library/std/src/panicking.rs:689:5
1: core::panicking::panic_fmt
at /rustc/ba2142a19c1acabe770433418fa395b8a0ef47a4/library/core/src/panicking.rs:80:14
2: wgpu::backend::wgpu_core::default_error_handler
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-27.0.1/src/backend/wgpu_core.rs:693:5
3: <wgpu::backend::wgpu_core::ErrorSinkRaw>::handle_error_or_return_handler
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-27.0.1/src/backend/wgpu_core.rs:677:21
4: <wgpu::backend::wgpu_core::ContextWgpuCore>::handle_error_inner
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-27.0.1/src/backend/wgpu_core.rs:305:18
5: <wgpu::backend::wgpu_core::ContextWgpuCore>::handle_error::<wgpu_core::resource::CreateTextureViewError>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-27.0.1/src/backend/wgpu_core.rs:326:14
6: <wgpu::backend::wgpu_core::CoreTexture as wgpu::dispatch::TextureInterface>::create_view
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-27.0.1/src/backend/wgpu_core.rs:2218:18
7: <wgpu::api::texture::Texture>::create_view
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/wgpu-27.0.1/src/api/texture.rs:78:31
8: <femtovg::renderer::wgpu::WGPURenderer as femtovg::renderer::Renderer>::render
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/femtovg-0.19.3/src/renderer/wgpu.rs:308:44
9: <femtovg::Canvas<femtovg::renderer::wgpu::WGPURenderer>>::flush_to_surface
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/femtovg-0.19.3/src/lib.rs:425:44
10: <i_slint_renderer_femtovg::FemtoVGRenderer<i_slint_renderer_femtovg::wgpu::WGPUBackend>>::internal_render_with_post_callback::{closure#1}
at ~/slint/internal/renderers/femtovg/lib.rs:184:51
11: <i_slint_core::window::WindowInner>::draw_contents::<core::result::Result<(), i_slint_core::api::PlatformError>, <i_slint_renderer_femtovg::FemtoVGRenderer<i_slint_renderer_femtovg::wgpu::WGPUBackend>>::internal_render_with_post_callback::{closure#1}>::{closure#0}
at ~/slint/internal/core/window.rs:1122:21
12: <i_slint_core::properties::CURRENT_BINDING>::set::<<i_slint_core::window::WindowInner>::draw_contents<core::result::Result<(), i_slint_core::api::PlatformError>, <i_slint_renderer_femtovg::FemtoVGRenderer<i_slint_renderer_femtovg::wgpu::WGPUBackend>>::internal_render_with_post_callback::{closure#1}>::{closure#0}, core::result::Result<(), i_slint_core::api::PlatformError>>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/scoped-tls-hkt-0.1.5/src/lib.rs:258:21
13: <i_slint_core::properties::PropertyTracker<i_slint_core::window::WindowRedrawTracker>>::evaluate_as_dependency_root::<core::result::Result<(), i_slint_core::api::PlatformError>, <i_slint_core::window::WindowInner>::draw_contents<core::result::Result<(), i_slint_core::api::PlatformError>, <i_slint_renderer_femtovg::FemtoVGRenderer<i_slint_renderer_femtovg::wgpu::WGPUBackend>>::internal_render_with_post_callback::{closure#1}>::{closure#0}>
at ~/slint/internal/core/properties.rs:1747:33
14: <i_slint_core::window::WindowInner>::draw_contents::<core::result::Result<(), i_slint_core::api::PlatformError>, <i_slint_renderer_femtovg::FemtoVGRenderer<i_slint_renderer_femtovg::wgpu::WGPUBackend>>::internal_render_with_post_callback::{closure#1}>
at ~/slint/internal/core/window.rs:1114:71
15: <i_slint_renderer_femtovg::FemtoVGRenderer<i_slint_renderer_femtovg::wgpu::WGPUBackend>>::internal_render_with_post_callback
at ~/slint/internal/renderers/femtovg/lib.rs:145:14
16: <i_slint_renderer_femtovg::FemtoVGRenderer<i_slint_renderer_femtovg::wgpu::WGPUBackend>>::render
at ~/slint/internal/renderers/femtovg/lib.rs:96:14
17: <i_slint_backend_winit::renderer::femtovg::WGPUFemtoVGRenderer as i_slint_backend_winit::renderer::WinitCompatibleRenderer>::render
at ~/slint/internal/backends/winit/renderer/femtovg.rs:196:23
18: <i_slint_backend_winit::winitwindowadapter::WinitWindowAdapter>::draw
at ~/slint/internal/backends/winit/winitwindowadapter.rs:656:18
19: <i_slint_backend_winit::event_loop::EventLoopState as winit::application::ApplicationHandler<i_slint_backend_winit::SlintEvent>>::window_event
at ~/slint/internal/backends/winit/event_loop.rs:180:42
20: winit::event_loop::dispatch_event_for_app::<i_slint_backend_winit::SlintEvent, i_slint_backend_winit::event_loop::EventLoopState>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/event_loop.rs:642:56
21: <winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand::<i_slint_backend_winit::event_loop::EventLoopState>::{closure#0}
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform/run_on_demand.rs:76:13
22: <&mut <winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand<i_slint_backend_winit::event_loop::EventLoopState>::{closure#0} as core::ops::function::FnMut<(winit::event::Event<i_slint_backend_winit::SlintEvent>, &winit::event_loop::ActiveEventLoop)>>::call_mut
at ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:298:21
23: <winit::platform_impl::linux::wayland::event_loop::EventLoop<i_slint_backend_winit::SlintEvent>>::single_iteration::<&mut <winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand<i_slint_backend_winit::event_loop::EventLoopState>::{closure#0}>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform_impl/linux/wayland/event_loop/mod.rs:502:17
24: <winit::platform_impl::linux::wayland::event_loop::EventLoop<i_slint_backend_winit::SlintEvent>>::pump_events::<&mut <winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand<i_slint_backend_winit::event_loop::EventLoopState>::{closure#0}>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform_impl/linux/wayland/event_loop/mod.rs:220:18
25: <winit::platform_impl::linux::wayland::event_loop::EventLoop<i_slint_backend_winit::SlintEvent>>::run_on_demand::<<winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand<i_slint_backend_winit::event_loop::EventLoopState>::{closure#0}>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform_impl/linux/wayland/event_loop/mod.rs:190:24
26: <winit::platform_impl::linux::EventLoop<i_slint_backend_winit::SlintEvent>>::run_on_demand::<<winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand<i_slint_backend_winit::event_loop::EventLoopState>::{closure#0}>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform_impl/linux/mod.rs:820:61
27: <winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_on_demand::<<winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand<i_slint_backend_winit::event_loop::EventLoopState>::{closure#0}>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform/run_on_demand.rs:89:25
28: <winit::event_loop::EventLoop<i_slint_backend_winit::SlintEvent> as winit::platform::run_on_demand::EventLoopExtRunOnDemand>::run_app_on_demand::<i_slint_backend_winit::event_loop::EventLoopState>
at ~/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.30.12/src/platform/run_on_demand.rs:75:14
29: <i_slint_backend_winit::event_loop::EventLoopState>::run
at ~/slint/internal/backends/winit/event_loop.rs:591:22
30: <i_slint_backend_winit::Backend as i_slint_core::platform::Platform>::run_event_loop
at ~/slint/internal/backends/winit/lib.rs:793:36
31: slint::run_event_loop::{closure#0}
at ~/slint/api/rs/slint/lib.rs:253:51
32: i_slint_backend_selector::with_platform::<(), slint::run_event_loop::{closure#0}>::{closure#0}
at ~/slint/internal/backends/selector/lib.rs:154:31
33: i_slint_core::context::with_global_context::<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_global_context<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>::{closure#0}, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>::{closure#0}
at ~/slint/internal/core/context.rs:118:25
34: <std::thread::local::LocalKey<once_cell::unsync::OnceCell<i_slint_core::context::SlintContext>>>::try_with::<i_slint_core::context::with_global_context<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_global_context<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>::{closure#0}, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>::{closure#0}, core::result::Result<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_core::api::PlatformError>>
at ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:513:12
35: <std::thread::local::LocalKey<once_cell::unsync::OnceCell<i_slint_core::context::SlintContext>>>::with::<i_slint_core::context::with_global_context<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_global_context<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>::{closure#0}, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>::{closure#0}, core::result::Result<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_core::api::PlatformError>>
at ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/thread/local.rs:477:20
36: i_slint_core::context::with_global_context::<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_global_context<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>::{closure#0}, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>
at ~/slint/internal/core/context.rs:117:20
37: i_slint_backend_selector::with_global_context::<core::result::Result<(), i_slint_core::api::PlatformError>, i_slint_backend_selector::with_platform<(), slint::run_event_loop::{closure#0}>::{closure#0}>
at ~/slint/internal/backends/selector/lib.rs:161:18
38: i_slint_backend_selector::with_platform::<(), slint::run_event_loop::{closure#0}>
at ~/slint/internal/backends/selector/lib.rs:154:5
39: slint::run_event_loop
at ~/slint/api/rs/slint/lib.rs:253:5
40: <wgpu_texture_lib::slint_generatedApp::App as i_slint_core::api::ComponentHandle>::run
at ~/slint/target/debug/build/wgpu_texture-779034321bf10821/out/scene.rs:2093:14
41: wgpu_texture_lib::main
at ./lib.rs:186:9
42: wgpu_texture::main
at ./main.rs:5:5
43: <fn() as core::ops::function::FnOnce<()>>::call_once
at ~/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5
Reproducible Code (if applicable)
Environment Details
- Slint Version: master, 1.14.1 (it worked in 1.13.1)
- Platform/OS: Linux Wayland
- Programming Language: Rust
- Backend/Renderer: femtovg in my application
Product Impact
No response
Hi @jturcotte . Could you try this branch? https://github.com/slint-ui/slint/tree/simon%2Fwgpu-features