Structures

VkPhysicalDeviceMaintenance4Features

Structure describing whether the implementation supports maintenance4 functionality

The VkPhysicalDeviceMaintenance4Features structure is defined as:

typedef struct VkPhysicalDeviceMaintenance4Features {
    VkStructureType sType;
    void* pNext;
    VkBool32 maintenance4;
} VkPhysicalDeviceMaintenance4Features;

or the equivalent

typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;

This structure describes the following feature:

  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • maintenance4 indicates that the implementation supports the following:
    • The application may destroy a VkPipelineLayout object immediately after using it to create another object.
    • LocalSizeId can be used as an alternative to LocalSize to specify the local workgroup size with specialization constants.
    • Images created with identical creation parameters will always have the same alignment requirements.
    • The size memory requirement of a buffer or image is never greater than that of another buffer or image created with a greater or equal size.
    • Push constants do not have to be initialized before they are dynamically accessed.
    • The interface matching rules allow a larger output vector to match with a smaller input vector, with additional values being discarded.

If the VkPhysicalDeviceMaintenance4Features structure is included in the pNext chain of the VkPhysicalDeviceFeatures2 structure passed to vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. VkPhysicalDeviceMaintenance4Features can also be used in the pNext chain of VkDeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)

VUID-VkPhysicalDeviceMaintenance4Features-sType-sType

sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES