Struct screen_13::driver::physical_device::Vulkan11Properties
source · 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
impl Debug for Vulkan11Properties
source§impl From<PhysicalDeviceVulkan11Properties> for Vulkan11Properties
impl From<PhysicalDeviceVulkan11Properties> for Vulkan11Properties
source§fn from(props: PhysicalDeviceVulkan11Properties) -> Self
fn from(props: PhysicalDeviceVulkan11Properties) -> Self
Auto Trait Implementations§
impl Freeze for Vulkan11Properties
impl RefUnwindSafe for Vulkan11Properties
impl Send for Vulkan11Properties
impl Sync for Vulkan11Properties
impl Unpin for Vulkan11Properties
impl UnwindSafe for Vulkan11Properties
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.