pub struct Vulkan11Features {
    pub storage_buffer16_bit_access: bool,
    pub uniform_and_storage_buffer16_bit_access: bool,
    pub storage_push_constant16: bool,
    pub storage_input_output16: bool,
    pub multiview: bool,
    pub multiview_geometry_shader: bool,
    pub multiview_tessellation_shader: bool,
    pub variable_pointers_storage_buffer: bool,
    pub variable_pointers: bool,
    pub protected_memory: bool,
    pub sampler_ycbcr_conversion: bool,
    pub shader_draw_parameters: bool,
}
Expand description

Description of Vulkan 1.1 features.

See VkPhysicalDeviceVulkan11Features manual page.

Fields§

§storage_buffer16_bit_access: bool

Specifies whether objects in the StorageBuffer, ShaderRecordBufferKHR, or PhysicalStorageBuffer storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members.

If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StorageBuffer16BitAccess capability.

§uniform_and_storage_buffer16_bit_access: bool

Specifies whether objects in the Uniform storage class with the Block decoration can have 16-bit integer and 16-bit floating-point members.

If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the UniformAndStorageBuffer16BitAccess capability.

§storage_push_constant16: bool

Specifies whether objects in the PushConstant storage class can have 16-bit integer and 16-bit floating-point members.

If this feature is not enabled, 16-bit integer or floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StoragePushConstant16 capability.

§storage_input_output16: bool

Specifies whether objects in the Input and Output storage classes can have 16-bit integer and 16-bit floating-point members.

If this feature is not enabled, 16-bit integer or 16-bit floating-point members must not be used in such objects. This also specifies whether shader modules can declare the StorageInputOutput16 capability.

§multiview: bool

Specifies whether the implementation supports multiview rendering within a render pass.

If this feature is not enabled, the view mask of each subpass must always be zero.

§multiview_geometry_shader: bool

Specifies whether the implementation supports multiview rendering within a render pass, with geometry shaders.

If this feature is not enabled, then a pipeline compiled against a subpass with a non-zero view mask must not include a geometry shader.

§multiview_tessellation_shader: bool

Specifies whether the implementation supports multiview rendering within a render pass, with tessellation shaders.

If this feature is not enabled, then a pipeline compiled against a subpass with a non-zero view mask must not include any tessellation shaders.

§variable_pointers_storage_buffer: bool

Specifies whether the implementation supports the SPIR-V VariablePointersStorageBuffer capability.

When this feature is not enabled, shader modules must not declare the SPV_KHR_variable_pointers extension or the VariablePointersStorageBuffer capability.

§variable_pointers: bool

Specifies whether the implementation supports the SPIR-V VariablePointers capability.

When this feature is not enabled, shader modules must not declare the VariablePointers capability.

§protected_memory: bool

Specifies whether protected memory is supported.

§sampler_ycbcr_conversion: bool

Specifies whether the implementation supports sampler Y′CBCR conversion.

If sampler_ycbcr_conversion is false, sampler Y′CBCR conversion is not supported, and samplers using sampler Y′CBCR conversion must not be used.

§shader_draw_parameters: bool

Specifies whether the implementation supports the SPIR-V DrawParameters capability.

When this feature is not enabled, shader modules must not declare the SPV_KHR_shader_draw_parameters extension or the DrawParameters capability.

Trait Implementations§

source§

impl Debug for Vulkan11Features

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl From<PhysicalDeviceVulkan11Features> for Vulkan11Features

source§

fn from(features: PhysicalDeviceVulkan11Features) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more