1#[cfg(target_os = "android")]
2pub const BACKENDS: wgpu::Backends = unsafe {
3 wgpu::Backends::from_bits_unchecked(
4 wgpu::Backends::BROWSER_WEBGPU.bits() | wgpu::Backends::GL.bits(),
5 )
6};
7
8#[cfg(not(target_os = "android"))]
9pub const BACKENDS: wgpu::Backends = wgpu::Backends::all();
10
11pub fn limits() -> wgpu::Limits {
12 if cfg!(target_arch = "wasm32") {
13 return wgpu::Limits::downlevel_webgl2_defaults();
14 } else {
15 #[cfg(target_os = "android")]
16 return wgpu::Limits {
17 max_compute_workgroup_size_x: 128,
18 max_compute_workgroup_size_y: 128,
19 max_compute_invocations_per_workgroup: 128,
20 max_uniform_buffer_binding_size: 16384,
21 max_storage_textures_per_shader_stage: 0,
22 max_storage_buffers_per_shader_stage: 0,
23 max_dynamic_storage_buffers_per_pipeline_layout: 0,
24 ..Default::default()
25 };
26
27 #[cfg(not(target_os = "android"))]
28 return wgpu::Limits::default();
29 }
30}