Add defaults to wgpu::limits
This commit is contained in:
parent
e6ae945b92
commit
f986f0d4b1
3 changed files with 34 additions and 34 deletions
|
|
@ -49,38 +49,38 @@ namespace psemek::wgpu
|
||||||
|
|
||||||
struct limits
|
struct limits
|
||||||
{
|
{
|
||||||
std::uint32_t max_texture_dimension_1D;
|
std::uint32_t max_texture_dimension_1D = 8192;
|
||||||
std::uint32_t max_texture_dimension_2D;
|
std::uint32_t max_texture_dimension_2D = 8192;
|
||||||
std::uint32_t max_texture_dimension_3D;
|
std::uint32_t max_texture_dimension_3D = 2048;
|
||||||
std::uint32_t max_texture_array_layers;
|
std::uint32_t max_texture_array_layers = 256;
|
||||||
std::uint32_t max_bind_groups;
|
std::uint32_t max_bind_groups = 4;
|
||||||
std::uint32_t max_bind_groups_plus_vertex_buffers;
|
std::uint32_t max_bind_groups_plus_vertex_buffers = 8;
|
||||||
std::uint32_t max_bindings_per_bind_group;
|
std::uint32_t max_bindings_per_bind_group = 1000;
|
||||||
std::uint32_t max_dynamic_uniform_buffers_per_pipeline_layout;
|
std::uint32_t max_dynamic_uniform_buffers_per_pipeline_layout = 8;
|
||||||
std::uint32_t max_dynamic_storage_buffers_per_pipeline_layout;
|
std::uint32_t max_dynamic_storage_buffers_per_pipeline_layout = 4;
|
||||||
std::uint32_t max_sampled_textures_per_shader_stage;
|
std::uint32_t max_sampled_textures_per_shader_stage = 16;
|
||||||
std::uint32_t max_samplers_per_shader_stage;
|
std::uint32_t max_samplers_per_shader_stage = 16;
|
||||||
std::uint32_t max_storage_buffers_per_shader_stage;
|
std::uint32_t max_storage_buffers_per_shader_stage = 8;
|
||||||
std::uint32_t max_storage_textures_per_shader_stage;
|
std::uint32_t max_storage_textures_per_shader_stage = 4;
|
||||||
std::uint32_t max_uniform_buffers_per_shader_stage;
|
std::uint32_t max_uniform_buffers_per_shader_stage = 12;
|
||||||
std::uint64_t max_uniform_buffer_binding_size;
|
std::uint64_t max_uniform_buffer_binding_size = 64 * 1024;
|
||||||
std::uint64_t max_storage_buffer_binding_size;
|
std::uint64_t max_storage_buffer_binding_size = 128 * 1024 * 1024;
|
||||||
std::uint32_t min_uniform_buffer_offset_alignment;
|
std::uint32_t min_uniform_buffer_offset_alignment = 256;
|
||||||
std::uint32_t min_storage_buffer_offset_alignment;
|
std::uint32_t min_storage_buffer_offset_alignment = 256;
|
||||||
std::uint32_t max_vertex_buffers;
|
std::uint32_t max_vertex_buffers = 8;
|
||||||
std::uint64_t max_buffer_size;
|
std::uint64_t max_buffer_size = 256 * 1024 * 1024;
|
||||||
std::uint32_t max_vertex_attributes;
|
std::uint32_t max_vertex_attributes = 16;
|
||||||
std::uint32_t max_vertex_buffer_array_stride;
|
std::uint32_t max_vertex_buffer_array_stride = 2048;
|
||||||
std::uint32_t max_inter_stage_shader_components;
|
std::uint32_t max_inter_stage_shader_components = 60;
|
||||||
std::uint32_t max_inter_stage_shader_variables;
|
std::uint32_t max_inter_stage_shader_variables = 15;
|
||||||
std::uint32_t max_color_attachments;
|
std::uint32_t max_color_attachments = 1;
|
||||||
std::uint32_t max_color_attachment_bytes_per_sample;
|
std::uint32_t max_color_attachment_bytes_per_sample = 4;
|
||||||
std::uint32_t max_compute_workgroup_storage_size;
|
std::uint32_t max_compute_workgroup_storage_size = 16384;
|
||||||
std::uint32_t max_compute_invocations_per_workgroup;
|
std::uint32_t max_compute_invocations_per_workgroup = 256;
|
||||||
std::uint32_t max_compute_workgroup_size_x;
|
std::uint32_t max_compute_workgroup_size_x = 256;
|
||||||
std::uint32_t max_compute_workgroup_size_y;
|
std::uint32_t max_compute_workgroup_size_y = 256;
|
||||||
std::uint32_t max_compute_workgroup_size_z;
|
std::uint32_t max_compute_workgroup_size_z = 64;
|
||||||
std::uint32_t max_compute_workgroups_per_dimension;
|
std::uint32_t max_compute_workgroups_per_dimension = 65535;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum class create_pipeline_async_status : std::uint32_t
|
enum class create_pipeline_async_status : std::uint32_t
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ namespace psemek::wgpu
|
||||||
// TODO: support out chain
|
// TODO: support out chain
|
||||||
wgpu::limits result;
|
wgpu::limits result;
|
||||||
static_assert(sizeof(result) == sizeof(limits.limits));
|
static_assert(sizeof(result) == sizeof(limits.limits));
|
||||||
std::memcpy(&result, &limits.limits, sizeof(result));
|
std::memcpy((char *)&result, (char *)&limits.limits, sizeof(result));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -397,7 +397,7 @@ namespace psemek::wgpu
|
||||||
// TODO: support out chain
|
// TODO: support out chain
|
||||||
wgpu::limits result;
|
wgpu::limits result;
|
||||||
static_assert(sizeof(result) == sizeof(limits.limits));
|
static_assert(sizeof(result) == sizeof(limits.limits));
|
||||||
std::memcpy(&result, &limits.limits, sizeof(result));
|
std::memcpy((char *)&result, (char *)&limits.limits, sizeof(result));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue