Skip to main content

Vulkan10Limits

Struct Vulkan10Limits 

Source
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.

See VkPhysicalDeviceLimits.

Fields§

§max_image_dimension1_d: u32

The 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: u32

The 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: u32

The 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: u32

The 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: u32

The maximum number of layers (ImageInfo::array_layer_count) for an image.

§max_texel_buffer_elements: u32

The 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: u32

The maximum range, in bytes, for a uniform buffer binding.

§max_storage_buffer_range: u32

The maximum range, in bytes, for a storage buffer binding.

§max_push_constants_size: u32

The maximum size, in bytes, of the push constant storage available to a pipeline layout.

§max_memory_allocation_count: u32

The maximum number of simultaneously active device memory allocations.

§max_sampler_allocation_count: u32

The maximum number of sampler objects that may exist at one time.

§buffer_image_granularity: DeviceSize

The required granularity, in bytes, for aliasing linear and optimal resources in memory.

§sparse_address_space_size: DeviceSize

The maximum size, in bytes, of the address space available for sparse resources.

§max_bound_descriptor_sets: u32

The maximum number of descriptor sets that can be bound simultaneously.

§max_per_stage_descriptor_samplers: u32

The maximum number of sampler descriptors accessible from a single shader stage.

§max_per_stage_descriptor_uniform_buffers: u32

The maximum number of uniform buffer descriptors accessible from a single shader stage.

§max_per_stage_descriptor_storage_buffers: u32

The maximum number of storage buffer descriptors accessible from a single shader stage.

§max_per_stage_descriptor_sampled_images: u32

The maximum number of sampled image descriptors accessible from a single shader stage.

§max_per_stage_descriptor_storage_images: u32

The maximum number of storage image descriptors accessible from a single shader stage.

§max_per_stage_descriptor_input_attachments: u32

The maximum number of input attachment descriptors accessible from a single shader stage.

§max_per_stage_resources: u32

The maximum total number of resources accessible from a single shader stage.

§max_descriptor_set_samplers: u32

The maximum number of sampler descriptors available across a single descriptor set.

§max_descriptor_set_uniform_buffers: u32

The maximum number of uniform buffer descriptors available across a single descriptor set.

§max_descriptor_set_uniform_buffers_dynamic: u32

The maximum number of dynamic uniform buffer descriptors available across a descriptor set.

§max_descriptor_set_storage_buffers: u32

The maximum number of storage buffer descriptors available across a single descriptor set.

§max_descriptor_set_storage_buffers_dynamic: u32

The maximum number of dynamic storage buffer descriptors available across a descriptor set.

§max_descriptor_set_sampled_images: u32

The maximum number of sampled image descriptors available across a single descriptor set.

§max_descriptor_set_storage_images: u32

The maximum number of storage image descriptors available across a single descriptor set.

§max_descriptor_set_input_attachments: u32

The maximum number of input attachment descriptors available across a descriptor set.

§max_vertex_input_attributes: u32

The maximum number of vertex input attributes for a graphics pipeline.

§max_vertex_input_bindings: u32

The maximum number of vertex input bindings for a graphics pipeline.

§max_vertex_input_attribute_offset: u32

The maximum offset, in bytes, allowed for a vertex input attribute.

§max_vertex_input_binding_stride: u32

The maximum stride, in bytes, for a vertex input binding.

§max_vertex_output_components: u32

The maximum number of components output by the vertex stage.

§max_tessellation_generation_level: u32

The maximum tessellation generation level.

§max_tessellation_patch_size: u32

The maximum number of control points in a tessellation patch.

§max_tessellation_control_per_vertex_input_components: u32

The maximum number of per-vertex input components to tessellation control shaders.

§max_tessellation_control_per_vertex_output_components: u32

The maximum number of per-vertex output components from tessellation control shaders.

§max_tessellation_control_per_patch_output_components: u32

The maximum number of per-patch output components from tessellation control shaders.

§max_tessellation_control_total_output_components: u32

The maximum total number of output components from tessellation control shaders.

§max_tessellation_evaluation_input_components: u32

The maximum number of input components to tessellation evaluation shaders.

§max_tessellation_evaluation_output_components: u32

The maximum number of output components from tessellation evaluation shaders.

§max_geometry_shader_invocations: u32

The maximum number of geometry shader invocations per primitive.

§max_geometry_input_components: u32

The maximum number of input components to geometry shaders.

§max_geometry_output_components: u32

The maximum number of output components from geometry shaders.

§max_geometry_output_vertices: u32

The maximum number of vertices a geometry shader may emit.

§max_geometry_total_output_components: u32

The maximum total number of output components from a geometry shader invocation.

§max_fragment_input_components: u32

The maximum number of input components to fragment shaders.

§max_fragment_output_attachments: u32

The maximum number of color attachments written by a fragment shader.

§max_fragment_dual_src_attachments: u32

The maximum number of dual-source attachments written by a fragment shader.

§max_fragment_combined_output_resources: u32

The maximum combined number of fragment shader output resources.

§max_compute_shared_memory_size: u32

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: u32

The 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: u32

The number of bits of sub-pixel precision in framebuffer coordinates.

§sub_texel_precision_bits: u32

The number of bits of sub-texel precision for image sampling.

§mipmap_precision_bits: u32

The number of bits of precision available for mipmap level selection.

§max_draw_indexed_index_value: u32

The maximum value of an index used with indexed drawing.

§max_draw_indirect_count: u32

The maximum number of draws executed by an indirect draw-count command.

§max_sampler_lod_bias: f32

The maximum absolute value of sampler LOD bias.

§max_sampler_anisotropy: f32

The maximum sampler anisotropy level.

§max_viewports: u32

The 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: u32

The number of bits of precision for viewport sub-pixel coordinates.

§min_memory_map_alignment: usize

The minimum alignment, in bytes, of host pointer values passed to mapping functions.

§min_texel_buffer_offset_alignment: DeviceSize

The minimum alignment, in bytes, for texel buffer offsets.

§min_uniform_buffer_offset_alignment: DeviceSize

The minimum alignment, in bytes, for uniform buffer offsets.

§min_storage_buffer_offset_alignment: DeviceSize

The minimum alignment, in bytes, for storage buffer offsets.

§min_texel_offset: i32

The minimum offset allowed for texel fetch operations.

§max_texel_offset: u32

The maximum offset allowed for texel fetch operations.

§min_texel_gather_offset: i32

The minimum offset allowed for texel gather operations.

§max_texel_gather_offset: u32

The maximum offset allowed for texel gather operations.

§min_interpolation_offset: f32

The minimum interpolation offset supported by the implementation.

§max_interpolation_offset: f32

The maximum interpolation offset supported by the implementation.

§sub_pixel_interpolation_offset_bits: u32

The number of bits of sub-pixel precision for interpolation offsets.

§max_framebuffer_width: u32

The maximum framebuffer width.

§max_framebuffer_height: u32

The maximum framebuffer height.

§max_framebuffer_layers: u32

The maximum number of framebuffer layers.

§framebuffer_color_sample_counts: SampleCountFlags

The sample counts supported for color framebuffer attachments.

§framebuffer_depth_sample_counts: SampleCountFlags

The sample counts supported for depth framebuffer attachments.

§framebuffer_stencil_sample_counts: SampleCountFlags

The sample counts supported for stencil framebuffer attachments.

§framebuffer_no_attachments_sample_counts: SampleCountFlags

The sample counts supported for framebuffers with no attachments.

§max_color_attachments: u32

The maximum number of color attachments in a framebuffer.

§sampled_image_color_sample_counts: SampleCountFlags

The sample counts supported for sampled color images.

§sampled_image_integer_sample_counts: SampleCountFlags

The sample counts supported for sampled integer images.

§sampled_image_depth_sample_counts: SampleCountFlags

The sample counts supported for sampled depth images.

§sampled_image_stencil_sample_counts: SampleCountFlags

The sample counts supported for sampled stencil images.

§storage_image_sample_counts: SampleCountFlags

The sample counts supported for storage images.

§max_sample_mask_words: u32

The maximum number of words in a sample mask.

§timestamp_compute_and_graphics: bool

True if timestamps are supported in both graphics and compute queues.

§timestamp_period: f32

The number of nanoseconds per timestamp increment.

§max_clip_distances: u32

The maximum number of clip distances.

§max_cull_distances: u32

The maximum number of cull distances.

§max_combined_clip_and_cull_distances: u32

The maximum combined number of clip and cull distances.

§discrete_queue_priorities: u32

The 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: f32

The granularity of point-size values.

§line_width_granularity: f32

The granularity of line-width values.

§strict_lines: bool

True if line rasterization follows strict diamond-exit rules.

§standard_sample_locations: bool

True if standard sample locations are supported.

§optimal_buffer_copy_offset_alignment: DeviceSize

The optimal alignment, in bytes, for buffer copy source and destination offsets.

§optimal_buffer_copy_row_pitch_alignment: DeviceSize

The optimal alignment, in bytes, for buffer copy row pitch values.

§non_coherent_atom_size: DeviceSize

The non-coherent atom size, in bytes, used for host cache management.

Trait Implementations§

Source§

impl Clone for Vulkan10Limits

Source§

fn clone(&self) -> Vulkan10Limits

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for Vulkan10Limits

Source§

impl Debug for Vulkan10Limits

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<PhysicalDeviceLimits> for Vulkan10Limits

Source§

fn from(limits: PhysicalDeviceLimits) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.