Struct screen_13::driver::physical_device::Vulkan12Properties
source · pub struct Vulkan12Properties {Show 52 fields
pub driver_id: DriverId,
pub driver_name: String,
pub driver_info: String,
pub conformance_version: ConformanceVersion,
pub denorm_behavior_independence: ShaderFloatControlsIndependence,
pub rounding_mode_independence: ShaderFloatControlsIndependence,
pub shader_signed_zero_inf_nan_preserve_float16: bool,
pub shader_signed_zero_inf_nan_preserve_float32: bool,
pub shader_signed_zero_inf_nan_preserve_float64: bool,
pub shader_denorm_preserve_float16: bool,
pub shader_denorm_preserve_float32: bool,
pub shader_denorm_preserve_float64: bool,
pub shader_denorm_flush_to_zero_float16: bool,
pub shader_denorm_flush_to_zero_float32: bool,
pub shader_denorm_flush_to_zero_float64: bool,
pub shader_rounding_mode_rte_float16: bool,
pub shader_rounding_mode_rte_float32: bool,
pub shader_rounding_mode_rte_float64: bool,
pub shader_rounding_mode_rtz_float16: bool,
pub shader_rounding_mode_rtz_float32: bool,
pub shader_rounding_mode_rtz_float64: bool,
pub max_update_after_bind_descriptors_in_all_pools: u32,
pub shader_uniform_buffer_array_non_uniform_indexing_native: bool,
pub shader_sampled_image_array_non_uniform_indexing_native: bool,
pub shader_storage_buffer_array_non_uniform_indexing_native: bool,
pub shader_storage_image_array_non_uniform_indexing_native: bool,
pub shader_input_attachment_array_non_uniform_indexing_native: bool,
pub robust_buffer_access_update_after_bind: bool,
pub quad_divergent_implicit_lod: bool,
pub max_per_stage_descriptor_update_after_bind_samplers: u32,
pub max_per_stage_descriptor_update_after_bind_uniform_buffers: u32,
pub max_per_stage_descriptor_update_after_bind_storage_buffers: u32,
pub max_per_stage_descriptor_update_after_bind_sampled_images: u32,
pub max_per_stage_descriptor_update_after_bind_storage_images: u32,
pub max_per_stage_descriptor_update_after_bind_input_attachments: u32,
pub max_per_stage_update_after_bind_resources: u32,
pub max_descriptor_set_update_after_bind_samplers: u32,
pub max_descriptor_set_update_after_bind_uniform_buffers: u32,
pub max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_storage_buffers: u32,
pub max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32,
pub max_descriptor_set_update_after_bind_sampled_images: u32,
pub max_descriptor_set_update_after_bind_storage_images: u32,
pub max_descriptor_set_update_after_bind_input_attachments: u32,
pub supported_depth_resolve_modes: ResolveModeFlags,
pub supported_stencil_resolve_modes: ResolveModeFlags,
pub independent_resolve_none: bool,
pub independent_resolve: bool,
pub filter_minmax_single_component_formats: bool,
pub filter_minmax_image_component_mapping: bool,
pub max_timeline_semaphore_value_difference: u64,
pub framebuffer_integer_color_sample_counts: SampleCountFlags,
}
Expand description
Description of Vulkan 1.2 properties.
See
VkPhysicalDeviceVulkan12Properties
manual page.
Fields§
§driver_id: DriverId
A unique identifier for the driver of the physical device.
driver_name: String
An array of VK_MAX_DRIVER_NAME_SIZE
char containing a null-terminated UTF-8 string which
is the name of the driver.
driver_info: String
An array of VK_MAX_DRIVER_INFO_SIZE
char containing a null-terminated UTF-8 string with
additional information about the driver.
conformance_version: ConformanceVersion
The version of the Vulkan conformance test this driver is conformant against (see
VkConformanceVersion
).
denorm_behavior_independence: ShaderFloatControlsIndependence
A vk::ShaderFloatControlsIndependence
value indicating whether, and how, denorm behavior
can be set independently for different bit widths.
rounding_mode_independence: ShaderFloatControlsIndependence
A vk::ShaderFloatControlsIndependence
value indicating whether, and how, rounding modes
can be set independently for different bit widths.
shader_signed_zero_inf_nan_preserve_float16: bool
A bool
value indicating whether sign of a zero, Nans and ±∞ can be preserved in 16-bit
floating-point computations.
It also indicates whether the SignedZeroInfNanPreserve execution mode can be used for 16-bit floating-point types.
shader_signed_zero_inf_nan_preserve_float32: bool
A bool
value indicating whether sign of a zero, Nans and ±∞ can be preserved in 32-bit
floating-point computations.
It also indicates whether the SignedZeroInfNanPreserve execution mode can be used for 32-bit floating-point types.
shader_signed_zero_inf_nan_preserve_float64: bool
A bool
value indicating whether sign of a zero, Nans and ±∞ can be preserved in 64-bit
floating-point computations.
It also indicates whether the SignedZeroInfNanPreserve execution mode can be used for 64-bit floating-point types.
shader_denorm_preserve_float16: bool
A bool
value indicating whether denormals can be preserved in 16-bit floating-point
computations.
It also indicates whether the DenormPreserve execution mode can be used for 16-bit floating-point types.
shader_denorm_preserve_float32: bool
A bool
value indicating whether denormals can be preserved in 32-bit floating-point
computations.
It also indicates whether the DenormPreserve execution mode can be used for 32-bit floating-point types.
shader_denorm_preserve_float64: bool
A bool
value indicating whether denormals can be preserved in 64-bit floating-point
computations.
It also indicates whether the DenormPreserve execution mode can be used for 64-bit floating-point types.
shader_denorm_flush_to_zero_float16: bool
A bool
value indicating whether denormals can be flushed to zero in 16-bit floating-point
computations.
It also indicates whether the DenormFlushToZero execution mode can be used for 16-bit floating-point types.
shader_denorm_flush_to_zero_float32: bool
A bool
value indicating whether denormals can be flushed to zero in 32-bit floating-point
computations.
It also indicates whether the DenormFlushToZero execution mode can be used for 32-bit floating-point types.
shader_denorm_flush_to_zero_float64: bool
A bool
value indicating whether denormals can be flushed to zero in 64-bit floating-point
computations.
It also indicates whether the DenormFlushToZero execution mode can be used for 64-bit floating-point types.
shader_rounding_mode_rte_float16: bool
A bool
value indicating whether an implementation supports the round-to-nearest-even
rounding mode for 16-bit floating-point arithmetic and conversion instructions.
It also indicates whether the RoundingModeRTE execution mode can be used for 16-bit floating-point types.
shader_rounding_mode_rte_float32: bool
A bool
value indicating whether an implementation supports the round-to-nearest-even
rounding mode for 32-bit floating-point arithmetic and conversion instructions.
It also indicates whether the RoundingModeRTE execution mode can be used for 32-bit floating-point types.
shader_rounding_mode_rte_float64: bool
A bool
value indicating whether an implementation supports the round-to-nearest-even
rounding mode for 64-bit floating-point arithmetic and conversion instructions.
It also indicates whether the RoundingModeRTE execution mode can be used for 64-bit floating-point types.
shader_rounding_mode_rtz_float16: bool
A bool
value indicating whether an implementation supports the round-towards-zero rounding
mode for 16-bit floating-point arithmetic and conversion instructions.
It also indicates whether the RoundingModeRTZ execution mode can be used for 16-bit floating-point types.
shader_rounding_mode_rtz_float32: bool
A bool
value indicating whether an implementation supports the round-towards-zero rounding
mode for 32-bit floating-point arithmetic and conversion instructions.
It also indicates whether the RoundingModeRTZ execution mode can be used for 32-bit floating-point types.
shader_rounding_mode_rtz_float64: bool
A bool
value indicating whether an implementation supports the round-towards-zero rounding
mode for 64-bit floating-point arithmetic and conversion instructions.
It also indicates whether the RoundingModeRTZ execution mode can be used for 64-bit floating-point types.
max_update_after_bind_descriptors_in_all_pools: u32
The maximum number of descriptors (summed over all descriptor types) that can be created across all pools that are created with the VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT bit set.
Pool creation may fail when this limit is exceeded, or when the space this limit represents is unable to satisfy a pool creation due to fragmentation.
shader_uniform_buffer_array_non_uniform_indexing_native: bool
A bool
value indicating whether uniform buffer descriptors natively support nonuniform
indexing.
If this is false
, then a single dynamic instance of an instruction that nonuniformly
indexes an array of uniform buffers may execute multiple times in order to access all the
descriptors.
shader_sampled_image_array_non_uniform_indexing_native: bool
A bool
value indicating whether sampler and image descriptors natively support nonuniform
indexing.
If this is false
, then a single dynamic instance of an instruction that nonuniformly
indexes an array of samplers or images may execute multiple times in order to access all the
descriptors.
shader_storage_buffer_array_non_uniform_indexing_native: bool
A bool
value indicating whether storage buffer descriptors natively support nonuniform
indexing.
If this is false
, then a single dynamic instance of an instruction that nonuniformly
indexes an array of storage buffers may execute multiple times in order to access all the
descriptors.
shader_storage_image_array_non_uniform_indexing_native: bool
A bool
value indicating whether storage image descriptors natively support nonuniform
indexing.
If this is false
, then a single dynamic instance of an instruction that nonuniformly
indexes an array of storage images may execute multiple times in order to access all the
descriptors.
shader_input_attachment_array_non_uniform_indexing_native: bool
A bool
value indicating whether input attachment descriptors natively support nonuniform
indexing.
If this is false
, then a single dynamic instance of an instruction that nonuniformly
indexes an array of input attachments may execute multiple times in order to access all the
descriptors.
robust_buffer_access_update_after_bind: bool
A bool
value indicating whether robustBufferAccess
can be enabled on a device
simultaneously with descriptorBindingUniformBufferUpdateAfterBind
,
descriptorBindingStorageBufferUpdateAfterBind
,
descriptorBindingUniformTexelBufferUpdateAfterBind
, and/or
descriptorBindingStorageTexelBufferUpdateAfterBind
.
If this is false
, then either robustBufferAccess
must be disabled or all of these
update-after-bind features must be disabled.
quad_divergent_implicit_lod: bool
A bool
value indicating whether implicit level of detail calculations for image operations
have well-defined results when the image and/or sampler objects used for the instruction are
not uniform within a quad.
max_per_stage_descriptor_update_after_bind_samplers: u32
Similar to maxPerStageDescriptorSamplers
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_per_stage_descriptor_update_after_bind_uniform_buffers: u32
Similar to maxPerStageDescriptorUniformBuffers
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_per_stage_descriptor_update_after_bind_storage_buffers: u32
Similar to maxPerStageDescriptorStorageBuffers
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_per_stage_descriptor_update_after_bind_sampled_images: u32
Similar to maxPerStageDescriptorSampledImages
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_per_stage_descriptor_update_after_bind_storage_images: u32
Similar to maxPerStageDescriptorStorageImages
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_per_stage_descriptor_update_after_bind_input_attachments: u32
Similar to maxPerStageDescriptorInputAttachments
but counts descriptors from descriptor
sets created with or without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set.
max_per_stage_update_after_bind_resources: u32
Similar to maxPerStageResources
but counts descriptors from descriptor sets created with
or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set.
max_descriptor_set_update_after_bind_samplers: u32
Similar to maxDescriptorSetSamplers
but counts descriptors from descriptor sets created
with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set.
max_descriptor_set_update_after_bind_uniform_buffers: u32
Similar to maxDescriptorSetUniformBuffers
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_descriptor_set_update_after_bind_uniform_buffers_dynamic: u32
Similar to maxDescriptorSetUniformBuffersDynamic
but counts descriptors from descriptor
sets created with or without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set.
While an application can allocate dynamic uniform buffer descriptors from a pool created
with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
, bindings for these
descriptors must not be present in any descriptor set layout that includes bindings created
with VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
.
max_descriptor_set_update_after_bind_storage_buffers: u32
Similar to maxDescriptorSetStorageBuffers
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_descriptor_set_update_after_bind_storage_buffers_dynamic: u32
Similar to maxDescriptorSetStorageBuffersDynamic
but counts descriptors from descriptor
sets created with or without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set.
While an application can allocate dynamic storage buffer descriptors from a pool created
with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
, bindings for these
descriptors must not be present in any descriptor set layout that includes bindings created
with VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT
.
max_descriptor_set_update_after_bind_sampled_images: u32
Similar to maxDescriptorSetSampledImages
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_descriptor_set_update_after_bind_storage_images: u32
Similar to maxDescriptorSetStorageImages
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
max_descriptor_set_update_after_bind_input_attachments: u32
Similar to maxDescriptorSetInputAttachments
but counts descriptors from descriptor sets
created with or without the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit
set.
supported_depth_resolve_modes: ResolveModeFlags
A bitmask of vk::ResolveModeFlagBits
indicating the set of supported depth resolve modes.
VK_RESOLVE_MODE_SAMPLE_ZERO_BIT
must be included in the set but implementations may
support additional modes.
supported_stencil_resolve_modes: ResolveModeFlags
A bitmask of vk::ResolveModeFlagBits
indicating the set of supported stencil resolve
modes.
VK_RESOLVE_MODE_SAMPLE_ZERO_BIT
must be included in the set but implementations may
support additional modes. VK_RESOLVE_MODE_AVERAGE_BIT
must not be included in the set.
independent_resolve_none: bool
true
if the implementation supports setting the depth and stencil resolve modes to
different values when one of those modes is VK_RESOLVE_MODE_NONE
.
Otherwise the implementation only supports setting both modes to the same value.
independent_resolve: bool
true
if the implementation supports all combinations of the supported depth and stencil
resolve modes, including setting either depth or stencil resolve mode to
VK_RESOLVE_MODE_NONE
.
An implementation that supports independent_resolve
must also support
independent_resolve_none
.
filter_minmax_single_component_formats: bool
A bool
value indicating whether a minimum set of required formats support min/max
filtering.
filter_minmax_image_component_mapping: bool
A bool
value indicating whether the implementation supports non-identity component mapping
of the image when doing min/max filtering.
max_timeline_semaphore_value_difference: u64
Indicates the maximum difference allowed by the implementation between the current value of a timeline semaphore and any pending signal or wait operations.
framebuffer_integer_color_sample_counts: SampleCountFlags
A bitmask of vk::SampleCountFlagBits
indicating the color sample counts that are supported
for all framebuffer color attachments with integer formats.
Trait Implementations§
source§impl Debug for Vulkan12Properties
impl Debug for Vulkan12Properties
source§impl From<PhysicalDeviceVulkan12Properties> for Vulkan12Properties
impl From<PhysicalDeviceVulkan12Properties> for Vulkan12Properties
source§fn from(properties: PhysicalDeviceVulkan12Properties) -> Self
fn from(properties: PhysicalDeviceVulkan12Properties) -> Self
Auto Trait Implementations§
impl RefUnwindSafe for Vulkan12Properties
impl Send for Vulkan12Properties
impl Sync for Vulkan12Properties
impl Unpin for Vulkan12Properties
impl UnwindSafe for Vulkan12Properties
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.