Structures
VkPhysicalDeviceMaintenance7PropertiesKHR
Structure describing various implementation-defined properties introduced with VK_KHR_maintenance7
The VkPhysicalDeviceMaintenance7PropertiesKHR structure is defined as:
typedef struct VkPhysicalDeviceMaintenance7PropertiesKHR {
VkStructureType sType;
void* pNext;
VkBool32 robustFragmentShadingRateAttachmentAccess;
VkBool32 separateDepthStencilAttachmentAccess;
uint32_t maxDescriptorSetTotalUniformBuffersDynamic;
uint32_t maxDescriptorSetTotalStorageBuffersDynamic;
uint32_t maxDescriptorSetTotalBuffersDynamic;
uint32_t maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic;
uint32_t maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic;
uint32_t maxDescriptorSetUpdateAfterBindTotalBuffersDynamic;
} VkPhysicalDeviceMaintenance7PropertiesKHR;
pub struct PhysicalDeviceMaintenance7PropertiesKHR {
s_type: vk::StructureType,
p_next: *mut c_void,
robust_fragment_shading_rate_attachment_access: vk::Bool32,
separate_depth_stencil_attachment_access: vk::Bool32,
max_descriptor_set_total_uniform_buffers_dynamic: u32,
max_descriptor_set_total_storage_buffers_dynamic: u32,
max_descriptor_set_total_buffers_dynamic: u32,
max_descriptor_set_update_after_bind_total_uniform_buffers_dynamic: u32,
max_descriptor_set_update_after_bind_total_storage_buffers_dynamic: u32,
max_descriptor_set_update_after_bind_total_buffers_dynamic: u32,
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.- LIMITS ROBUSTFRAGMENTSHADINGRATEATTACHMENTACCESS
robustFragmentShadingRateAttachmentAccessindicates whether the scaled size of a fragment shading rate attachment can be less than the size of the render area. IfrobustFragmentShadingRateAttachmentAccessisVK_FALSE, the size of the attachment multiplied by the texel size must be greater than or equal to the size of the render area. If it isVK_TRUEand the fragment shading rate attachment was created with VkImageSubresourceRange::baseMipLevelequal to 0, the scaled size can be smaller than the render area, with missing shading rates defined by out of bounds behavior. - LIMITS SEPARATEDEPTHSTENCILATTACHMENTACCESS
separateDepthStencilAttachmentAccessindicates support for writing to one aspect of a depth/stencil attachment without performing read-modify-write operations on the other aspect. If this property isVK_TRUE, writes to one aspect must not result in read-modify-write operations on the other aspect. IfVK_FALSE, writes to one aspect may result in writes to the other aspect as defined by render pass load operations, render pass store operations and render pass resolve operations. - LIMITS MAXDESCRIPTORSETTOTALUNIFORMBUFFERSDYNAMIC
maxDescriptorSetTotalUniformBuffersDynamicis the maximum total count of dynamic uniform buffers that can be included in a pipeline layout. Descriptors with a type ofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICcount against this limit. Only descriptors in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set count against this limit. See Dynamic Uniform Buffer. - LIMITS MAXDESCRIPTORSETTOTALSTORAGEBUFFERSDYNAMIC
maxDescriptorSetTotalStorageBuffersDynamicis the maximum total count of dynamic storage buffers that can be included in a pipeline layout. Descriptors with a type ofVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICcount against this limit. Only descriptors in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set count against this limit. See Dynamic Storage Buffer. - LIMITS MAXDESCRIPTORSETTOTALBUFFERSDYNAMIC
maxDescriptorSetTotalBuffersDynamicis the maximum total count of dynamic uniform buffers and storage buffers that can be included in a pipeline layout. Descriptors with a type ofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMICorVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMICcount against this limit. Only descriptors in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set count against this limit. - LIMITS MAXDESCRIPTORSETUPDATEAFTERBINDTOTALUNIFORMBUFFERSDYNAMIC
maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamicis similar tomaxDescriptorSetTotalUniformBuffersDynamicbut counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set. While an application can allocate dynamic uniform buffer descriptors from a pool created withVK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, and can include dynamic uniform buffer descriptors in descriptor set layouts created withVK_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 withVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT. Therefore this limit has no practical effect and may be zero. - LIMITS MAXDESCRIPTORSETUPDATEAFTERBINDTOTALSTORAGEBUFFERSDYNAMIC
maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamicis similar tomaxDescriptorSetTotalStorageBuffersDynamicbut counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set. While an application can allocate dynamic storage buffer descriptors from a pool created withVK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, and can include dynamic storage buffer descriptors in descriptor set layouts created withVK_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 withVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT. Therefore this limit has no practical effect and may be zero. - LIMITS MAXDESCRIPTORSETUPDATEAFTERBINDTOTALBUFFERSDYNAMIC
maxDescriptorSetUpdateAfterBindTotalBuffersDynamicis similar tomaxDescriptorSetTotalBuffersDynamicbut counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BITbit set. While an application can allocate dynamic uniform/storage buffer descriptors from a pool created with the descriptors from a pool created withVK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT, and can include dynamic uniform/storage buffer descriptors in descriptor set layouts created withVK_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 withVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT. Therefore this limit has no practical effect and may be zero.
If the VkPhysicalDeviceMaintenance7PropertiesKHR structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
Valid Usage (Implicit)
VUID-VkPhysicalDeviceMaintenance7PropertiesKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_7_PROPERTIES_KHR