MCPcopy Create free account
hub / github.com/Bloom-Engine/engine / try_create_device

Function try_create_device

native/shared/src/renderer/transient.rs:282–301  ·  view source on GitHub ↗

Headless wgpu device for tests. Uses the default noop/fallback backend if available so tests run in CI without a GPU. Returns None on environments where no adapter is available — tests that need a device are skipped gracefully.

()

Source from the content-addressed store, hash-verified

280 /// None on environments where no adapter is available — tests that
281 /// need a device are skipped gracefully.
282 fn try_create_device() -> Option<(wgpu::Device, wgpu::Queue)> {
283 let instance = wgpu::Instance::new(wgpu::InstanceDescriptor {
284 backends: wgpu::Backends::all(),
285 ..wgpu::InstanceDescriptor::new_without_display_handle()
286 });
287 let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions {
288 power_preference: wgpu::PowerPreference::LowPower,
289 compatible_surface: None,
290 force_fallback_adapter: true,
291 })).ok()?;
292 let (device, queue) = pollster::block_on(adapter.request_device(
293 &wgpu::DeviceDescriptor {
294 label: Some("transient-test-device"),
295 required_features: wgpu::Features::empty(),
296 required_limits: wgpu::Limits::downlevel_defaults(),
297 ..Default::default()
298 },
299 )).ok()?;
300 Some((device, queue))
301 }
302
303 #[test]
304 fn size_policy_resolves() {

Calls

no outgoing calls