1pub(crate) mod shaders;
8
9pub fn try_create_device() -> Option<(wgpu::Device, wgpu::Queue)> {
12 let instance = wgpu::Instance::new(&wgpu::InstanceDescriptor {
13 backends: wgpu::Backends::all(),
14 ..Default::default()
15 });
16 let adapter = pollster::block_on(instance.request_adapter(&wgpu::RequestAdapterOptions {
17 power_preference: wgpu::PowerPreference::HighPerformance,
18 compatible_surface: None,
19 force_fallback_adapter: false,
20 }))?;
21 let (device, queue) = pollster::block_on(adapter.request_device(
22 &wgpu::DeviceDescriptor {
23 label: Some("trident-gpu"),
24 required_features: wgpu::Features::empty(),
25 required_limits: wgpu::Limits::default(),
26 memory_hints: wgpu::MemoryHints::Performance,
27 },
28 None,
29 ))
30 .ok()?;
31 Some((device, queue))
32}