pub struct Limits {
pub max_bind_groups: usize,
pub max_dynamic_uniform_buffers_per_pipeline_layout: usize,
pub max_dynamic_storage_buffers_per_pipeline_layout: usize,
pub max_sampled_textures_per_shader_stage: usize,
pub max_samplers_per_shader_stage: usize,
pub max_storage_buffers_per_shader_stage: usize,
pub max_storage_textures_per_shader_stage: usize,
pub max_uniform_buffers_per_shader_stage: usize,
pub max_vertex_buffers: usize,
pub max_vertex_attributes: usize,
pub max_vertex_array_stride: usize,
pub max_texture_dimension_1d: usize,
pub max_texture_dimension_2d: usize,
pub max_texture_dimension_3d: usize,
pub max_texture_array_layers: usize,
}
impl Default for Limits {
fn default() -> Self {
Self {
max_bind_groups: 4,
max_dynamic_uniform_buffers_per_pipeline_layout: 8,
max_dynamic_storage_buffers_per_pipeline_layout: 4,
max_sampled_textures_per_shader_stage: 16,
max_samplers_per_shader_stage: 16,
max_storage_buffers_per_shader_stage: 4,
max_storage_textures_per_shader_stage: 4,
max_uniform_buffers_per_shader_stage: 12,
max_vertex_buffers: 8,
max_vertex_attributes: 16,
max_vertex_array_stride: 2048,
max_texture_dimension_1d: 8192,
max_texture_dimension_2d: 8192,
max_texture_dimension_3d: 2048,
max_texture_array_layers: 2048,
}
}
}