[]Struct gfx_hal::Features

pub struct Features { /* fields omitted */ }

Features that the device supports. These only include features of the core interface and not API extensions.

Methods

impl Features

pub const CORE_MASK: Features

Bit mask of Vulkan Core features.

pub const PORTABILITY_MASK: Features

Bit mask of Vulkan Portability features.

pub const ROBUST_BUFFER_ACCESS: Features

Support for robust buffer access. Buffer access by SPIR-V shaders is checked against the buffer/image boundaries.

pub const FULL_DRAW_INDEX_U32: Features

Support the full 32-bit range of indexed for draw calls. If not supported, the maximum index value is determined by Limits::max_draw_index_value.

pub const IMAGE_CUBE_ARRAY: Features

Support cube array image views.

pub const INDEPENDENT_BLENDING: Features

Support different color blending settings per attachments on graphics pipeline creation.

pub const GEOMETRY_SHADER: Features

Support geometry shader.

pub const TESSELLATION_SHADER: Features

Support tessellation shaders.

pub const SAMPLE_RATE_SHADING: Features

Support per-sample shading and multisample interpolation.

pub const DUAL_SRC_BLENDING: Features

Support dual source blending.

pub const LOGIC_OP: Features

Support logic operations.

pub const MULTI_DRAW_INDIRECT: Features

Support multiple draws per indirect call.

pub const DRAW_INDIRECT_FIRST_INSTANCE: Features

Support indirect drawing with first instance value. If not supported the first instance value must be 0.

pub const DEPTH_CLAMP: Features

Support depth clamping.

pub const DEPTH_BIAS_CLAMP: Features

Support depth bias clamping.

pub const NON_FILL_POLYGON_MODE: Features

Support non-fill polygon modes.

pub const DEPTH_BOUNDS: Features

Support depth bounds test.

pub const LINE_WIDTH: Features

Support lines with width other than 1.0.

pub const POINT_SIZE: Features

Support points with size greater than 1.0.

pub const ALPHA_TO_ONE: Features

Support replacing alpha values with 1.0.

pub const MULTI_VIEWPORTS: Features

Support multiple viewports and scissors.

pub const SAMPLER_ANISOTROPY: Features

Support anisotropic filtering.

pub const FORMAT_ETC2: Features

Support ETC2 texture compression formats.

pub const FORMAT_ASTC_LDR: Features

Support ASTC (LDR) texture compression formats.

pub const FORMAT_BC: Features

Support BC texture compression formats.

pub const PRECISE_OCCLUSION_QUERY: Features

Support precise occlusion queries, returning the actual number of samples. If not supported, queries return a non-zero value when at least one sample passes.

pub const PIPELINE_STATISTICS_QUERY: Features

Support query of pipeline statistics.

pub const VERTEX_STORES_AND_ATOMICS: Features

Support unordered access stores and atomic ops in the vertex, geometry and tessellation shader stage. If not supported, the shader resources must be annotated as read-only.

pub const FRAGMENT_STORES_AND_ATOMICS: Features

Support unordered access stores and atomic ops in the fragment shader stage If not supported, the shader resources must be annotated as read-only.

pub const SHADER_TESSELLATION_AND_GEOMETRY_POINT_SIZE: Features

pub const SHADER_IMAGE_GATHER_EXTENDED: Features

pub const SHADER_STORAGE_IMAGE_EXTENDED_FORMATS: Features

pub const SHADER_STORAGE_IMAGE_MULTISAMPLE: Features

pub const SHADER_STORAGE_IMAGE_READ_WITHOUT_FORMAT: Features

pub const SHADER_STORAGE_IMAGE_WRITE_WITHOUT_FORMAT: Features

pub const SHADER_UNIFORM_BUFFER_ARRAY_DYNAMIC_INDEXING: Features

pub const SHADER_SAMPLED_IMAGE_ARRAY_DYNAMIC_INDEXING: Features

pub const SHADER_STORAGE_BUFFER_ARRAY_DYNAMIC_INDEXING: Features

pub const SHADER_STORAGE_IMAGE_ARRAY_DYNAMIC_INDEXING: Features

pub const SHADER_CLIP_DISTANCE: Features

pub const SHADER_CULL_DISTANCE: Features

pub const SHADER_FLOAT64: Features

pub const SHADER_INT64: Features

pub const SHADER_INT16: Features

pub const SHADER_RESOURCE_RESIDENCY: Features

pub const SHADER_RESOURCE_MIN_LOD: Features

pub const SPARSE_BINDING: Features

pub const SPARSE_RESIDENCY_BUFFER: Features

pub const SPARSE_RESIDENCY_IMAGE_2D: Features

pub const SPARSE_RESIDENCY_IMAGE_3D: Features

pub const SPARSE_RESIDENCY_2_SAMPLES: Features

pub const SPARSE_RESIDENCY_4_SAMPLES: Features

pub const SPARSE_RESIDENCY_8_SAMPLES: Features

pub const SPARSE_RESIDENCY_16_SAMPLES: Features

pub const SPARSE_RESIDENCY_ALIASED: Features

pub const VARIABLE_MULTISAMPLE_RATE: Features

pub const INHERITED_QUERIES: Features

pub const TRIANGLE_FAN: Features

Support triangle fan primitive topology.

pub const SEPARATE_STENCIL_REF_VALUES: Features

Support separate stencil reference values for front and back sides.

pub const INSTANCE_RATE: Features

Support manually specified vertex attribute rates (divisors).

pub const SAMPLER_MIP_LOD_BIAS: Features

Support non-zero mipmap bias on samplers.

pub const fn empty() -> Features

Returns an empty set of flags

pub const fn all() -> Features

Returns the set containing all flags.

pub const fn bits(&self) -> u64

Returns the raw value of the flags currently stored.

pub fn from_bits(bits: u64) -> Option<Features>

Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.

pub const fn from_bits_truncate(bits: u64) -> Features

Convert from underlying bit representation, dropping any bits that do not correspond to flags.

pub const fn is_empty(&self) -> bool

Returns true if no flags are currently stored.

pub const fn is_all(&self) -> bool

Returns true if all flags are currently set.

pub const fn intersects(&self, other: Features) -> bool

Returns true if there are flags common to both self and other.

pub const fn contains(&self, other: Features) -> bool

Returns true all of the flags in other are contained within self.

pub fn insert(&mut self, other: Features)

Inserts the specified flags in-place.

pub fn remove(&mut self, other: Features)

Removes the specified flags in-place.

pub fn toggle(&mut self, other: Features)

Toggles the specified flags in-place.

pub fn set(&mut self, other: Features, value: bool)

Inserts or removes the specified flags depending on the passed value.

Trait Implementations

impl Copy for Features

impl Eq for Features

impl Clone for Features

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl PartialOrd<Features> for Features

impl Extend<Features> for Features

impl PartialEq<Features> for Features

impl Ord for Features

fn max(self, other: Self) -> Self1.21.0[src]

Compares and returns the maximum of two values. Read more

fn min(self, other: Self) -> Self1.21.0[src]

Compares and returns the minimum of two values. Read more

fn clamp(self, min: Self, max: Self) -> Self[src]

🔬 This is a nightly-only experimental API. (clamp)

Restrict a value to a certain interval. Read more

impl Hash for Features

fn hash_slice<H>(data: &[Self], state: &mut H) where
    H: Hasher
1.3.0[src]

Feeds a slice of this type into the given [Hasher]. Read more

impl Debug for Features

impl Sub<Features> for Features

type Output = Features

The resulting type after applying the - operator.

fn sub(self, other: Features) -> Features

Returns the set difference of the two sets of flags.

impl SubAssign<Features> for Features

fn sub_assign(&mut self, other: Features)

Disables all flags enabled in the set.

impl Not for Features

type Output = Features

The resulting type after applying the ! operator.

fn not(self) -> Features

Returns the complement of this set of flags.

impl BitAnd<Features> for Features

type Output = Features

The resulting type after applying the & operator.

fn bitand(self, other: Features) -> Features

Returns the intersection between the two sets of flags.

impl BitOr<Features> for Features

type Output = Features

The resulting type after applying the | operator.

fn bitor(self, other: Features) -> Features

Returns the union of the two sets of flags.

impl BitXor<Features> for Features

type Output = Features

The resulting type after applying the ^ operator.

fn bitxor(self, other: Features) -> Features

Returns the left flags, but with all the right flags toggled.

impl BitAndAssign<Features> for Features

fn bitand_assign(&mut self, other: Features)

Disables all flags disabled in the set.

impl BitOrAssign<Features> for Features

fn bitor_assign(&mut self, other: Features)

Adds the set of flags.

impl BitXorAssign<Features> for Features

fn bitxor_assign(&mut self, other: Features)

Toggles the set of flags.

impl FromIterator<Features> for Features

impl Octal for Features

impl Binary for Features

impl LowerHex for Features

impl UpperHex for Features

impl Serialize for Features[src]

impl<'de> Deserialize<'de> for Features[src]

Auto Trait Implementations

impl Unpin for Features

impl Sync for Features

impl Send for Features

impl UnwindSafe for Features

impl RefUnwindSafe for Features

Blanket Implementations

impl<T> Supports<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]