pub struct Features {Show 286 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 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_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_indexing: bool,
pub descriptor_set_host_mapping: bool,
pub device_coherent_memory: 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 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 host_query_reset: 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 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 linear_color_attachment: bool,
pub logic_op: bool,
pub maintenance4: bool,
pub memory_priority: bool,
pub mesh_shader: bool,
pub min_lod: bool,
pub multi_draw: bool,
pub multi_draw_indirect: bool,
pub multi_viewport: bool,
pub multisample_array_image: bool,
pub multiview: bool,
pub multiview_geometry_shader: bool,
pub multiview_tessellation_shader: bool,
pub mutable_comparison_samplers: bool,
pub mutable_descriptor_type: bool,
pub no_invocation_fragment_shading_rates: bool,
pub null_descriptor: bool,
pub occlusion_query_precise: 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_statistics_query: bool,
pub point_polygons: bool,
pub present_id: bool,
pub present_wait: bool,
pub primitive_fragment_shading_rate: bool,
pub primitive_topology_list_restart: bool,
pub primitive_topology_patch_list_restart: 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_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_traversal_primitive_culling: bool,
pub rectangular_lines: 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 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_cull_distance: bool,
pub shader_demote_to_helper_invocation: bool,
pub shader_device_clock: bool,
pub shader_draw_parameters: 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_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_shading: bool,
pub supersample_fragment_shading_rates: 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_compression_astc_hdr: bool,
pub texture_compression_astc_ldr: bool,
pub texture_compression_bc: bool,
pub texture_compression_etc2: 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
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_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_indexing: bool
- Vulkan documentation
- Required by device extension:
ext_descriptor_indexing
descriptor_set_host_mapping: bool
device_coherent_memory: 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
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
host_query_reset: 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
inherited_conditional_rendering: bool
inherited_queries: bool
inherited_viewport_scissor2_d: bool
inline_uniform_block: bool
invocation_mask: bool
large_points: bool
linear_color_attachment: bool
logic_op: bool
maintenance4: bool
memory_priority: bool
mesh_shader: bool
min_lod: bool
multi_draw: bool
multi_draw_indirect: bool
multi_viewport: bool
multisample_array_image: bool
multiview: bool
multiview_geometry_shader: bool
multiview_tessellation_shader: bool
mutable_comparison_samplers: bool
mutable_descriptor_type: bool
no_invocation_fragment_shading_rates: bool
null_descriptor: bool
occlusion_query_precise: 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_statistics_query: bool
point_polygons: bool
present_id: bool
present_wait: bool
primitive_fragment_shading_rate: bool
- Vulkan documentation
- Conflicts with features:
shading_rate_image
,fragment_density_map
primitive_topology_list_restart: bool
primitive_topology_patch_list_restart: 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_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_traversal_primitive_culling: bool
rectangular_lines: 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
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_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_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_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_shading: bool
supersample_fragment_shading_rates: bool
synchronization2: bool
task_shader: bool
tessellation_isolines: bool
tessellation_point_mode: bool
tessellation_shader: bool
texel_buffer_alignment: bool
texture_compression_astc_hdr: bool
texture_compression_astc_ldr: bool
texture_compression_bc: bool
texture_compression_etc2: 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
sourceimpl 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
sourceimpl BitAndAssign<Features> for Features
impl BitAndAssign<Features> for Features
sourcefn bitand_assign(&mut self, rhs: Self)
fn bitand_assign(&mut self, rhs: Self)
Performs the
&=
operation. Read moresourceimpl BitOrAssign<Features> for Features
impl BitOrAssign<Features> for Features
sourcefn bitor_assign(&mut self, rhs: Self)
fn bitor_assign(&mut self, rhs: Self)
Performs the
|=
operation. Read moresourceimpl BitXorAssign<Features> for Features
impl BitXorAssign<Features> for Features
sourcefn bitxor_assign(&mut self, rhs: Self)
fn bitxor_assign(&mut self, rhs: Self)
Performs the
^=
operation. Read moresourceimpl SubAssign<Features> for Features
impl SubAssign<Features> for Features
sourcefn 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more