## C Specification

The VkPhysicalDeviceMaintenance4FeaturesKHR structure is defined as:

// Provided by VK_KHR_maintenance4
typedef struct VkPhysicalDeviceMaintenance4FeaturesKHR {
VkStructureType    sType;
void*              pNext;
VkBool32           maintenance4;
} VkPhysicalDeviceMaintenance4FeaturesKHR;

## Members

This structure describes the following features:

## Description

• 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 VkPhysicalDeviceMaintenance4FeaturesKHR 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. VkPhysicalDeviceMaintenance4FeaturesKHR can also be used in the pNext chain of VkDeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)
• VUID-VkPhysicalDeviceMaintenance4FeaturesKHR-sType-sType
sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR

VK_KHR_maintenance4, VkBool32, VkStructureType