pub struct Features {Show 377 fields
pub acceleration_structure: bool,
pub acceleration_structure_capture_replay: bool,
pub acceleration_structure_host_commands: bool,
pub acceleration_structure_indirect_build: bool,
pub advanced_blend_coherent_operations: bool,
pub alpha_to_one: bool,
pub amigo_profiling: bool,
pub attachment_feedback_loop_dynamic_state: bool,
pub attachment_feedback_loop_layout: bool,
pub attachment_fragment_shading_rate: bool,
pub border_color_swizzle: bool,
pub border_color_swizzle_from_image: bool,
pub bresenham_lines: bool,
pub buffer_device_address: bool,
pub buffer_device_address_capture_replay: bool,
pub buffer_device_address_multi_device: bool,
pub clusterculling_shader: bool,
pub color_write_enable: bool,
pub compute_derivative_group_linear: bool,
pub compute_derivative_group_quads: bool,
pub compute_full_subgroups: bool,
pub conditional_rendering: bool,
pub constant_alpha_color_blend_factors: bool,
pub cooperative_matrix: bool,
pub cooperative_matrix_robust_buffer_access: bool,
pub corner_sampled_image: bool,
pub coverage_reduction_mode: bool,
pub custom_border_color_without_format: bool,
pub custom_border_colors: bool,
pub decode_mode_shared_exponent: bool,
pub dedicated_allocation_image_aliasing: bool,
pub depth_bias_clamp: bool,
pub depth_bounds: bool,
pub depth_clamp: bool,
pub depth_clamp_zero_one: bool,
pub depth_clip_control: bool,
pub depth_clip_enable: bool,
pub descriptor_binding_acceleration_structure_update_after_bind: bool,
pub descriptor_binding_inline_uniform_block_update_after_bind: bool,
pub descriptor_binding_partially_bound: bool,
pub descriptor_binding_sampled_image_update_after_bind: bool,
pub descriptor_binding_storage_buffer_update_after_bind: bool,
pub descriptor_binding_storage_image_update_after_bind: bool,
pub descriptor_binding_storage_texel_buffer_update_after_bind: bool,
pub descriptor_binding_uniform_buffer_update_after_bind: bool,
pub descriptor_binding_uniform_texel_buffer_update_after_bind: bool,
pub descriptor_binding_update_unused_while_pending: bool,
pub descriptor_binding_variable_descriptor_count: bool,
pub descriptor_buffer: bool,
pub descriptor_buffer_capture_replay: bool,
pub descriptor_buffer_image_layout_ignored: bool,
pub descriptor_buffer_push_descriptors: bool,
pub descriptor_indexing: bool,
pub descriptor_set_host_mapping: bool,
pub device_coherent_memory: bool,
pub device_fault: bool,
pub device_fault_vendor_binary: bool,
pub device_generated_commands: bool,
pub device_memory_report: bool,
pub diagnostics_config: bool,
pub displacement_micromap: bool,
pub draw_indirect_count: bool,
pub draw_indirect_first_instance: bool,
pub dual_src_blend: bool,
pub dynamic_rendering: bool,
pub dynamic_rendering_unused_attachments: bool,
pub events: bool,
pub exclusive_scissor: bool,
pub extended_dynamic_state: bool,
pub extended_dynamic_state2: bool,
pub extended_dynamic_state2_logic_op: bool,
pub extended_dynamic_state2_patch_control_points: bool,
pub extended_dynamic_state3_alpha_to_coverage_enable: bool,
pub extended_dynamic_state3_alpha_to_one_enable: bool,
pub extended_dynamic_state3_color_blend_advanced: bool,
pub extended_dynamic_state3_color_blend_enable: bool,
pub extended_dynamic_state3_color_blend_equation: bool,
pub extended_dynamic_state3_color_write_mask: bool,
pub extended_dynamic_state3_conservative_rasterization_mode: bool,
pub extended_dynamic_state3_coverage_modulation_mode: bool,
pub extended_dynamic_state3_coverage_modulation_table: bool,
pub extended_dynamic_state3_coverage_modulation_table_enable: bool,
pub extended_dynamic_state3_coverage_reduction_mode: bool,
pub extended_dynamic_state3_coverage_to_color_enable: bool,
pub extended_dynamic_state3_coverage_to_color_location: bool,
pub extended_dynamic_state3_depth_clamp_enable: bool,
pub extended_dynamic_state3_depth_clip_enable: bool,
pub extended_dynamic_state3_depth_clip_negative_one_to_one: bool,
pub extended_dynamic_state3_extra_primitive_overestimation_size: bool,
pub extended_dynamic_state3_line_rasterization_mode: bool,
pub extended_dynamic_state3_line_stipple_enable: bool,
pub extended_dynamic_state3_logic_op_enable: bool,
pub extended_dynamic_state3_polygon_mode: bool,
pub extended_dynamic_state3_provoking_vertex_mode: bool,
pub extended_dynamic_state3_rasterization_samples: bool,
pub extended_dynamic_state3_rasterization_stream: bool,
pub extended_dynamic_state3_representative_fragment_test_enable: bool,
pub extended_dynamic_state3_sample_locations_enable: bool,
pub extended_dynamic_state3_sample_mask: bool,
pub extended_dynamic_state3_shading_rate_image_enable: bool,
pub extended_dynamic_state3_tessellation_domain_origin: bool,
pub extended_dynamic_state3_viewport_swizzle: bool,
pub extended_dynamic_state3_viewport_w_scaling_enable: bool,
pub external_memory_rdma: bool,
pub fill_mode_non_solid: bool,
pub format_a4b4g4r4: bool,
pub format_a4r4g4b4: bool,
pub format_rgba10x6_without_y_cb_cr_sampler: bool,
pub fragment_density_map: bool,
pub fragment_density_map_deferred: bool,
pub fragment_density_map_dynamic: bool,
pub fragment_density_map_non_subsampled_images: bool,
pub fragment_density_map_offset: bool,
pub fragment_shader_barycentric: bool,
pub fragment_shader_pixel_interlock: bool,
pub fragment_shader_sample_interlock: bool,
pub fragment_shader_shading_rate_interlock: bool,
pub fragment_shading_rate_enums: bool,
pub fragment_stores_and_atomics: bool,
pub full_draw_index_uint32: bool,
pub geometry_shader: bool,
pub geometry_streams: bool,
pub global_priority_query: bool,
pub graphics_pipeline_library: bool,
pub host_query_reset: bool,
pub image2_d_view_of3_d: bool,
pub image_compression_control: bool,
pub image_compression_control_swapchain: bool,
pub image_cube_array: bool,
pub image_footprint: bool,
pub image_sliced_view_of3_d: bool,
pub image_view2_d_on3_d_image: bool,
pub image_view_format_reinterpretation: bool,
pub image_view_format_swizzle: bool,
pub imageless_framebuffer: bool,
pub independent_blend: bool,
pub index_type_uint8: bool,
pub indirect_copy: bool,
pub inherited_conditional_rendering: bool,
pub inherited_queries: bool,
pub inherited_viewport_scissor2_d: bool,
pub inline_uniform_block: bool,
pub invocation_mask: bool,
pub large_points: bool,
pub legacy_dithering: bool,
pub linear_color_attachment: bool,
pub logic_op: bool,
pub maintenance4: bool,
pub memory_decompression: bool,
pub memory_priority: bool,
pub mesh_shader: bool,
pub mesh_shader_queries: bool,
pub micromap: bool,
pub micromap_capture_replay: bool,
pub micromap_host_commands: bool,
pub min_lod: bool,
pub multi_draw: bool,
pub multi_draw_indirect: bool,
pub multi_viewport: bool,
pub multisample_array_image: bool,
pub multisampled_render_to_single_sampled: bool,
pub multiview: bool,
pub multiview_cluster_culling_shader: bool,
pub multiview_geometry_shader: bool,
pub multiview_mesh_shader: bool,
pub multiview_per_view_render_areas: bool,
pub multiview_per_view_viewports: bool,
pub multiview_tessellation_shader: bool,
pub mutable_comparison_samplers: bool,
pub mutable_descriptor_type: bool,
pub no_invocation_fragment_shading_rates: bool,
pub non_seamless_cube_map: bool,
pub null_descriptor: bool,
pub occlusion_query_precise: bool,
pub optical_flow: bool,
pub pageable_device_local_memory: bool,
pub performance_counter_multiple_query_pools: bool,
pub performance_counter_query_pools: bool,
pub pipeline_creation_cache_control: bool,
pub pipeline_executable_info: bool,
pub pipeline_fragment_shading_rate: bool,
pub pipeline_library_group_handles: bool,
pub pipeline_properties_identifier: bool,
pub pipeline_protected_access: bool,
pub pipeline_robustness: bool,
pub pipeline_statistics_query: bool,
pub point_polygons: bool,
pub present_barrier: bool,
pub present_id: bool,
pub present_wait: bool,
pub primitive_fragment_shading_rate: bool,
pub primitive_fragment_shading_rate_mesh_shader: bool,
pub primitive_topology_list_restart: bool,
pub primitive_topology_patch_list_restart: bool,
pub primitives_generated_query: bool,
pub primitives_generated_query_with_non_zero_streams: bool,
pub primitives_generated_query_with_rasterizer_discard: bool,
pub private_data: bool,
pub protected_memory: bool,
pub provoking_vertex_last: bool,
pub rasterization_order_color_attachment_access: bool,
pub rasterization_order_depth_attachment_access: bool,
pub rasterization_order_stencil_attachment_access: bool,
pub ray_query: bool,
pub ray_tracing_invocation_reorder: bool,
pub ray_tracing_maintenance1: bool,
pub ray_tracing_motion_blur: bool,
pub ray_tracing_motion_blur_pipeline_trace_rays_indirect: bool,
pub ray_tracing_pipeline: bool,
pub ray_tracing_pipeline_shader_group_handle_capture_replay: bool,
pub ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: bool,
pub ray_tracing_pipeline_trace_rays_indirect: bool,
pub ray_tracing_pipeline_trace_rays_indirect2: bool,
pub ray_tracing_position_fetch: bool,
pub ray_traversal_primitive_culling: bool,
pub rectangular_lines: bool,
pub report_address_binding: bool,
pub representative_fragment_test: bool,
pub robust_buffer_access: bool,
pub robust_buffer_access2: bool,
pub robust_image_access: bool,
pub robust_image_access2: bool,
pub runtime_descriptor_array: bool,
pub sample_rate_shading: bool,
pub sampler2_d_view_of3_d: bool,
pub sampler_anisotropy: bool,
pub sampler_filter_minmax: bool,
pub sampler_mip_lod_bias: bool,
pub sampler_mirror_clamp_to_edge: bool,
pub sampler_ycbcr_conversion: bool,
pub scalar_block_layout: bool,
pub separate_depth_stencil_layouts: bool,
pub separate_stencil_mask_ref: bool,
pub shader_buffer_float16_atomic_add: bool,
pub shader_buffer_float16_atomic_min_max: bool,
pub shader_buffer_float16_atomics: bool,
pub shader_buffer_float32_atomic_add: bool,
pub shader_buffer_float32_atomic_min_max: bool,
pub shader_buffer_float32_atomics: bool,
pub shader_buffer_float64_atomic_add: bool,
pub shader_buffer_float64_atomic_min_max: bool,
pub shader_buffer_float64_atomics: bool,
pub shader_buffer_int64_atomics: bool,
pub shader_clip_distance: bool,
pub shader_core_builtins: bool,
pub shader_cull_distance: bool,
pub shader_demote_to_helper_invocation: bool,
pub shader_device_clock: bool,
pub shader_draw_parameters: bool,
pub shader_early_and_late_fragment_tests: bool,
pub shader_float16: bool,
pub shader_float64: bool,
pub shader_image_float32_atomic_add: bool,
pub shader_image_float32_atomic_min_max: bool,
pub shader_image_float32_atomics: bool,
pub shader_image_gather_extended: bool,
pub shader_image_int64_atomics: bool,
pub shader_input_attachment_array_dynamic_indexing: bool,
pub shader_input_attachment_array_non_uniform_indexing: bool,
pub shader_int16: bool,
pub shader_int64: bool,
pub shader_int8: bool,
pub shader_integer_dot_product: bool,
pub shader_integer_functions2: bool,
pub shader_module_identifier: bool,
pub shader_object: bool,
pub shader_output_layer: bool,
pub shader_output_viewport_index: bool,
pub shader_resource_min_lod: bool,
pub shader_resource_residency: bool,
pub shader_sample_rate_interpolation_functions: bool,
pub shader_sampled_image_array_dynamic_indexing: bool,
pub shader_sampled_image_array_non_uniform_indexing: bool,
pub shader_shared_float16_atomic_add: bool,
pub shader_shared_float16_atomic_min_max: bool,
pub shader_shared_float16_atomics: bool,
pub shader_shared_float32_atomic_add: bool,
pub shader_shared_float32_atomic_min_max: bool,
pub shader_shared_float32_atomics: bool,
pub shader_shared_float64_atomic_add: bool,
pub shader_shared_float64_atomic_min_max: bool,
pub shader_shared_float64_atomics: bool,
pub shader_shared_int64_atomics: bool,
pub shader_sm_builtins: bool,
pub shader_storage_buffer_array_dynamic_indexing: bool,
pub shader_storage_buffer_array_non_uniform_indexing: bool,
pub shader_storage_image_array_dynamic_indexing: bool,
pub shader_storage_image_array_non_uniform_indexing: bool,
pub shader_storage_image_extended_formats: bool,
pub shader_storage_image_multisample: bool,
pub shader_storage_image_read_without_format: bool,
pub shader_storage_image_write_without_format: bool,
pub shader_storage_texel_buffer_array_dynamic_indexing: bool,
pub shader_storage_texel_buffer_array_non_uniform_indexing: bool,
pub shader_subgroup_clock: bool,
pub shader_subgroup_extended_types: bool,
pub shader_subgroup_uniform_control_flow: bool,
pub shader_terminate_invocation: bool,
pub shader_tessellation_and_geometry_point_size: bool,
pub shader_tile_image_color_read_access: bool,
pub shader_tile_image_depth_read_access: bool,
pub shader_tile_image_stencil_read_access: bool,
pub shader_uniform_buffer_array_dynamic_indexing: bool,
pub shader_uniform_buffer_array_non_uniform_indexing: bool,
pub shader_uniform_texel_buffer_array_dynamic_indexing: bool,
pub shader_uniform_texel_buffer_array_non_uniform_indexing: bool,
pub shader_zero_initialize_workgroup_memory: bool,
pub shading_rate_coarse_sample_order: bool,
pub shading_rate_image: bool,
pub smooth_lines: bool,
pub sparse_binding: bool,
pub sparse_image_float32_atomic_add: bool,
pub sparse_image_float32_atomic_min_max: bool,
pub sparse_image_float32_atomics: bool,
pub sparse_image_int64_atomics: bool,
pub sparse_residency16_samples: bool,
pub sparse_residency2_samples: bool,
pub sparse_residency4_samples: bool,
pub sparse_residency8_samples: bool,
pub sparse_residency_aliased: bool,
pub sparse_residency_buffer: bool,
pub sparse_residency_image2_d: bool,
pub sparse_residency_image3_d: bool,
pub stippled_bresenham_lines: bool,
pub stippled_rectangular_lines: bool,
pub stippled_smooth_lines: bool,
pub storage_buffer16_bit_access: bool,
pub storage_buffer8_bit_access: bool,
pub storage_input_output16: bool,
pub storage_push_constant16: bool,
pub storage_push_constant8: bool,
pub subgroup_broadcast_dynamic_id: bool,
pub subgroup_size_control: bool,
pub subpass_merge_feedback: bool,
pub subpass_shading: bool,
pub supersample_fragment_shading_rates: bool,
pub swapchain_maintenance1: bool,
pub synchronization2: bool,
pub task_shader: bool,
pub tessellation_isolines: bool,
pub tessellation_point_mode: bool,
pub tessellation_shader: bool,
pub texel_buffer_alignment: bool,
pub texture_block_match: bool,
pub texture_box_filter: bool,
pub texture_compression_astc_hdr: bool,
pub texture_compression_astc_ldr: bool,
pub texture_compression_bc: bool,
pub texture_compression_etc2: bool,
pub texture_sample_weighted: bool,
pub tile_properties: bool,
pub timeline_semaphore: bool,
pub transform_feedback: bool,
pub transform_feedback_preserves_provoking_vertex: bool,
pub triangle_fans: bool,
pub uniform_and_storage_buffer16_bit_access: bool,
pub uniform_and_storage_buffer8_bit_access: bool,
pub uniform_buffer_standard_layout: bool,
pub variable_multisample_rate: bool,
pub variable_pointers: bool,
pub variable_pointers_storage_buffer: bool,
pub vertex_attribute_access_beyond_stride: bool,
pub vertex_attribute_instance_rate_divisor: bool,
pub vertex_attribute_instance_rate_zero_divisor: bool,
pub vertex_input_dynamic_state: bool,
pub vertex_pipeline_stores_and_atomics: bool,
pub vulkan_memory_model: bool,
pub vulkan_memory_model_availability_visibility_chains: bool,
pub vulkan_memory_model_device_scope: bool,
pub wide_lines: bool,
pub workgroup_memory_explicit_layout: bool,
pub workgroup_memory_explicit_layout16_bit_access: bool,
pub workgroup_memory_explicit_layout8_bit_access: bool,
pub workgroup_memory_explicit_layout_scalar_block_layout: bool,
pub ycbcr2plane444_formats: bool,
pub ycbcr_image_arrays: bool,
pub _ne: NonExhaustive,
}
Expand description
Represents all the features that are available on a physical device or enabled on a logical device.
Note that the robust_buffer_access
is guaranteed to be supported by all Vulkan
implementations.
Examples
use vulkano::device::Features;
let minimal_features = Features {
geometry_shader: true,
..Features::empty()
};
let optimal_features = vulkano::device::Features {
geometry_shader: true,
tessellation_shader: true,
..Features::empty()
};
if !physical_device.supported_features().is_superset_of(&minimal_features) {
panic!("The physical device is not good enough for this application.");
}
assert!(optimal_features.is_superset_of(&minimal_features));
let features_to_request = optimal_features.intersection(physical_device.supported_features());
Fields§
§acceleration_structure: bool
§acceleration_structure_capture_replay: bool
§acceleration_structure_host_commands: bool
§acceleration_structure_indirect_build: bool
§advanced_blend_coherent_operations: bool
§alpha_to_one: bool
§amigo_profiling: bool
§attachment_feedback_loop_dynamic_state: bool
§attachment_feedback_loop_layout: bool
§attachment_fragment_shading_rate: bool
- Vulkan documentation
- Conflicts with features:
shading_rate_image
,fragment_density_map
border_color_swizzle: bool
§border_color_swizzle_from_image: bool
§bresenham_lines: bool
§buffer_device_address: bool
§buffer_device_address_capture_replay: bool
§buffer_device_address_multi_device: bool
§clusterculling_shader: bool
§color_write_enable: bool
§compute_derivative_group_linear: bool
§compute_derivative_group_quads: bool
§compute_full_subgroups: bool
§conditional_rendering: bool
§constant_alpha_color_blend_factors: bool
§cooperative_matrix: bool
§cooperative_matrix_robust_buffer_access: bool
§corner_sampled_image: bool
§coverage_reduction_mode: bool
§custom_border_color_without_format: bool
§custom_border_colors: bool
§dedicated_allocation_image_aliasing: bool
§depth_bias_clamp: bool
§depth_bounds: bool
§depth_clamp: bool
§depth_clamp_zero_one: bool
§depth_clip_control: bool
§depth_clip_enable: bool
§descriptor_binding_acceleration_structure_update_after_bind: bool
§descriptor_binding_inline_uniform_block_update_after_bind: bool
§descriptor_binding_partially_bound: bool
§descriptor_binding_sampled_image_update_after_bind: bool
§descriptor_binding_storage_buffer_update_after_bind: bool
§descriptor_binding_storage_image_update_after_bind: bool
§descriptor_binding_storage_texel_buffer_update_after_bind: bool
§descriptor_binding_uniform_buffer_update_after_bind: bool
§descriptor_binding_uniform_texel_buffer_update_after_bind: bool
§descriptor_binding_update_unused_while_pending: bool
§descriptor_binding_variable_descriptor_count: bool
§descriptor_buffer: bool
§descriptor_buffer_capture_replay: bool
§descriptor_buffer_image_layout_ignored: bool
§descriptor_buffer_push_descriptors: bool
§descriptor_indexing: bool
- Vulkan documentation
- Required by device extension:
ext_descriptor_indexing
descriptor_set_host_mapping: bool
§device_coherent_memory: bool
§device_fault: bool
§device_fault_vendor_binary: bool
§device_generated_commands: bool
§device_memory_report: bool
§diagnostics_config: bool
§displacement_micromap: bool
§draw_indirect_count: bool
- Vulkan documentation
- Required by device extension:
khr_draw_indirect_count
draw_indirect_first_instance: bool
§dual_src_blend: bool
§dynamic_rendering: bool
§dynamic_rendering_unused_attachments: bool
§events: bool
§exclusive_scissor: bool
§extended_dynamic_state: bool
§extended_dynamic_state2: bool
§extended_dynamic_state2_logic_op: bool
§extended_dynamic_state2_patch_control_points: bool
§extended_dynamic_state3_alpha_to_coverage_enable: bool
§extended_dynamic_state3_alpha_to_one_enable: bool
§extended_dynamic_state3_color_blend_advanced: bool
§extended_dynamic_state3_color_blend_enable: bool
§extended_dynamic_state3_color_blend_equation: bool
§extended_dynamic_state3_color_write_mask: bool
§extended_dynamic_state3_conservative_rasterization_mode: bool
§extended_dynamic_state3_coverage_modulation_mode: bool
§extended_dynamic_state3_coverage_modulation_table: bool
§extended_dynamic_state3_coverage_modulation_table_enable: bool
§extended_dynamic_state3_coverage_reduction_mode: bool
§extended_dynamic_state3_coverage_to_color_enable: bool
§extended_dynamic_state3_coverage_to_color_location: bool
§extended_dynamic_state3_depth_clamp_enable: bool
§extended_dynamic_state3_depth_clip_enable: bool
§extended_dynamic_state3_depth_clip_negative_one_to_one: bool
§extended_dynamic_state3_extra_primitive_overestimation_size: bool
§extended_dynamic_state3_line_rasterization_mode: bool
§extended_dynamic_state3_line_stipple_enable: bool
§extended_dynamic_state3_logic_op_enable: bool
§extended_dynamic_state3_polygon_mode: bool
§extended_dynamic_state3_provoking_vertex_mode: bool
§extended_dynamic_state3_rasterization_samples: bool
§extended_dynamic_state3_rasterization_stream: bool
§extended_dynamic_state3_representative_fragment_test_enable: bool
§extended_dynamic_state3_sample_locations_enable: bool
§extended_dynamic_state3_sample_mask: bool
§extended_dynamic_state3_shading_rate_image_enable: bool
§extended_dynamic_state3_tessellation_domain_origin: bool
§extended_dynamic_state3_viewport_swizzle: bool
§extended_dynamic_state3_viewport_w_scaling_enable: bool
§external_memory_rdma: bool
§fill_mode_non_solid: bool
§format_a4b4g4r4: bool
§format_a4r4g4b4: bool
§format_rgba10x6_without_y_cb_cr_sampler: bool
§fragment_density_map: bool
- Vulkan documentation
- Conflicts with features:
pipeline_fragment_shading_rate
,primitive_fragment_shading_rate
,attachment_fragment_shading_rate
fragment_density_map_deferred: bool
§fragment_density_map_dynamic: bool
§fragment_density_map_non_subsampled_images: bool
§fragment_density_map_offset: bool
§fragment_shader_barycentric: bool
§fragment_shader_pixel_interlock: bool
§fragment_shader_sample_interlock: bool
§fragment_shader_shading_rate_interlock: bool
§fragment_shading_rate_enums: bool
§fragment_stores_and_atomics: bool
§full_draw_index_uint32: bool
§geometry_shader: bool
§geometry_streams: bool
§global_priority_query: bool
§graphics_pipeline_library: bool
§host_query_reset: bool
§image2_d_view_of3_d: bool
§image_compression_control: bool
§image_compression_control_swapchain: bool
§image_cube_array: bool
§image_footprint: bool
§image_sliced_view_of3_d: bool
§image_view2_d_on3_d_image: bool
§image_view_format_reinterpretation: bool
§image_view_format_swizzle: bool
§imageless_framebuffer: bool
§independent_blend: bool
§index_type_uint8: bool
§indirect_copy: bool
§inherited_conditional_rendering: bool
§inherited_queries: bool
§inherited_viewport_scissor2_d: bool
§inline_uniform_block: bool
§invocation_mask: bool
§large_points: bool
§legacy_dithering: bool
§linear_color_attachment: bool
§logic_op: bool
§maintenance4: bool
§memory_decompression: bool
§memory_priority: bool
§mesh_shader: bool
§mesh_shader_queries: bool
§micromap: bool
§micromap_capture_replay: bool
§micromap_host_commands: bool
§min_lod: bool
§multi_draw: bool
§multi_draw_indirect: bool
§multi_viewport: bool
§multisample_array_image: bool
§multisampled_render_to_single_sampled: bool
§multiview: bool
§multiview_cluster_culling_shader: bool
§multiview_geometry_shader: bool
§multiview_mesh_shader: bool
§multiview_per_view_render_areas: bool
§multiview_per_view_viewports: bool
§multiview_tessellation_shader: bool
§mutable_comparison_samplers: bool
§mutable_descriptor_type: bool
§no_invocation_fragment_shading_rates: bool
§non_seamless_cube_map: bool
§null_descriptor: bool
§occlusion_query_precise: bool
§optical_flow: bool
§pageable_device_local_memory: bool
§performance_counter_multiple_query_pools: bool
§performance_counter_query_pools: bool
§pipeline_creation_cache_control: bool
§pipeline_executable_info: bool
§pipeline_fragment_shading_rate: bool
- Vulkan documentation
- Conflicts with features:
shading_rate_image
,fragment_density_map
pipeline_library_group_handles: bool
§pipeline_properties_identifier: bool
§pipeline_protected_access: bool
§pipeline_robustness: bool
§pipeline_statistics_query: bool
§point_polygons: bool
§present_barrier: bool
§present_id: bool
§present_wait: bool
§primitive_fragment_shading_rate: bool
- Vulkan documentation
- Conflicts with features:
shading_rate_image
,fragment_density_map
primitive_fragment_shading_rate_mesh_shader: bool
§primitive_topology_list_restart: bool
§primitive_topology_patch_list_restart: bool
§primitives_generated_query: bool
§primitives_generated_query_with_non_zero_streams: bool
§primitives_generated_query_with_rasterizer_discard: bool
§private_data: bool
§protected_memory: bool
§provoking_vertex_last: bool
§rasterization_order_color_attachment_access: bool
§rasterization_order_depth_attachment_access: bool
§rasterization_order_stencil_attachment_access: bool
§ray_query: bool
§ray_tracing_invocation_reorder: bool
§ray_tracing_maintenance1: bool
§ray_tracing_motion_blur: bool
§ray_tracing_motion_blur_pipeline_trace_rays_indirect: bool
§ray_tracing_pipeline: bool
§ray_tracing_pipeline_shader_group_handle_capture_replay: bool
§ray_tracing_pipeline_shader_group_handle_capture_replay_mixed: bool
§ray_tracing_pipeline_trace_rays_indirect: bool
§ray_tracing_pipeline_trace_rays_indirect2: bool
§ray_tracing_position_fetch: bool
§ray_traversal_primitive_culling: bool
§rectangular_lines: bool
§report_address_binding: bool
§representative_fragment_test: bool
§robust_buffer_access: bool
§robust_buffer_access2: bool
§robust_image_access: bool
§robust_image_access2: bool
§runtime_descriptor_array: bool
§sample_rate_shading: bool
§sampler2_d_view_of3_d: bool
§sampler_anisotropy: bool
§sampler_filter_minmax: bool
- Vulkan documentation
- Required by device extension:
ext_sampler_filter_minmax
sampler_mip_lod_bias: bool
§sampler_mirror_clamp_to_edge: bool
- Vulkan documentation
- Required by device extension:
khr_sampler_mirror_clamp_to_edge
sampler_ycbcr_conversion: bool
§scalar_block_layout: bool
§separate_depth_stencil_layouts: bool
§separate_stencil_mask_ref: bool
§shader_buffer_float16_atomic_add: bool
§shader_buffer_float16_atomic_min_max: bool
§shader_buffer_float16_atomics: bool
§shader_buffer_float32_atomic_add: bool
§shader_buffer_float32_atomic_min_max: bool
§shader_buffer_float32_atomics: bool
§shader_buffer_float64_atomic_add: bool
§shader_buffer_float64_atomic_min_max: bool
§shader_buffer_float64_atomics: bool
§shader_buffer_int64_atomics: bool
§shader_clip_distance: bool
§shader_core_builtins: bool
§shader_cull_distance: bool
§shader_demote_to_helper_invocation: bool
§shader_device_clock: bool
§shader_draw_parameters: bool
- Vulkan documentation
- Required by device extension:
khr_shader_draw_parameters
shader_early_and_late_fragment_tests: bool
§shader_float16: bool
§shader_float64: bool
§shader_image_float32_atomic_add: bool
§shader_image_float32_atomic_min_max: bool
§shader_image_float32_atomics: bool
§shader_image_gather_extended: bool
§shader_image_int64_atomics: bool
§shader_input_attachment_array_dynamic_indexing: bool
§shader_input_attachment_array_non_uniform_indexing: bool
§shader_int16: bool
§shader_int64: bool
§shader_int8: bool
§shader_integer_dot_product: bool
§shader_integer_functions2: bool
§shader_module_identifier: bool
§shader_object: bool
§shader_output_layer: bool
- Vulkan documentation
- Required by device extension:
ext_shader_viewport_index_layer
shader_output_viewport_index: bool
- Vulkan documentation
- Required by device extension:
ext_shader_viewport_index_layer
shader_resource_min_lod: bool
§shader_resource_residency: bool
§shader_sample_rate_interpolation_functions: bool
§shader_sampled_image_array_dynamic_indexing: bool
§shader_sampled_image_array_non_uniform_indexing: bool
§shader_sm_builtins: bool
§shader_storage_buffer_array_dynamic_indexing: bool
§shader_storage_buffer_array_non_uniform_indexing: bool
§shader_storage_image_array_dynamic_indexing: bool
§shader_storage_image_array_non_uniform_indexing: bool
§shader_storage_image_extended_formats: bool
§shader_storage_image_multisample: bool
§shader_storage_image_read_without_format: bool
§shader_storage_image_write_without_format: bool
§shader_storage_texel_buffer_array_dynamic_indexing: bool
§shader_storage_texel_buffer_array_non_uniform_indexing: bool
§shader_subgroup_clock: bool
§shader_subgroup_extended_types: bool
§shader_subgroup_uniform_control_flow: bool
§shader_terminate_invocation: bool
§shader_tessellation_and_geometry_point_size: bool
§shader_tile_image_color_read_access: bool
§shader_tile_image_depth_read_access: bool
§shader_tile_image_stencil_read_access: bool
§shader_uniform_buffer_array_dynamic_indexing: bool
§shader_uniform_buffer_array_non_uniform_indexing: bool
§shader_uniform_texel_buffer_array_dynamic_indexing: bool
§shader_uniform_texel_buffer_array_non_uniform_indexing: bool
§shader_zero_initialize_workgroup_memory: bool
§shading_rate_coarse_sample_order: bool
§shading_rate_image: bool
- Vulkan documentation
- Conflicts with features:
pipeline_fragment_shading_rate
,primitive_fragment_shading_rate
,attachment_fragment_shading_rate
smooth_lines: bool
§sparse_binding: bool
§sparse_image_float32_atomic_add: bool
- Vulkan documentation
- Requires feature:
shader_image_float32_atomic_add
sparse_image_float32_atomic_min_max: bool
- Vulkan documentation
- Requires feature:
shader_image_float32_atomic_min_max
sparse_image_float32_atomics: bool
- Vulkan documentation
- Requires feature:
shader_image_float32_atomics
sparse_image_int64_atomics: bool
- Vulkan documentation
- Requires feature:
shader_image_int64_atomics
sparse_residency16_samples: bool
§sparse_residency2_samples: bool
§sparse_residency4_samples: bool
§sparse_residency8_samples: bool
§sparse_residency_aliased: bool
§sparse_residency_buffer: bool
§sparse_residency_image2_d: bool
§sparse_residency_image3_d: bool
§stippled_bresenham_lines: bool
§stippled_rectangular_lines: bool
§stippled_smooth_lines: bool
§storage_buffer16_bit_access: bool
§storage_buffer8_bit_access: bool
§storage_input_output16: bool
§storage_push_constant16: bool
§storage_push_constant8: bool
§subgroup_broadcast_dynamic_id: bool
§subgroup_size_control: bool
§subpass_merge_feedback: bool
§subpass_shading: bool
§supersample_fragment_shading_rates: bool
§swapchain_maintenance1: bool
§synchronization2: bool
§task_shader: bool
§tessellation_isolines: bool
§tessellation_point_mode: bool
§tessellation_shader: bool
§texel_buffer_alignment: bool
§texture_block_match: bool
§texture_box_filter: bool
§texture_compression_astc_hdr: bool
§texture_compression_astc_ldr: bool
§texture_compression_bc: bool
§texture_compression_etc2: bool
§texture_sample_weighted: bool
§tile_properties: bool
§timeline_semaphore: bool
§transform_feedback: bool
§transform_feedback_preserves_provoking_vertex: bool
§triangle_fans: bool
§uniform_and_storage_buffer16_bit_access: bool
§uniform_and_storage_buffer8_bit_access: bool
§uniform_buffer_standard_layout: bool
§variable_multisample_rate: bool
§variable_pointers: bool
§variable_pointers_storage_buffer: bool
§vertex_attribute_access_beyond_stride: bool
§vertex_attribute_instance_rate_divisor: bool
§vertex_attribute_instance_rate_zero_divisor: bool
§vertex_input_dynamic_state: bool
§vertex_pipeline_stores_and_atomics: bool
§vulkan_memory_model: bool
§vulkan_memory_model_availability_visibility_chains: bool
§vulkan_memory_model_device_scope: bool
§wide_lines: bool
§workgroup_memory_explicit_layout: bool
§workgroup_memory_explicit_layout16_bit_access: bool
§workgroup_memory_explicit_layout8_bit_access: bool
§workgroup_memory_explicit_layout_scalar_block_layout: bool
§ycbcr2plane444_formats: bool
§ycbcr_image_arrays: bool
§_ne: NonExhaustive
Implementations§
source§impl Features
impl Features
sourcepub const fn none() -> Self
👎Deprecated since 0.31.0: use empty
instead
pub const fn none() -> Self
empty
insteadReturns an Features
object with none of the members set.
sourcepub const fn intersects(&self, other: &Self) -> bool
pub const fn intersects(&self, other: &Self) -> bool
Returns whether any members are set in both self
and other
.
sourcepub const fn contains(&self, other: &Self) -> bool
pub const fn contains(&self, other: &Self) -> bool
Returns whether all members in other
are set in self
.
sourcepub const fn is_superset_of(&self, other: &Self) -> bool
👎Deprecated since 0.31.0: use contains
instead
pub const fn is_superset_of(&self, other: &Self) -> bool
contains
insteadReturns whether all members in other
are set in self
.
sourcepub const fn intersection(&self, other: &Self) -> Self
pub const fn intersection(&self, other: &Self) -> Self
Returns the intersection of self
and other
.
sourcepub const fn difference(&self, other: &Self) -> Self
pub const fn difference(&self, other: &Self) -> Self
Returns self
without the members set in other
.
sourcepub const fn symmetric_difference(&self, other: &Self) -> Self
pub const fn symmetric_difference(&self, other: &Self) -> Self
Returns the members set in self
or other
, but not both.
Trait Implementations§
source§impl BitAndAssign for Features
impl BitAndAssign for Features
source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
Performs the
&=
operation. Read moresource§impl BitOrAssign for Features
impl BitOrAssign for Features
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|=
operation. Read moresource§impl BitXorAssign for Features
impl BitXorAssign for Features
source§fn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
Performs the
^=
operation. Read moresource§impl IntoIterator for Features
impl IntoIterator for Features
source§impl PartialEq for Features
impl PartialEq for Features
source§impl SubAssign for Features
impl SubAssign for Features
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moreimpl Copy for Features
impl Eq for Features
impl StructuralEq for Features
impl StructuralPartialEq for Features
Auto Trait Implementations§
impl RefUnwindSafe for Features
impl Send for Features
impl Sync for Features
impl Unpin for Features
impl UnwindSafe for Features
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more