pub struct Vulkan10Limits {Show 106 fields
pub max_image_dimension1_d: u32,
pub max_image_dimension2_d: u32,
pub max_image_dimension3_d: u32,
pub max_image_dimension_cube: u32,
pub max_image_array_layers: u32,
pub max_texel_buffer_elements: u32,
pub max_uniform_buffer_range: u32,
pub max_storage_buffer_range: u32,
pub max_push_constants_size: u32,
pub max_memory_allocation_count: u32,
pub max_sampler_allocation_count: u32,
pub buffer_image_granularity: DeviceSize,
pub sparse_address_space_size: DeviceSize,
pub max_bound_descriptor_sets: u32,
pub max_per_stage_descriptor_samplers: u32,
pub max_per_stage_descriptor_uniform_buffers: u32,
pub max_per_stage_descriptor_storage_buffers: u32,
pub max_per_stage_descriptor_sampled_images: u32,
pub max_per_stage_descriptor_storage_images: u32,
pub max_per_stage_descriptor_input_attachments: u32,
pub max_per_stage_resources: u32,
pub max_descriptor_set_samplers: u32,
pub max_descriptor_set_uniform_buffers: u32,
pub max_descriptor_set_uniform_buffers_dynamic: u32,
pub max_descriptor_set_storage_buffers: u32,
pub max_descriptor_set_storage_buffers_dynamic: u32,
pub max_descriptor_set_sampled_images: u32,
pub max_descriptor_set_storage_images: u32,
pub max_descriptor_set_input_attachments: u32,
pub max_vertex_input_attributes: u32,
pub max_vertex_input_bindings: u32,
pub max_vertex_input_attribute_offset: u32,
pub max_vertex_input_binding_stride: u32,
pub max_vertex_output_components: u32,
pub max_tessellation_generation_level: u32,
pub max_tessellation_patch_size: u32,
pub max_tessellation_control_per_vertex_input_components: u32,
pub max_tessellation_control_per_vertex_output_components: u32,
pub max_tessellation_control_per_patch_output_components: u32,
pub max_tessellation_control_total_output_components: u32,
pub max_tessellation_evaluation_input_components: u32,
pub max_tessellation_evaluation_output_components: u32,
pub max_geometry_shader_invocations: u32,
pub max_geometry_input_components: u32,
pub max_geometry_output_components: u32,
pub max_geometry_output_vertices: u32,
pub max_geometry_total_output_components: u32,
pub max_fragment_input_components: u32,
pub max_fragment_output_attachments: u32,
pub max_fragment_dual_src_attachments: u32,
pub max_fragment_combined_output_resources: u32,
pub max_compute_shared_memory_size: u32,
pub max_compute_work_group_count: [u32; 3],
pub max_compute_work_group_invocations: u32,
pub max_compute_work_group_size: [u32; 3],
pub sub_pixel_precision_bits: u32,
pub sub_texel_precision_bits: u32,
pub mipmap_precision_bits: u32,
pub max_draw_indexed_index_value: u32,
pub max_draw_indirect_count: u32,
pub max_sampler_lod_bias: f32,
pub max_sampler_anisotropy: f32,
pub max_viewports: u32,
pub max_viewport_dimensions: [u32; 2],
pub viewport_bounds_range: [f32; 2],
pub viewport_sub_pixel_bits: u32,
pub min_memory_map_alignment: usize,
pub min_texel_buffer_offset_alignment: DeviceSize,
pub min_uniform_buffer_offset_alignment: DeviceSize,
pub min_storage_buffer_offset_alignment: DeviceSize,
pub min_texel_offset: i32,
pub max_texel_offset: u32,
pub min_texel_gather_offset: i32,
pub max_texel_gather_offset: u32,
pub min_interpolation_offset: f32,
pub max_interpolation_offset: f32,
pub sub_pixel_interpolation_offset_bits: u32,
pub max_framebuffer_width: u32,
pub max_framebuffer_height: u32,
pub max_framebuffer_layers: u32,
pub framebuffer_color_sample_counts: SampleCountFlags,
pub framebuffer_depth_sample_counts: SampleCountFlags,
pub framebuffer_stencil_sample_counts: SampleCountFlags,
pub framebuffer_no_attachments_sample_counts: SampleCountFlags,
pub max_color_attachments: u32,
pub sampled_image_color_sample_counts: SampleCountFlags,
pub sampled_image_integer_sample_counts: SampleCountFlags,
pub sampled_image_depth_sample_counts: SampleCountFlags,
pub sampled_image_stencil_sample_counts: SampleCountFlags,
pub storage_image_sample_counts: SampleCountFlags,
pub max_sample_mask_words: u32,
pub timestamp_compute_and_graphics: bool,
pub timestamp_period: f32,
pub max_clip_distances: u32,
pub max_cull_distances: u32,
pub max_combined_clip_and_cull_distances: u32,
pub discrete_queue_priorities: u32,
pub point_size_range: [f32; 2],
pub line_width_range: [f32; 2],
pub point_size_granularity: f32,
pub line_width_granularity: f32,
pub strict_lines: bool,
pub standard_sample_locations: bool,
pub optimal_buffer_copy_offset_alignment: DeviceSize,
pub optimal_buffer_copy_row_pitch_alignment: DeviceSize,
pub non_coherent_atom_size: DeviceSize,
}Expand description
Description of Vulkan 1.0 limits.
Fields§
§max_image_dimension1_d: u32The largest dimension (width) that is guaranteed to be supported for all images created
with an image type of vk::ImageType::TYPE_1D.
Some combinations of image parameters (format, usage, etc.) may allow support for larger
dimensions, which can be queried using
PhysicalDevice::image_format_properties.
max_image_dimension2_d: u32The largest dimension (width or height) that is guaranteed to be supported for all images
created with an image type of vk::ImageType::TYPE_2D and without
vk::ImageCreateFlags::CUBE_COMPATIBLE set in
ImageInfo::flags.
Some combinations of image parameters (format, usage, etc.) may allow support for larger
dimensions, which can be queried using
PhysicalDevice::image_format_properties.
max_image_dimension3_d: u32The largest dimension (width, height, or depth) that is guaranteed to be supported for all
images created with an image type of vk::ImageType::TYPE_3D.
Some combinations of image parameters (format, usage, etc.) may allow support for larger
dimensions, which can be queried using
PhysicalDevice::image_format_properties.
max_image_dimension_cube: u32The largest dimension (width or height) that is guaranteed to be supported for all images
created with an image type of vk::ImageType::TYPE_2D and with
vk::ImageCreateFlags::CUBE_COMPATIBLE set in
ImageInfo::flags.
Some combinations of image parameters (format, usage, etc.) may allow support for larger
dimensions, which can be queried using
PhysicalDevice::image_format_properties.
max_image_array_layers: u32The maximum number of layers
(ImageInfo::array_layer_count) for an
image.
max_texel_buffer_elements: u32The maximum number of addressable texels for a buffer view created on a buffer which was
created with the vk::BufferUsageFlags::UNIFORM_TEXEL_BUFFER or
vk::BufferUsageFlags::STORAGE_TEXEL_BUFFER set in
BufferInfo::usage.
max_uniform_buffer_range: u32The maximum range, in bytes, for a uniform buffer binding.
max_storage_buffer_range: u32The maximum range, in bytes, for a storage buffer binding.
max_push_constants_size: u32The maximum size, in bytes, of the push constant storage available to a pipeline layout.
max_memory_allocation_count: u32The maximum number of simultaneously active device memory allocations.
max_sampler_allocation_count: u32The maximum number of sampler objects that may exist at one time.
buffer_image_granularity: DeviceSizeThe required granularity, in bytes, for aliasing linear and optimal resources in memory.
sparse_address_space_size: DeviceSizeThe maximum size, in bytes, of the address space available for sparse resources.
max_bound_descriptor_sets: u32The maximum number of descriptor sets that can be bound simultaneously.
max_per_stage_descriptor_samplers: u32The maximum number of sampler descriptors accessible from a single shader stage.
max_per_stage_descriptor_uniform_buffers: u32The maximum number of uniform buffer descriptors accessible from a single shader stage.
max_per_stage_descriptor_storage_buffers: u32The maximum number of storage buffer descriptors accessible from a single shader stage.
max_per_stage_descriptor_sampled_images: u32The maximum number of sampled image descriptors accessible from a single shader stage.
max_per_stage_descriptor_storage_images: u32The maximum number of storage image descriptors accessible from a single shader stage.
max_per_stage_descriptor_input_attachments: u32The maximum number of input attachment descriptors accessible from a single shader stage.
max_per_stage_resources: u32The maximum total number of resources accessible from a single shader stage.
max_descriptor_set_samplers: u32The maximum number of sampler descriptors available across a single descriptor set.
max_descriptor_set_uniform_buffers: u32The maximum number of uniform buffer descriptors available across a single descriptor set.
max_descriptor_set_uniform_buffers_dynamic: u32The maximum number of dynamic uniform buffer descriptors available across a descriptor set.
max_descriptor_set_storage_buffers: u32The maximum number of storage buffer descriptors available across a single descriptor set.
max_descriptor_set_storage_buffers_dynamic: u32The maximum number of dynamic storage buffer descriptors available across a descriptor set.
max_descriptor_set_sampled_images: u32The maximum number of sampled image descriptors available across a single descriptor set.
max_descriptor_set_storage_images: u32The maximum number of storage image descriptors available across a single descriptor set.
max_descriptor_set_input_attachments: u32The maximum number of input attachment descriptors available across a descriptor set.
max_vertex_input_attributes: u32The maximum number of vertex input attributes for a graphics pipeline.
max_vertex_input_bindings: u32The maximum number of vertex input bindings for a graphics pipeline.
max_vertex_input_attribute_offset: u32The maximum offset, in bytes, allowed for a vertex input attribute.
max_vertex_input_binding_stride: u32The maximum stride, in bytes, for a vertex input binding.
max_vertex_output_components: u32The maximum number of components output by the vertex stage.
max_tessellation_generation_level: u32The maximum tessellation generation level.
max_tessellation_patch_size: u32The maximum number of control points in a tessellation patch.
max_tessellation_control_per_vertex_input_components: u32The maximum number of per-vertex input components to tessellation control shaders.
max_tessellation_control_per_vertex_output_components: u32The maximum number of per-vertex output components from tessellation control shaders.
max_tessellation_control_per_patch_output_components: u32The maximum number of per-patch output components from tessellation control shaders.
max_tessellation_control_total_output_components: u32The maximum total number of output components from tessellation control shaders.
max_tessellation_evaluation_input_components: u32The maximum number of input components to tessellation evaluation shaders.
max_tessellation_evaluation_output_components: u32The maximum number of output components from tessellation evaluation shaders.
max_geometry_shader_invocations: u32The maximum number of geometry shader invocations per primitive.
max_geometry_input_components: u32The maximum number of input components to geometry shaders.
max_geometry_output_components: u32The maximum number of output components from geometry shaders.
max_geometry_output_vertices: u32The maximum number of vertices a geometry shader may emit.
max_geometry_total_output_components: u32The maximum total number of output components from a geometry shader invocation.
max_fragment_input_components: u32The maximum number of input components to fragment shaders.
max_fragment_output_attachments: u32The maximum number of color attachments written by a fragment shader.
max_fragment_dual_src_attachments: u32The maximum number of dual-source attachments written by a fragment shader.
max_fragment_combined_output_resources: u32The maximum combined number of fragment shader output resources.
The maximum amount of shared memory, in bytes, available to a compute workgroup.
max_compute_work_group_count: [u32; 3]The maximum workgroup counts for compute dispatch in each dimension.
max_compute_work_group_invocations: u32The maximum total number of invocations in a single compute workgroup.
max_compute_work_group_size: [u32; 3]The maximum workgroup size for compute dispatch in each dimension.
sub_pixel_precision_bits: u32The number of bits of sub-pixel precision in framebuffer coordinates.
sub_texel_precision_bits: u32The number of bits of sub-texel precision for image sampling.
mipmap_precision_bits: u32The number of bits of precision available for mipmap level selection.
max_draw_indexed_index_value: u32The maximum value of an index used with indexed drawing.
max_draw_indirect_count: u32The maximum number of draws executed by an indirect draw-count command.
max_sampler_lod_bias: f32The maximum absolute value of sampler LOD bias.
max_sampler_anisotropy: f32The maximum sampler anisotropy level.
max_viewports: u32The maximum number of simultaneously active viewports.
max_viewport_dimensions: [u32; 2]The maximum viewport width and height.
viewport_bounds_range: [f32; 2]The minimum and maximum supported viewport bounds.
viewport_sub_pixel_bits: u32The number of bits of precision for viewport sub-pixel coordinates.
min_memory_map_alignment: usizeThe minimum alignment, in bytes, of host pointer values passed to mapping functions.
min_texel_buffer_offset_alignment: DeviceSizeThe minimum alignment, in bytes, for texel buffer offsets.
min_uniform_buffer_offset_alignment: DeviceSizeThe minimum alignment, in bytes, for uniform buffer offsets.
min_storage_buffer_offset_alignment: DeviceSizeThe minimum alignment, in bytes, for storage buffer offsets.
min_texel_offset: i32The minimum offset allowed for texel fetch operations.
max_texel_offset: u32The maximum offset allowed for texel fetch operations.
min_texel_gather_offset: i32The minimum offset allowed for texel gather operations.
max_texel_gather_offset: u32The maximum offset allowed for texel gather operations.
min_interpolation_offset: f32The minimum interpolation offset supported by the implementation.
max_interpolation_offset: f32The maximum interpolation offset supported by the implementation.
sub_pixel_interpolation_offset_bits: u32The number of bits of sub-pixel precision for interpolation offsets.
max_framebuffer_width: u32The maximum framebuffer width.
max_framebuffer_height: u32The maximum framebuffer height.
max_framebuffer_layers: u32The maximum number of framebuffer layers.
framebuffer_color_sample_counts: SampleCountFlagsThe sample counts supported for color framebuffer attachments.
framebuffer_depth_sample_counts: SampleCountFlagsThe sample counts supported for depth framebuffer attachments.
framebuffer_stencil_sample_counts: SampleCountFlagsThe sample counts supported for stencil framebuffer attachments.
framebuffer_no_attachments_sample_counts: SampleCountFlagsThe sample counts supported for framebuffers with no attachments.
max_color_attachments: u32The maximum number of color attachments in a framebuffer.
sampled_image_color_sample_counts: SampleCountFlagsThe sample counts supported for sampled color images.
sampled_image_integer_sample_counts: SampleCountFlagsThe sample counts supported for sampled integer images.
sampled_image_depth_sample_counts: SampleCountFlagsThe sample counts supported for sampled depth images.
sampled_image_stencil_sample_counts: SampleCountFlagsThe sample counts supported for sampled stencil images.
storage_image_sample_counts: SampleCountFlagsThe sample counts supported for storage images.
max_sample_mask_words: u32The maximum number of words in a sample mask.
timestamp_compute_and_graphics: boolTrue if timestamps are supported in both graphics and compute queues.
timestamp_period: f32The number of nanoseconds per timestamp increment.
max_clip_distances: u32The maximum number of clip distances.
max_cull_distances: u32The maximum number of cull distances.
max_combined_clip_and_cull_distances: u32The maximum combined number of clip and cull distances.
discrete_queue_priorities: u32The number of discrete queue priorities supported by the implementation.
point_size_range: [f32; 2]The supported range of point sizes.
line_width_range: [f32; 2]The supported range of line widths.
point_size_granularity: f32The granularity of point-size values.
line_width_granularity: f32The granularity of line-width values.
strict_lines: boolTrue if line rasterization follows strict diamond-exit rules.
standard_sample_locations: boolTrue if standard sample locations are supported.
optimal_buffer_copy_offset_alignment: DeviceSizeThe optimal alignment, in bytes, for buffer copy source and destination offsets.
optimal_buffer_copy_row_pitch_alignment: DeviceSizeThe optimal alignment, in bytes, for buffer copy row pitch values.
non_coherent_atom_size: DeviceSizeThe non-coherent atom size, in bytes, used for host cache management.
Trait Implementations§
Source§impl Clone for Vulkan10Limits
impl Clone for Vulkan10Limits
Source§fn clone(&self) -> Vulkan10Limits
fn clone(&self) -> Vulkan10Limits
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more