Struct vulkano::instance::Features
[−]
[src]
pub struct Features { pub robust_buffer_access: bool, pub full_draw_index_uint32: bool, pub image_cube_array: bool, pub independent_blend: bool, pub geometry_shader: bool, pub tessellation_shader: bool, pub sample_rate_shading: bool, pub dual_src_blend: bool, pub logic_op: bool, pub multi_draw_indirect: bool, pub draw_indirect_first_instance: bool, pub depth_clamp: bool, pub depth_bias_clamp: bool, pub fill_mode_non_solid: bool, pub depth_bounds: bool, pub wide_lines: bool, pub large_points: bool, pub alpha_to_one: bool, pub multi_viewport: bool, pub sampler_anisotropy: bool, pub texture_compression_etc2: bool, pub texture_compression_astc_ldr: bool, pub texture_compression_bc: bool, pub occlusion_query_precise: bool, pub pipeline_statistics_query: bool, pub vertex_pipeline_stores_and_atomics: bool, pub fragment_stores_and_atomics: bool, pub shader_tessellation_and_geometry_point_size: bool, pub shader_image_gather_extended: 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_uniform_buffer_array_dynamic_indexing: bool, pub shader_sampled_image_array_dynamic_indexing: bool, pub shader_storage_buffer_array_dynamic_indexing: bool, pub shader_storage_image_array_dynamic_indexing: bool, pub shader_clip_distance: bool, pub shader_cull_distance: bool, pub shader_f3264: bool, pub shader_int64: bool, pub shader_int16: bool, pub shader_resource_residency: bool, pub shader_resource_min_lod: bool, pub sparse_binding: bool, pub sparse_residency_buffer: bool, pub sparse_residency_image2d: bool, pub sparse_residency_image3d: bool, pub sparse_residency2_samples: bool, pub sparse_residency4_samples: bool, pub sparse_residency8_samples: bool, pub sparse_residency16_samples: bool, pub sparse_residency_aliased: bool, pub variable_multisample_rate: bool, pub inherited_queries: bool, }
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.
Example
let minimal_features = vulkano::instance::Features { geometry_shader: true, .. vulkano::instance::Features::none() }; let optimal_features = vulkano::instance::Features { geometry_shader: true, tessellation_shader: true, .. vulkano::instance::Features::none() }; if !physical_device.supported_features().superset_of(&minimal_features) { panic!("The physical device is not good enough for this application."); } assert!(optimal_features.superset_of(&minimal_features)); let features_to_request = optimal_features.intersection(physical_device.supported_features());
Fields
robust_buffer_access: bool
full_draw_index_uint32: bool
image_cube_array: bool
independent_blend: bool
geometry_shader: bool
tessellation_shader: bool
sample_rate_shading: bool
dual_src_blend: bool
logic_op: bool
multi_draw_indirect: bool
draw_indirect_first_instance: bool
depth_clamp: bool
depth_bias_clamp: bool
fill_mode_non_solid: bool
depth_bounds: bool
wide_lines: bool
large_points: bool
alpha_to_one: bool
multi_viewport: bool
sampler_anisotropy: bool
texture_compression_etc2: bool
texture_compression_astc_ldr: bool
texture_compression_bc: bool
occlusion_query_precise: bool
pipeline_statistics_query: bool
vertex_pipeline_stores_and_atomics: bool
fragment_stores_and_atomics: bool
shader_tessellation_and_geometry_point_size: bool
shader_image_gather_extended: 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_uniform_buffer_array_dynamic_indexing: bool
shader_sampled_image_array_dynamic_indexing: bool
shader_storage_buffer_array_dynamic_indexing: bool
shader_storage_image_array_dynamic_indexing: bool
shader_clip_distance: bool
shader_cull_distance: bool
shader_f3264: bool
shader_int64: bool
shader_int16: bool
shader_resource_residency: bool
shader_resource_min_lod: bool
sparse_binding: bool
sparse_residency_buffer: bool
sparse_residency_image2d: bool
sparse_residency_image3d: bool
sparse_residency2_samples: bool
sparse_residency4_samples: bool
sparse_residency8_samples: bool
sparse_residency16_samples: bool
sparse_residency_aliased: bool
variable_multisample_rate: bool
inherited_queries: bool
Methods
impl Features
[src]
fn none() -> Features
Builds a Features
object with all values to false.
fn all() -> Features
Builds a Features
object with all values to true.
Note: This function is used for testing purposes, and is probably useless in a real code.
fn superset_of(&self, other: &Features) -> bool
Returns true if self
is a superset of the parameter.
That is, for each feature of the parameter that is true, the corresponding value in self is true as well.
fn intersection(&self, other: &Features) -> Features
Builds a Features
that is the intersection of self
and another Features
object.
The result's field will be true if it is also true in both self
and other
.
fn difference(&self, other: &Features) -> Features
Builds a Features
that is the difference of another Features
object from self
.
The result's field will be true if it is true in self
but not other
.
Trait Implementations
impl Debug for Features
[src]
impl Clone for Features
[src]
fn clone(&self) -> Features
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl PartialEq for Features
[src]
fn eq(&self, __arg_0: &Features) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Features) -> bool
This method tests for !=
.