-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Description
Description
Calling request_device results in a panic inside wgpu-hal when using SwiftShader.
Repro steps
I have created a minimal reproducible example here:
https://github.com/mandryskowski/wgpu-swiftshader-feature-crash/blob/master/src/main.rs
See this Github Actions run https://github.com/mandryskowski/wgpu-swiftshader-feature-crash/actions/runs/23510896074/job/68431261257
let (device, _queue) = adapter.request_device(
&DeviceDescriptor {
required_features: Features::empty(),
..Default::default()
}
).await.unwrap();Actual behavior
Found Adapter: AdapterInfo { name: "SwiftShader Device (LLVM 10.0.0)", vendor: 6880, device: 49374, device_type: Cpu, device_pci_bus_id: "", driver: "SwiftShader driver", driver_info: "", backend: Vulkan, subgroup_min_size: 4, subgroup_max_size: 4, transient_saves_memory: false, limit_bucket: None }
[2026-03-24T18:02:07Z ERROR wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
terminator_CreateDevice: Failed in ICD /home/runner/work/wgpu-swiftshader-feature-crash/wgpu-swiftshader-feature-crash/swiftshader/build/Linux/./libvk_swiftshader.so vkCreateDevice call
[2026-03-24T18:02:07Z ERROR wgpu_hal::vulkan::instance] objects: (type: INSTANCE, hndl: 0x55ad69579620, name: ?)
[2026-03-24T18:02:07Z ERROR wgpu_hal::vulkan::instance] GENERAL [Loader Message (0x0)]
vkCreateDevice: Failed to create device chain.
[2026-03-24T18:02:07Z ERROR wgpu_hal::vulkan::instance] objects: (type: INSTANCE, hndl: 0x55ad69579620, name: ?)
thread 'main' (10113) panicked at wgpu/wgpu-hal/src/lib.rs:489:5:
wgpu-hal invariant was violated (usage error): Requested feature is not available on this device
stack backtrace:
0: __rustc::rust_begin_unwind
at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/std/src/panicking.rs:689:5
1: core::panicking::panic_fmt
at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/panicking.rs:80:14
2: wgpu_hal::hal_usage_error
at ./wgpu/wgpu-hal/src/lib.rs:489:5
3: wgpu_hal::vulkan::adapter::<impl wgpu_hal::vulkan::Adapter>::open_with_callback::map_err
at ./wgpu/wgpu-hal/src/vulkan/adapter.rs:2865:21
4: core::ops::function::FnOnce::call_once
at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
5: core::result::Result<T,E>::map_err
at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/result.rs:968:27
6: wgpu_hal::vulkan::adapter::<impl wgpu_hal::vulkan::Adapter>::open_with_callback
at ./wgpu/wgpu-hal/src/vulkan/adapter.rs:2857:22
7: wgpu_hal::vulkan::adapter::<impl wgpu_hal::Adapter for wgpu_hal::vulkan::Adapter>::open
at ./wgpu/wgpu-hal/src/vulkan/adapter.rs:2895:23
8: <A as wgpu_hal::dynamic::adapter::DynAdapter>::open
at ./wgpu/wgpu-hal/src/dynamic/adapter.rs:52:18
9: wgpu_core::instance::Adapter::create_device_and_queue
at ./wgpu/wgpu-core/src/instance.rs:871:30
10: wgpu_core::instance::<impl wgpu_core::global::Global>::adapter_request_device
at ./wgpu/wgpu-core/src/instance.rs:1202:39
11: <wgpu::backend::wgpu_core::CoreAdapter as wgpu::dispatch::AdapterInterface>::request_device
at ./wgpu/wgpu/src/backend/wgpu_core.rs:936:34
12: wgpu::api::adapter::Adapter::request_device
at ./wgpu/wgpu/src/api/adapter.rs:62:33
13: wgpu_subgroup_panic_repro::run::{{closure}}
at ./src/main.rs:34:10
14: pollster::block_on
at /home/runner/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/pollster-0.3.0/src/lib.rs:128:28
15: wgpu_subgroup_panic_repro::main
at ./src/main.rs:5:5
16: core::ops::function::FnOnce::call_once
at /rustc/4a4ef493e3a1488c6e321570238084b38948f6db/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Error: Process completed with exit code 101.Platform
swiftshader 89556131bf9d48af3c5c9fbb9a3322e706da89a3 (recent)
wgpu 0226d561c03e99d6805afb989e632198f5da5d08 (recent)
Ubuntu 24.04.3 LTS
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Todo