Struct screen_13::driver::physical_device::Vulkan11Features
source · 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
impl Debug for Vulkan11Features
source§impl From<PhysicalDeviceVulkan11Features> for Vulkan11Features
impl From<PhysicalDeviceVulkan11Features> for Vulkan11Features
source§fn from(features: PhysicalDeviceVulkan11Features) -> Self
fn from(features: PhysicalDeviceVulkan11Features) -> Self
Auto Trait Implementations§
impl Freeze for Vulkan11Features
impl RefUnwindSafe for Vulkan11Features
impl Send for Vulkan11Features
impl Sync for Vulkan11Features
impl Unpin for Vulkan11Features
impl UnwindSafe for Vulkan11Features
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.