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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.robustFragmentShadingRateAttachmentAccess
indicates whether the scaled size of a fragment shading rate attachment can be less than the size of the render area. IfrobustFragmentShadingRateAttachmentAccess
isVK_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_TRUE
and the fragment shading rate attachment was created with VkImageSubresourceRange::baseMipLevel
equal to 0, the scaled size can be smaller than the render area, and shading rates for missing texels are defined by texel replacement for invalid texels.separateDepthStencilAttachmentAccess
indicates 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.maxDescriptorSetTotalUniformBuffersDynamic
is 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_DYNAMIC
count against this limit. Only descriptors in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set count against this limit. See Dynamic Uniform Buffer.maxDescriptorSetTotalStorageBuffersDynamic
is 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_DYNAMIC
count against this limit. Only descriptors in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set count against this limit. See Dynamic Storage Buffer.maxDescriptorSetTotalBuffersDynamic
is 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_DYNAMIC
orVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
count against this limit. Only descriptors in descriptor set layouts created without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set count against this limit.maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic
is similar tomaxDescriptorSetTotalUniformBuffersDynamic
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set.maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic
is similar tomaxDescriptorSetTotalStorageBuffersDynamic
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT
bit set.maxDescriptorSetUpdateAfterBindTotalBuffersDynamic
is similar tomaxDescriptorSetTotalBuffersDynamic
but counts descriptors from descriptor sets created with or without theVK_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 theVK_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
.
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