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 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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§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
.§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
.§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.§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.