[−][src]Struct vulkano::device::Features
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
use vulkano::device::Features; let minimal_features = Features { geometry_shader: true, .. Features::none() }; let optimal_features = vulkano::device::Features { geometry_shader: true, tessellation_shader: true, .. 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: boolfull_draw_index_uint32: boolimage_cube_array: boolindependent_blend: boolgeometry_shader: booltessellation_shader: boolsample_rate_shading: booldual_src_blend: boollogic_op: boolmulti_draw_indirect: booldraw_indirect_first_instance: booldepth_clamp: booldepth_bias_clamp: boolfill_mode_non_solid: booldepth_bounds: boolwide_lines: boollarge_points: boolalpha_to_one: boolmulti_viewport: boolsampler_anisotropy: booltexture_compression_etc2: booltexture_compression_astc_ldr: booltexture_compression_bc: boolocclusion_query_precise: boolpipeline_statistics_query: boolvertex_pipeline_stores_and_atomics: boolfragment_stores_and_atomics: boolshader_tessellation_and_geometry_point_size: boolshader_image_gather_extended: boolshader_storage_image_extended_formats: boolshader_storage_image_multisample: boolshader_storage_image_read_without_format: boolshader_storage_image_write_without_format: boolshader_uniform_buffer_array_dynamic_indexing: boolshader_sampled_image_array_dynamic_indexing: boolshader_storage_buffer_array_dynamic_indexing: boolshader_storage_image_array_dynamic_indexing: boolshader_clip_distance: boolshader_cull_distance: boolshader_f3264: boolshader_int64: boolshader_int16: boolshader_resource_residency: boolshader_resource_min_lod: boolsparse_binding: boolsparse_residency_buffer: boolsparse_residency_image2d: boolsparse_residency_image3d: boolsparse_residency2_samples: boolsparse_residency4_samples: boolsparse_residency8_samples: boolsparse_residency16_samples: boolsparse_residency_aliased: boolvariable_multisample_rate: boolinherited_queries: boolMethods
impl Features[src]
pub fn none() -> Features[src]
Builds a Features object with all values to false.
pub fn all() -> Features[src]
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.
pub fn superset_of(&self, other: &Features) -> bool[src]
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.
pub fn intersection(&self, other: &Features) -> Features[src]
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.
pub fn difference(&self, other: &Features) -> Features[src]
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 Eq for Features[src]
impl Clone for Features[src]
impl PartialEq<Features> for Features[src]
impl Hash for Features[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl Debug for Features[src]
Auto Trait Implementations
impl Send for Features
impl Unpin for Features
impl Sync for Features
impl UnwindSafe for Features
impl RefUnwindSafe for Features
Blanket Implementations
impl<T> Content for T[src]
fn ref_from_ptr(*mut c_void, usize) -> Option<*mut T>[src]
fn is_size_suitable(usize) -> bool[src]
fn indiv_size() -> usize[src]
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> From<T> for T[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,