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.

See Derivative Image Operations.

§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

source§

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

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

impl From<PhysicalDeviceVulkan12Properties> for Vulkan12Properties

source§

fn from(properties: PhysicalDeviceVulkan12Properties) -> 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