[−][src]Struct gfx_hal::Limits
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
max_per_stage_descriptor_samplers: usize
max_per_stage_descriptor_uniform_buffers: usize
max_per_stage_descriptor_storage_buffers: usize
max_per_stage_descriptor_sampled_images: usize
max_per_stage_descriptor_storage_images: usize
max_per_stage_descriptor_input_attachments: usize
max_per_stage_resources: usize
max_descriptor_set_samplers: usize
max_descriptor_set_uniform_buffers: usize
max_descriptor_set_uniform_buffers_dynamic: usize
max_descriptor_set_storage_buffers: usize
max_descriptor_set_storage_buffers_dynamic: usize
max_descriptor_set_sampled_images: usize
max_descriptor_set_storage_images: usize
max_descriptor_set_input_attachments: usize
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_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.
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.
max_draw_mesh_tasks_count: u32
The maximum number of local workgroups that can be launched by a single draw mesh tasks command
max_task_work_group_invocations: u32
The maximum total number of task shader invocations in a single local workgroup. The product of the X, Y, and Z sizes, as specified by the LocalSize execution mode in shader modules or by the object decorated by the WorkgroupSize decoration, must be less than or equal to this limit.
max_task_work_group_size: [u32; 3]
The maximum size of a local task workgroup. These three values represent the maximum local workgroup size in the X, Y, and Z dimensions, respectively. The x, y, and z sizes, as specified by the LocalSize execution mode or by the object decorated by the WorkgroupSize decoration in shader modules, must be less than or equal to the corresponding limit.
max_task_total_memory_size: u32
The maximum number of bytes that the task shader can use in total for shared and output memory combined.
max_task_output_count: u32
The maximum number of output tasks a single task shader workgroup can emit.
max_mesh_work_group_invocations: u32
The maximum total number of mesh shader invocations in a single local workgroup. The product of the X, Y, and Z sizes, as specified by the LocalSize execution mode in shader modules or by the object decorated by the WorkgroupSize decoration, must be less than or equal to this limit.
max_mesh_work_group_size: [u32; 3]
The maximum size of a local mesh workgroup. These three values represent the maximum local workgroup size in the X, Y, and Z dimensions, respectively. The x, y, and z sizes, as specified by the LocalSize execution mode or by the object decorated by the WorkgroupSize decoration in shader modules, must be less than or equal to the corresponding limit.
max_mesh_total_memory_size: u32
The maximum number of bytes that the mesh shader can use in total for shared and output memory combined.
max_mesh_output_vertices: u32
The maximum number of vertices a mesh shader output can store.
max_mesh_output_primitives: u32
The maximum number of primitives a mesh shader output can store.
max_mesh_multiview_view_count: u32
The maximum number of multi-view views a mesh shader can use.
mesh_output_per_vertex_granularity: u32
The granularity with which mesh vertex outputs are allocated. The value can be used to compute the memory size used by the mesh shader, which must be less than or equal to maxMeshTotalMemorySize.
mesh_output_per_primitive_granularity: u32
The granularity with which mesh outputs qualified as per-primitive are allocated. The value can be used to compute the memory size used by the mesh shader, which must be less than or equal to
Trait Implementations
impl Clone for Limits
[src]
impl Copy for Limits
[src]
impl Debug for Limits
[src]
impl Default for Limits
[src]
impl PartialEq<Limits> for Limits
[src]
impl StructuralPartialEq for Limits
[src]
Auto Trait Implementations
impl RefUnwindSafe for Limits
impl Send for Limits
impl Sync for Limits
impl Unpin for Limits
impl UnwindSafe for Limits
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,