Struct vulkano::device::Features

source ·
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§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§decode_mode_shared_exponent: 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
§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
§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§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§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§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
§sampler_mip_lod_bias: bool§sampler_mirror_clamp_to_edge: bool§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
§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§shader_output_viewport_index: bool§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_shared_float16_atomic_add: bool§shader_shared_float16_atomic_min_max: bool§shader_shared_float16_atomics: bool§shader_shared_float32_atomic_add: bool§shader_shared_float32_atomic_min_max: bool§shader_shared_float32_atomics: bool§shader_shared_float64_atomic_add: bool§shader_shared_float64_atomic_min_max: bool§shader_shared_float64_atomics: bool§shader_shared_int64_atomics: 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§smooth_lines: bool§sparse_binding: bool§sparse_image_float32_atomic_add: bool§sparse_image_float32_atomic_min_max: bool§sparse_image_float32_atomics: bool§sparse_image_int64_atomics: bool§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

source

pub const fn empty() -> Self

Returns an Features object with none of the members set.

source

pub const fn none() -> Self

👎Deprecated since 0.31.0: use empty instead

Returns an Features object with none of the members set.

source

pub const fn intersects(&self, other: &Self) -> bool

Returns whether any members are set in both self and other.

source

pub const fn contains(&self, other: &Self) -> bool

Returns whether all members in other are set in self.

source

pub const fn is_superset_of(&self, other: &Self) -> bool

👎Deprecated since 0.31.0: use contains instead

Returns whether all members in other are set in self.

source

pub const fn union(&self, other: &Self) -> Self

Returns the union of self and other.

source

pub const fn intersection(&self, other: &Self) -> Self

Returns the intersection of self and other.

source

pub const fn difference(&self, other: &Self) -> Self

Returns self without the members set in other.

source

pub const fn symmetric_difference(&self, other: &Self) -> Self

Returns the members set in self or other, but not both.

Trait Implementations§

source§

impl BitAnd for Features

§

type Output = Features

The resulting type after applying the & operator.
source§

fn bitand(self, rhs: Self) -> Self::Output

Performs the & operation. Read more
source§

impl BitAndAssign for Features

source§

fn bitand_assign(&mut self, rhs: Self)

Performs the &= operation. Read more
source§

impl BitOr for Features

§

type Output = Features

The resulting type after applying the | operator.
source§

fn bitor(self, rhs: Self) -> Self::Output

Performs the | operation. Read more
source§

impl BitOrAssign for Features

source§

fn bitor_assign(&mut self, rhs: Self)

Performs the |= operation. Read more
source§

impl BitXor for Features

§

type Output = Features

The resulting type after applying the ^ operator.
source§

fn bitxor(self, rhs: Self) -> Self::Output

Performs the ^ operation. Read more
source§

impl BitXorAssign for Features

source§

fn bitxor_assign(&mut self, rhs: Self)

Performs the ^= operation. Read more
source§

impl Clone for Features

source§

fn clone(&self) -> Features

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 Features

source§

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

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

impl Default for Features

source§

fn default() -> Self

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

impl Hash for Features

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl IntoIterator for Features

§

type Item = (&'static str, bool)

The type of the elements being iterated over.
§

type IntoIter = IntoIter<<Features as IntoIterator>::Item, 376>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
source§

impl PartialEq for Features

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Sub for Features

§

type Output = Features

The resulting type after applying the - operator.
source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
source§

impl SubAssign for Features

source§

fn sub_assign(&mut self, rhs: Self)

Performs the -= operation. Read more
source§

impl Copy for Features

source§

impl Eq for Features

source§

impl StructuralEq for Features

source§

impl StructuralPartialEq for Features

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

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

Mutably borrows from an owned value. 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 Twhere 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 Twhere T: Clone,

§

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 Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.