slint-ui/slint · error
Suspended backend not supported for WgpuTextureBackend (requ
Error message
Suspended backend not supported for WgpuTextureBackend (requires device/queue)
What it means
Error "Suspended backend not supported for WgpuTextureBackend (requires device/queue)" thrown in slint-ui/slint.
Source
Thrown at internal/renderers/femtovg/wgpu.rs:443
fn render_output(&self) -> impl Into<femtovg::renderer::WGPURenderOutput> {
self.render_output.clone()
}
}
struct WgpuTextureBackend {
instance: wgpu::Instance,
device: wgpu::Device,
queue: wgpu::Queue,
render_output: RefCell<Option<femtovg::renderer::WGPURenderOutput>>,
}
impl GraphicsBackend for WgpuTextureBackend {
type Renderer = femtovg::renderer::WGPURenderer;
type WindowSurface = TextureWindowSurface;
const NAME: &'static str = "WGPU Texture";
fn new_suspended() -> Self {
panic!("Suspended backend not supported for WgpuTextureBackend (requires device/queue)");
}
fn clear_graphics_context(&self) {
// Nothing to clear here, we don't own the device/queue/texture
}
fn begin_surface_rendering(
&self,
) -> Result<BeginRendering<Self::WindowSurface>, Box<dyn std::error::Error + Send + Sync>> {
let render_output =
self.render_output.borrow().clone().ok_or("No texture set for rendering")?;
Ok(BeginRendering::Acquired(TextureWindowSurface { render_output }))
}
fn submit_commands(&self, commands: <Self::Renderer as femtovg::Renderer>::CommandBuffer) {
self.queue.submit(commands);
}
View on GitHub (pinned to 3fd8f2ec03)
Solutions
- Do not suspend the application while using the WGPU texture backend without device/queue access.
- Keep the device and queue alive for the duration of the suspension.
When it happens
Trigger: Thrown at internal/renderers/femtovg/wgpu.rs:443 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of slint-ui/slint@3fd8f2ec03 (2026-08-19).
Data as JSON: /api/errors/6a57b858a80d73c6.
Report an issue: GitHub.