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: DriverIdA unique identifier for the driver of the physical device.
driver_name: StringAn array of VK_MAX_DRIVER_NAME_SIZE char containing a null-terminated UTF-8 string which
is the name of the driver.
driver_info: StringAn array of VK_MAX_DRIVER_INFO_SIZE char containing a null-terminated UTF-8 string with
additional information about the driver.
conformance_version: ConformanceVersionThe version of the Vulkan conformance test this driver is conformant against (see
VkConformanceVersion).
denorm_behavior_independence: ShaderFloatControlsIndependenceA vk::ShaderFloatControlsIndependence value indicating whether, and how, denorm behavior
can be set independently for different bit widths.
rounding_mode_independence: ShaderFloatControlsIndependenceA vk::ShaderFloatControlsIndependence value indicating whether, and how, rounding modes
can be set independently for different bit widths.
shader_signed_zero_inf_nan_preserve_float16: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: u32The 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: boolA 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: u32Similar 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: ResolveModeFlagsA 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: ResolveModeFlagsA 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: booltrue 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: booltrue 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: boolA bool value indicating whether a minimum set of required formats support min/max
filtering.
filter_minmax_image_component_mapping: boolA bool value indicating whether the implementation supports non-identity component mapping
of the image when doing min/max filtering.
max_timeline_semaphore_value_difference: u64Indicates 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: SampleCountFlagsA 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 Freeze for Vulkan12Properties
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
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.