pub struct Features {Show 364 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_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 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 draw_indirect_count: bool,
pub draw_indirect_first_instance: bool,
pub dual_src_blend: bool,
pub dynamic_rendering: 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_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_geometry_shader: bool,
pub multiview_mesh_shader: 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_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_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_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_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_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
§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
§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
§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_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_geometry_shader: bool
§multiview_mesh_shader: 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_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_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_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_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
instead.Returns 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
instead.Returns 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<Features> for Features
impl BitAndAssign<Features> for Features
source§fn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
Performs the
&=
operation. Read moresource§impl BitOrAssign<Features> for Features
impl BitOrAssign<Features> for Features
source§fn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|=
operation. Read moresource§impl BitXorAssign<Features> for Features
impl BitXorAssign<Features> 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<Features> for Features
impl PartialEq<Features> for Features
source§impl SubAssign<Features> for Features
impl SubAssign<Features> for Features
source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read more