gfx_hal

Struct Limits

Source
pub struct Limits {
Show 55 fields pub max_image_1d_size: Size, pub max_image_2d_size: Size, pub max_image_3d_size: Size, pub max_image_cube_size: Size, pub max_image_array_layers: Layer, pub max_texel_elements: usize, pub max_uniform_buffer_range: Offset, pub max_storage_buffer_range: Offset, pub max_push_constants_size: usize, pub max_memory_allocation_count: usize, pub max_sampler_allocation_count: usize, pub max_bound_descriptor_sets: DescriptorSetIndex, pub max_framebuffer_layers: usize, pub descriptor_limits: DescriptorLimits, pub max_vertex_input_attributes: usize, pub max_vertex_input_bindings: usize, pub max_vertex_input_attribute_offset: usize, pub max_vertex_input_binding_stride: usize, pub max_vertex_output_components: usize, pub max_patch_size: PatchSize, pub max_geometry_shader_invocations: usize, pub max_geometry_input_components: usize, pub max_geometry_output_components: usize, pub max_geometry_output_vertices: usize, pub max_geometry_total_output_components: usize, pub max_fragment_input_components: usize, pub max_fragment_output_attachments: usize, pub max_fragment_dual_source_attachments: usize, pub max_fragment_combined_output_resources: usize, pub max_compute_shared_memory_size: usize, pub max_compute_work_group_count: WorkGroupCount, pub max_compute_work_group_invocations: usize, pub max_compute_work_group_size: [u32; 3], pub max_draw_indexed_index_value: IndexCount, pub max_draw_indirect_count: InstanceCount, pub max_sampler_lod_bias: f32, pub max_sampler_anisotropy: f32, pub max_viewports: usize, pub max_viewport_dimensions: [Size; 2], pub max_framebuffer_extent: Extent, pub min_memory_map_alignment: usize, pub buffer_image_granularity: Offset, pub min_texel_buffer_offset_alignment: Offset, pub min_uniform_buffer_offset_alignment: Offset, pub min_storage_buffer_offset_alignment: Offset, pub framebuffer_color_sample_counts: NumSamples, pub framebuffer_depth_sample_counts: NumSamples, pub framebuffer_stencil_sample_counts: NumSamples, pub timestamp_compute_and_graphics: bool, pub max_color_attachments: usize, pub standard_sample_locations: bool, pub optimal_buffer_copy_offset_alignment: Offset, pub optimal_buffer_copy_pitch_alignment: Offset, pub non_coherent_atom_size: usize, pub min_vertex_input_binding_stride_alignment: Offset,
}
Expand description

Resource limits of a particular graphics device.

Fields§

§max_image_1d_size: Size

Maximum supported image 1D size.

§max_image_2d_size: Size

Maximum supported image 2D size.

§max_image_3d_size: Size

Maximum supported image 3D size.

§max_image_cube_size: Size

Maximum supported image cube size.

§max_image_array_layers: Layer

Maximum supporter image array size.

§max_texel_elements: usize

Maximum number of elements for the BufferView to see.

§max_uniform_buffer_range: Offset
§max_storage_buffer_range: Offset
§max_push_constants_size: usize
§max_memory_allocation_count: usize
§max_sampler_allocation_count: usize
§max_bound_descriptor_sets: DescriptorSetIndex
§max_framebuffer_layers: usize
§descriptor_limits: DescriptorLimits
§max_vertex_input_attributes: usize

Maximum number of vertex input attributes that can be specified for a graphics pipeline.

§max_vertex_input_bindings: usize

Maximum number of vertex buffers that can be specified for providing vertex attributes to a graphics pipeline.

§max_vertex_input_attribute_offset: usize

Maximum vertex input attribute offset that can be added to the vertex input binding stride.

§max_vertex_input_binding_stride: usize

Maximum vertex input binding stride that can be specified in a vertex input binding.

§max_vertex_output_components: usize

Maximum number of components of output variables which can be output by a vertex shader.

§max_patch_size: PatchSize

Maximum number of vertices for each patch.

§max_geometry_shader_invocations: usize
§max_geometry_input_components: usize
§max_geometry_output_components: usize
§max_geometry_output_vertices: usize
§max_geometry_total_output_components: usize
§max_fragment_input_components: usize
§max_fragment_output_attachments: usize
§max_fragment_dual_source_attachments: usize
§max_fragment_combined_output_resources: usize
§max_compute_shared_memory_size: usize
§max_compute_work_group_count: WorkGroupCount
§max_compute_work_group_invocations: usize
§max_compute_work_group_size: [u32; 3]
§max_draw_indexed_index_value: IndexCount
§max_draw_indirect_count: InstanceCount
§max_sampler_lod_bias: f32
§max_sampler_anisotropy: f32

Maximum degree of sampler anisotropy.

§max_viewports: usize

Maximum number of viewports.

§max_viewport_dimensions: [Size; 2]
§max_framebuffer_extent: Extent
§min_memory_map_alignment: usize
§buffer_image_granularity: Offset
§min_texel_buffer_offset_alignment: Offset

The alignment of the start of buffer used as a texel buffer, in bytes, non-zero.

§min_uniform_buffer_offset_alignment: Offset

The alignment of the start of buffer used for uniform buffer updates, in bytes, non-zero.

§min_storage_buffer_offset_alignment: Offset

The alignment of the start of buffer used as a storage buffer, in bytes, non-zero.

§framebuffer_color_sample_counts: NumSamples

Number of samples supported for color attachments of framebuffers (floating/fixed point).

§framebuffer_depth_sample_counts: NumSamples

Number of samples supported for depth attachments of framebuffers.

§framebuffer_stencil_sample_counts: NumSamples

Number of samples supported for stencil attachments of framebuffers.

§timestamp_compute_and_graphics: bool

Timestamp queries are supported on all compute and graphics queues.

§max_color_attachments: usize

Maximum number of color attachments that can be used by a subpass in a render pass.

§standard_sample_locations: bool
§optimal_buffer_copy_offset_alignment: Offset

The alignment of the start of the buffer used as a GPU copy source, in bytes, non-zero.

§optimal_buffer_copy_pitch_alignment: Offset

The alignment of the row pitch of the texture data stored in a buffer that is used in a GPU copy operation, in bytes, non-zero.

§non_coherent_atom_size: usize

Size and alignment in bytes that bounds concurrent access to host-mapped device memory.

§min_vertex_input_binding_stride_alignment: Offset

The alignment of the vertex buffer stride.

Trait Implementations§

Source§

impl Clone for Limits

Source§

fn clone(&self) -> Limits

Returns a copy of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for Limits

Source§

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

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

impl Default for Limits

Source§

fn default() -> Limits

Returns the “default value” for a type. Read more
Source§

impl PartialEq for Limits

Source§

fn eq(&self, other: &Limits) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Limits

Source§

impl StructuralPartialEq for Limits

Auto Trait Implementations§

§

impl Freeze for Limits

§

impl RefUnwindSafe for Limits

§

impl Send for Limits

§

impl Sync for Limits

§

impl Unpin for Limits

§

impl UnwindSafe for Limits

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<T> CloneToUninit for T
where T: Clone,

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> 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.