Struct vulkano::device::Features

source ·
pub struct Features {
Show 55 fields 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,
}
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.

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: bool

Implementations

Builds a Features object with all values to false.

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.

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.

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.

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

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
Builds a pointer to this type from a raw pointer.
Returns true if the size is suitable to store a type like this.
Returns the size of an individual element.

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.