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
|
||||
{
|
||||
std::uint32_t max_texture_dimension_1D;
|
||||
std::uint32_t max_texture_dimension_2D;
|
||||
std::uint32_t max_texture_dimension_3D;
|
||||
std::uint32_t max_texture_array_layers;
|
||||
std::uint32_t max_bind_groups;
|
||||
std::uint32_t max_bind_groups_plus_vertex_buffers;
|
||||
std::uint32_t max_bindings_per_bind_group;
|
||||
std::uint32_t max_dynamic_uniform_buffers_per_pipeline_layout;
|
||||
std::uint32_t max_dynamic_storage_buffers_per_pipeline_layout;
|
||||
std::uint32_t max_sampled_textures_per_shader_stage;
|
||||
std::uint32_t max_samplers_per_shader_stage;
|
||||
std::uint32_t max_storage_buffers_per_shader_stage;
|
||||
std::uint32_t max_storage_textures_per_shader_stage;
|
||||
std::uint32_t max_uniform_buffers_per_shader_stage;
|
||||
std::uint64_t max_uniform_buffer_binding_size;
|
||||
std::uint64_t max_storage_buffer_binding_size;
|
||||
std::uint32_t min_uniform_buffer_offset_alignment;
|
||||
std::uint32_t min_storage_buffer_offset_alignment;
|
||||
std::uint32_t max_vertex_buffers;
|
||||
std::uint64_t max_buffer_size;
|
||||
std::uint32_t max_vertex_attributes;
|
||||
std::uint32_t max_vertex_buffer_array_stride;
|
||||
std::uint32_t max_inter_stage_shader_components;
|
||||
std::uint32_t max_inter_stage_shader_variables;
|
||||
std::uint32_t max_color_attachments;
|
||||
std::uint32_t max_color_attachment_bytes_per_sample;
|
||||
std::uint32_t max_compute_workgroup_storage_size;
|
||||
std::uint32_t max_compute_invocations_per_workgroup;
|
||||
std::uint32_t max_compute_workgroup_size_x;
|
||||
std::uint32_t max_compute_workgroup_size_y;
|
||||
std::uint32_t max_compute_workgroup_size_z;
|
||||
std::uint32_t max_compute_workgroups_per_dimension;
|
||||
std::uint32_t max_texture_dimension_1D = 8192;
|
||||
std::uint32_t max_texture_dimension_2D = 8192;
|
||||
std::uint32_t max_texture_dimension_3D = 2048;
|
||||
std::uint32_t max_texture_array_layers = 256;
|
||||
std::uint32_t max_bind_groups = 4;
|
||||
std::uint32_t max_bind_groups_plus_vertex_buffers = 8;
|
||||
std::uint32_t max_bindings_per_bind_group = 1000;
|
||||
std::uint32_t max_dynamic_uniform_buffers_per_pipeline_layout = 8;
|
||||
std::uint32_t max_dynamic_storage_buffers_per_pipeline_layout = 4;
|
||||
std::uint32_t max_sampled_textures_per_shader_stage = 16;
|
||||
std::uint32_t max_samplers_per_shader_stage = 16;
|
||||
std::uint32_t max_storage_buffers_per_shader_stage = 8;
|
||||
std::uint32_t max_storage_textures_per_shader_stage = 4;
|
||||
std::uint32_t max_uniform_buffers_per_shader_stage = 12;
|
||||
std::uint64_t max_uniform_buffer_binding_size = 64 * 1024;
|
||||
std::uint64_t max_storage_buffer_binding_size = 128 * 1024 * 1024;
|
||||
std::uint32_t min_uniform_buffer_offset_alignment = 256;
|
||||
std::uint32_t min_storage_buffer_offset_alignment = 256;
|
||||
std::uint32_t max_vertex_buffers = 8;
|
||||
std::uint64_t max_buffer_size = 256 * 1024 * 1024;
|
||||
std::uint32_t max_vertex_attributes = 16;
|
||||
std::uint32_t max_vertex_buffer_array_stride = 2048;
|
||||
std::uint32_t max_inter_stage_shader_components = 60;
|
||||
std::uint32_t max_inter_stage_shader_variables = 15;
|
||||
std::uint32_t max_color_attachments = 1;
|
||||
std::uint32_t max_color_attachment_bytes_per_sample = 4;
|
||||
std::uint32_t max_compute_workgroup_storage_size = 16384;
|
||||
std::uint32_t max_compute_invocations_per_workgroup = 256;
|
||||
std::uint32_t max_compute_workgroup_size_x = 256;
|
||||
std::uint32_t max_compute_workgroup_size_y = 256;
|
||||
std::uint32_t max_compute_workgroup_size_z = 64;
|
||||
std::uint32_t max_compute_workgroups_per_dimension = 65535;
|
||||
};
|
||||
|
||||
enum class create_pipeline_async_status : std::uint32_t
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ namespace psemek::wgpu
|
|||
// TODO: support out chain
|
||||
wgpu::limits result;
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -397,7 +397,7 @@ namespace psemek::wgpu
|
|||
// TODO: support out chain
|
||||
wgpu::limits result;
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue