Struct gfx_hal::Limits [−][src]
Resource limits of a particular graphics device.
Fields
max_image_1d_size: SizeMaximum supported image 1D size.
max_image_2d_size: SizeMaximum supported image 2D size.
max_image_3d_size: SizeMaximum supported image 3D size.
max_image_cube_size: SizeMaximum supported image cube size.
max_image_array_layers: LayerMaximum supporter image array size.
max_texel_elements: usizeMaximum number of elements for the BufferView to see.
max_uniform_buffer_range: Offsetmax_storage_buffer_range: Offsetmax_push_constants_size: usizemax_memory_allocation_count: usizemax_sampler_allocation_count: usizemax_bound_descriptor_sets: DescriptorSetIndexmax_framebuffer_layers: usizemax_per_stage_descriptor_samplers: usizemax_per_stage_descriptor_uniform_buffers: usizemax_per_stage_descriptor_storage_buffers: usizemax_per_stage_descriptor_sampled_images: usizemax_per_stage_descriptor_storage_images: usizemax_per_stage_descriptor_input_attachments: usizemax_per_stage_resources: usizemax_descriptor_set_samplers: usizemax_descriptor_set_uniform_buffers: usizemax_descriptor_set_uniform_buffers_dynamic: usizemax_descriptor_set_storage_buffers: usizemax_descriptor_set_storage_buffers_dynamic: usizemax_descriptor_set_sampled_images: usizemax_descriptor_set_storage_images: usizemax_descriptor_set_input_attachments: usizemax_vertex_input_attributes: usizeMaximum number of vertex input attributes that can be specified for a graphics pipeline.
max_vertex_input_bindings: usizeMaximum number of vertex buffers that can be specified for providing vertex attributes to a graphics pipeline.
max_vertex_input_attribute_offset: usizeMaximum vertex input attribute offset that can be added to the vertex input binding stride.
max_vertex_input_binding_stride: usizeMaximum vertex input binding stride that can be specified in a vertex input binding.
max_vertex_output_components: usizeMaximum number of components of output variables which can be output by a vertex shader.
max_patch_size: PatchSizeMaximum number of vertices for each patch.
max_geometry_shader_invocations: usizemax_geometry_input_components: usizemax_geometry_output_components: usizemax_geometry_output_vertices: usizemax_geometry_total_output_components: usizemax_fragment_input_components: usizemax_fragment_output_attachments: usizemax_fragment_dual_source_attachments: usizemax_fragment_combined_output_resources: usizemax_compute_work_group_count: WorkGroupCountmax_compute_work_group_invocations: usizemax_compute_work_group_size: [u32; 3]max_draw_indexed_index_value: IndexCountmax_draw_indirect_count: InstanceCountmax_sampler_lod_bias: f32max_sampler_anisotropy: f32Maximum degree of sampler anisotropy.
max_viewports: usizeMaximum number of viewports.
max_viewport_dimensions: [Size; 2]max_framebuffer_extent: Extentmin_memory_map_alignment: usizebuffer_image_granularity: Offsetmin_texel_buffer_offset_alignment: OffsetThe alignment of the start of buffer used as a texel buffer, in bytes, non-zero.
min_uniform_buffer_offset_alignment: OffsetThe alignment of the start of buffer used for uniform buffer updates, in bytes, non-zero.
min_storage_buffer_offset_alignment: OffsetThe alignment of the start of buffer used as a storage buffer, in bytes, non-zero.
framebuffer_color_sample_counts: NumSamplesNumber of samples supported for color attachments of framebuffers (floating/fixed point).
framebuffer_depth_sample_counts: NumSamplesNumber of samples supported for depth attachments of framebuffers.
framebuffer_stencil_sample_counts: NumSamplesNumber of samples supported for stencil attachments of framebuffers.
timestamp_compute_and_graphics: boolTimestamp queries are supported on all compute and graphics queues.
timestamp_period: f32The amount of nanoseconds that causes a timestamp query value to increment by one.
max_color_attachments: usizeMaximum number of color attachments that can be used by a subpass in a render pass.
standard_sample_locations: booloptimal_buffer_copy_offset_alignment: OffsetThe alignment of the start of the buffer used as a GPU copy source, in bytes, non-zero.
optimal_buffer_copy_pitch_alignment: OffsetThe 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: usizeSize and alignment in bytes that bounds concurrent access to host-mapped device memory.
min_vertex_input_binding_stride_alignment: OffsetThe alignment of the vertex buffer stride.
max_draw_mesh_tasks_count: u32The maximum number of local workgroups that can be launched by a single draw mesh tasks command
max_task_work_group_invocations: u32The 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: u32The maximum number of bytes that the task shader can use in total for shared and output memory combined.
max_task_output_count: u32The maximum number of output tasks a single task shader workgroup can emit.
max_mesh_work_group_invocations: u32The 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: u32The maximum number of bytes that the mesh shader can use in total for shared and output memory combined.
max_mesh_output_vertices: u32The maximum number of vertices a mesh shader output can store.
max_mesh_output_primitives: u32The maximum number of primitives a mesh shader output can store.
max_mesh_multiview_view_count: u32The maximum number of multi-view views a mesh shader can use.
mesh_output_per_vertex_granularity: u32The 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: u32The 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[src]
impl Send for Limits[src]
impl Sync for Limits[src]
impl Unpin for Limits[src]
impl UnwindSafe for Limits[src]
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,
pub 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.
pub fn to_owned(&self) -> T[src]
pub 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.
pub 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>,