pub struct Vulkan11Properties {
Show 15 fields pub device_uuid: [u8; 16], pub driver_uuid: [u8; 16], pub device_luid: [u8; 8], pub device_node_mask: u32, pub device_luid_valid: bool, pub subgroup_size: u32, pub subgroup_supported_stages: ShaderStageFlags, pub subgroup_supported_operations: SubgroupFeatureFlags, pub subgroup_quad_operations_in_all_stages: bool, pub point_clipping_behavior: PointClippingBehavior, pub max_multiview_view_count: u32, pub max_multiview_instance_index: u32, pub protected_no_fault: bool, pub max_per_set_descriptors: u32, pub max_memory_allocation_size: DeviceSize,
}
Expand description

Description of Vulkan 1.1 properties.

See VkPhysicalDeviceVulkan11Properties manual page.

Fields§

§device_uuid: [u8; 16]

An array of VK_UUID_SIZE u8 values representing a universally unique identifier for the device

§driver_uuid: [u8; 16]

An array of VK_UUID_SIZE u8 values representing a universally unique identifier for the driver build in use by the device.

§device_luid: [u8; 8]

An array of VK_LUID_SIZE u8 values representing a locally unique identifier for the device

§device_node_mask: u32

A u32 bitfield identifying the node within a linked device adapter corresponding to the device.

§device_luid_valid: bool

A bool value that will be true if device_luid contains a valid LUID and device_node_mask contains a valid node mask, and false if they do not.

§subgroup_size: u32

The default number of invocations in each subgroup. subgroup_size is at least 1 if any of the physical device’s queues support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT. subgroup_size is a power-of-two.

§subgroup_supported_stages: ShaderStageFlags

A bitfield of vk::ShaderStageFlagBits describing the shader stages that group operations with subgroup scope are supported in. subgroup_supported_stages will have the VK_SHADER_STAGE_COMPUTE_BIT bit set if any of the physical device’s queues support VK_QUEUE_COMPUTE_BIT.

§subgroup_supported_operations: SubgroupFeatureFlags

A bitmask of vk::SubgroupFeatureFlagBits specifying the sets of group operations with subgroup scope supported on this device. subgroup_supported_operations will have the VK_SUBGROUP_FEATURE_BASIC_BIT bit set if any of the physical device’s queues support VK_QUEUE_GRAPHICS_BIT or VK_QUEUE_COMPUTE_BIT.

§subgroup_quad_operations_in_all_stages: bool

A bool specifying whether quad group operations are available in all stages, or are restricted to fragment and compute stages.

§point_clipping_behavior: PointClippingBehavior

A vk::PointClippingBehavior value specifying the point clipping behavior supported by the implementation.

§max_multiview_view_count: u32

max_multiview_view_count is one greater than the maximum view index that can be used in a subpass.

§max_multiview_instance_index: u32

The maximum valid value of instance index allowed to be generated by a drawing command recorded within a subpass of a multiview render pass instance.

§protected_no_fault: bool

Specifies how an implementation behaves when an application attempts to write to unprotected memory in a protected queue operation, read from protected memory in an unprotected queue operation, or perform a query in a protected queue operation.

If this limit is true, such writes will be discarded or have undefined values written, reads and queries will return undefined values.

If this limit is false, applications must not perform these operations.

See memory-protected-access-rules for more information.

§max_per_set_descriptors: u32

A maximum number of descriptors (summed over all descriptor types) in a single descriptor set that is guaranteed to satisfy any implementation-dependent constraints on the size of a descriptor set itself.

Applications can query whether a descriptor set that goes beyond this limit is supported using vkGetDescriptorSetLayoutSupport.

§max_memory_allocation_size: DeviceSize

The maximum size of a memory allocation that can be created, even if there is more space available in the heap.

Trait Implementations§

source§

impl Debug for Vulkan11Properties

source§

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

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

impl From<PhysicalDeviceVulkan11Properties> for Vulkan11Properties

source§

fn from(props: PhysicalDeviceVulkan11Properties) -> 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