## C Specification

The VkPhysicalDeviceMaintenance4Features structure is defined as:

// Provided by VK_VERSION_1_3
typedef struct VkPhysicalDeviceMaintenance4Features {
VkStructureType    sType;
void*              pNext;
VkBool32           maintenance4;
} VkPhysicalDeviceMaintenance4Features;

or the equivalent

// Provided by VK_KHR_maintenance4
typedef VkPhysicalDeviceMaintenance4Features VkPhysicalDeviceMaintenance4FeaturesKHR;

## Members

This structure describes the following feature:

## Description

• sType is the type of 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