wuple/backend/
utils.rs

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}