# Vulkan® 1.4.304 - A Specification (with all registered extensions)

The Khronos® Vulkan Working Group
version 1.4.304, 2025-01-13 20:32:51Z
from git branch: Git branch not available commit: Git commit not available

Loading… please wait.

Search:

## Appendix D: Core Revisions (Informative)

New minor versions of the Vulkan API are defined periodically by the Khronos Vulkan Working Group. These consist of some amount of additional functionality added to the core API, potentially including both new functionality and functionality promoted from extensions.

It is possible to build the specification for earlier versions, but to aid readability of the latest versions, this appendix gives an overview of the changes as compared to earlier versions.

### Vulkan Version 1.4

Vulkan Version 1.4 promoted a number of key extensions into the core API:

- VK_KHR_dynamic_rendering_local_read

- VK_KHR_global_priority

- VK_KHR_index_type_uint8

- VK_KHR_line_rasterization

- VK_KHR_load_store_op_none

- VK_KHR_maintenance5

- VK_KHR_maintenance6

- VK_KHR_map_memory2

- VK_KHR_push_descriptor

- VK_KHR_shader_expect_assume

- VK_KHR_shader_float_controls2

- VK_KHR_shader_subgroup_rotate

- VK_KHR_vertex_attribute_divisor

- VK_EXT_host_image_copy

- VK_EXT_pipeline_protected_access

- VK_EXT_pipeline_robustness

All differences in behavior between these extensions and the corresponding Vulkan 1.4 functionality are summarized below.

Differences Relative to `VK_KHR_dynamic_rendering_local_read`

  If the VK_KHR_dynamic_rendering_local_read extension is not supported, Vulkan 1.4 implementations must support local read only for storage resources and single sampled color attachments.

  Support for reading depth/stencil attachments and multi-sampled attachments are respectively gated behind the new boolean `dynamicRenderingLocalReadDepthStencilAttachments` and `dynamicRenderingLocalReadMultisampledAttachments` properties.

  - If `dynamicRenderingLocalReadDepthStencilAttachments` is `VK_FALSE`, implementations do not support depth/stencil attachment access within dynamic rendering.

  - If `dynamicRenderingLocalReadMultisampledAttachments` is `VK_FALSE`, implementations do not support multisampled attachment access within dynamic rendering.

  - If both properties are `VK_TRUE`, the full functionality of the extension is supported.

Differences Relative to `VK_EXT_host_image_copy`

  If the VK_EXT_host_image_copy extension is not supported, support for it is optional in Vulkan 1.4.

  - An implementation that has a `VK_QUEUE_GRAPHICS_BIT` queue must support either:

    - the `hostImageCopy` feature; or

    - an additional queue that supports `VK_QUEUE_TRANSFER_BIT`.

Differences Relative to `VK_KHR_push_descriptor`

  VK_KHR_push_descriptor did not include a feature bit, so a new feature bit has been added to VkPhysicalDeviceVulkan14Features to gate its functionality: `pushDescriptor`. Enabling this new feature has the same effect as enabling the extension.

Differences Relative to `VK_EXT_pipeline_protected_access`

  VK_EXT_pipeline_protected_access is only useful when the `protectedMemory` feature is supported. As `protectedMemory` is optional in core Vulkan, `pipelineProtectedAccess` is only required when `protectedMemory` is supported.

Differences Relative to `VK_KHR_line_rasterization`

  The `bresenhamLines` feature is required, rather than just any one of the line style features.

Differences Relative to `VK_KHR_shader_subgroup_rotate`

  The `shaderSubgroupRotateClustered` feature is required in addition to `shaderSubgroupRotate`.

Additional Vulkan 1.4 Feature Support

  In addition to the promoted extensions described above, Vulkan 1.4 added required support for:

  - All queues supporting `VK_QUEUE_GRAPHICS_BIT` or `VK_QUEUE_COMPUTE_BIT` must also advertise `VK_QUEUE_TRANSFER_BIT`.

  - Clustered subgroup operations must be advertised in Vulkan 1.4 via setting both `VK_SUBGROUP_FEATURE_CLUSTERED_BIT` and `VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT` (as an interaction with the promoted VK_KHR_shader_subgroup_rotate functionality) in `supportedOperations`.

  - The following features that were optional in earlier versions:

    - `fullDrawIndexUint32`

    - `imageCubeArray`

    - `independentBlend`

    - `sampleRateShading`

    - `drawIndirectFirstInstance`

    - `depthClamp`

    - `depthBiasClamp`

    - `samplerAnisotropy`

    - `fragmentStoresAndAtomics`

    - `shaderStorageImageExtendedFormats`

    - `shaderUniformBufferArrayDynamicIndexing`

    - `shaderSampledImageArrayDynamicIndexing`

    - `shaderStorageBufferArrayDynamicIndexing`

    - `shaderStorageImageArrayDynamicIndexing`

    - `shaderImageGatherExtended`

    - `shaderInt16`

    - `largePoints`

    - `samplerYcbcrConversion`

    - `storageBuffer16BitAccess`

    - `variablePointers`

    - `variablePointersStorageBuffer`

    - `samplerMirrorClampToEdge`

    - `scalarBlockLayout`

    - `shaderUniformTexelBufferArrayDynamicIndexing`

    - `shaderStorageTexelBufferArrayDynamicIndexing`

    - `shaderInt8`

    - `storageBuffer8BitAccess`

#### New Macros

- VK_API_VERSION_1_4

#### New Commands

- vkCmdBindDescriptorSets2

- vkCmdBindIndexBuffer2

- vkCmdPushConstants2

- vkCmdPushDescriptorSet

- vkCmdPushDescriptorSet2

- vkCmdPushDescriptorSetWithTemplate

- vkCmdPushDescriptorSetWithTemplate2

- vkCmdSetLineStipple

- vkCmdSetRenderingAttachmentLocations

- vkCmdSetRenderingInputAttachmentIndices

- vkCopyImageToImage

- vkCopyImageToMemory

- vkCopyMemoryToImage

- vkGetDeviceImageSubresourceLayout

- vkGetImageSubresourceLayout2

- vkGetRenderingAreaGranularity

- vkMapMemory2

- vkTransitionImageLayout

- vkUnmapMemory2

#### New Structures

- VkBindDescriptorSetsInfo

- VkCopyImageToImageInfo

- VkCopyImageToMemoryInfo

- VkCopyMemoryToImageInfo

- VkDeviceImageSubresourceInfo

- VkHostImageLayoutTransitionInfo

- VkImageSubresource2

- VkImageToMemoryCopy

- VkMemoryMapInfo

- VkMemoryToImageCopy

- VkMemoryUnmapInfo

- VkPushConstantsInfo

- VkPushDescriptorSetInfo

- VkPushDescriptorSetWithTemplateInfo

- VkRenderingAreaInfo

- VkSubresourceLayout2

- VkVertexInputBindingDivisorDescription

- Extending VkBindBufferMemoryInfo, VkBindImageMemoryInfo:

  - VkBindMemoryStatus

- Extending VkBufferViewCreateInfo, VkBufferCreateInfo, VkPhysicalDeviceExternalBufferInfo, VkDescriptorBufferBindingInfoEXT:

  - VkBufferUsageFlags2CreateInfo

- Extending VkComputePipelineCreateInfo, VkGraphicsPipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkRayTracingPipelineCreateInfoKHR:

  - VkPipelineCreateFlags2CreateInfo

- Extending VkDeviceQueueCreateInfo:

  - VkDeviceQueueGlobalPriorityCreateInfo

- Extending VkGraphicsPipelineCreateInfo, VkCommandBufferInheritanceInfo:

  - VkRenderingAttachmentLocationInfo

  - VkRenderingInputAttachmentIndexInfo

- Extending VkGraphicsPipelineCreateInfo, VkComputePipelineCreateInfo, VkPipelineShaderStageCreateInfo, VkRayTracingPipelineCreateInfoKHR:

  - VkPipelineRobustnessCreateInfo

- Extending VkImageFormatProperties2:

  - VkHostImageCopyDevicePerformanceQuery

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceDynamicRenderingLocalReadFeatures

  - VkPhysicalDeviceGlobalPriorityQueryFeatures

  - VkPhysicalDeviceHostImageCopyFeatures

  - VkPhysicalDeviceIndexTypeUint8Features

  - VkPhysicalDeviceLineRasterizationFeatures

  - VkPhysicalDeviceMaintenance5Features

  - VkPhysicalDeviceMaintenance6Features

  - VkPhysicalDevicePipelineProtectedAccessFeatures

  - VkPhysicalDevicePipelineRobustnessFeatures

  - VkPhysicalDeviceShaderExpectAssumeFeatures

  - VkPhysicalDeviceShaderFloatControls2Features

  - VkPhysicalDeviceShaderSubgroupRotateFeatures

  - VkPhysicalDeviceVertexAttributeDivisorFeatures

  - VkPhysicalDeviceVulkan14Features

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceHostImageCopyProperties

  - VkPhysicalDeviceLineRasterizationProperties

  - VkPhysicalDeviceMaintenance5Properties

  - VkPhysicalDeviceMaintenance6Properties

  - VkPhysicalDevicePipelineRobustnessProperties

  - VkPhysicalDevicePushDescriptorProperties

  - VkPhysicalDeviceVertexAttributeDivisorProperties

  - VkPhysicalDeviceVulkan14Properties

- Extending VkPipelineRasterizationStateCreateInfo:

  - VkPipelineRasterizationLineStateCreateInfo

- Extending VkPipelineVertexInputStateCreateInfo:

  - VkPipelineVertexInputDivisorStateCreateInfo

- Extending VkQueueFamilyProperties2:

  - VkQueueFamilyGlobalPriorityProperties

- Extending VkSubresourceLayout2:

  - VkSubresourceHostMemcpySize

#### New Enums

- VkBufferUsageFlagBits2

- VkHostImageCopyFlagBits

- VkLineRasterizationMode

- VkMemoryUnmapFlagBits

- VkPipelineCreateFlagBits2

- VkPipelineRobustnessBufferBehavior

- VkPipelineRobustnessImageBehavior

- VkQueueGlobalPriority

#### New Bitmasks

- VkBufferUsageFlags2

- VkHostImageCopyFlags

- VkMemoryUnmapFlags

- VkPipelineCreateFlags2

#### New Enum Constants

- `VK_MAX_GLOBAL_PRIORITY_SIZE`

- Extending VkAttachmentLoadOp:

  - `VK_ATTACHMENT_LOAD_OP_NONE`

- Extending VkBufferUsageFlagBits2:

  - `VK_BUFFER_USAGE_2_SHADER_DEVICE_ADDRESS_BIT`

- Extending VkDescriptorSetLayoutCreateFlagBits:

  - `VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT`

- Extending VkDescriptorUpdateTemplateType:

  - `VK_DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS`

- Extending VkDynamicState:

  - `VK_DYNAMIC_STATE_LINE_STIPPLE`

- Extending VkFormat:

  - `VK_FORMAT_A1B5G5R5_UNORM_PACK16`

  - `VK_FORMAT_A8_UNORM`

- Extending VkFormatFeatureFlagBits2:

  - `VK_FORMAT_FEATURE_2_HOST_IMAGE_TRANSFER_BIT`

- Extending VkImageLayout:

  - `VK_IMAGE_LAYOUT_RENDERING_LOCAL_READ`

- Extending VkImageUsageFlagBits:

  - `VK_IMAGE_USAGE_HOST_TRANSFER_BIT`

- Extending VkIndexType:

  - `VK_INDEX_TYPE_UINT8`

- Extending VkPipelineCreateFlagBits:

  - `VK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT`

  - `VK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT`

- Extending VkResult:

  - `VK_ERROR_NOT_PERMITTED`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO`

  - `VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS`

  - `VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_IMAGE_INFO`

  - `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_MEMORY_INFO`

  - `VK_STRUCTURE_TYPE_COPY_MEMORY_TO_IMAGE_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_IMAGE_SUBRESOURCE_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_QUEUE_GLOBAL_PRIORITY_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_HOST_IMAGE_COPY_DEVICE_PERFORMANCE_QUERY`

  - `VK_STRUCTURE_TYPE_HOST_IMAGE_LAYOUT_TRANSITION_INFO`

  - `VK_STRUCTURE_TYPE_IMAGE_SUBRESOURCE_2`

  - `VK_STRUCTURE_TYPE_IMAGE_TO_MEMORY_COPY`

  - `VK_STRUCTURE_TYPE_MEMORY_MAP_INFO`

  - `VK_STRUCTURE_TYPE_MEMORY_TO_IMAGE_COPY`

  - `VK_STRUCTURE_TYPE_MEMORY_UNMAP_INFO`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_IMAGE_COPY_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_PROTECTED_ACCESS_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_ROBUSTNESS_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PUSH_DESCRIPTOR_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_4_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PIPELINE_ROBUSTNESS_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO`

  - `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO`

  - `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO`

  - `VK_STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES`

  - `VK_STRUCTURE_TYPE_RENDERING_AREA_INFO`

  - `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO`

  - `VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO`

  - `VK_STRUCTURE_TYPE_SUBRESOURCE_HOST_MEMCPY_SIZE`

  - `VK_STRUCTURE_TYPE_SUBRESOURCE_LAYOUT_2`

- Extending VkSubgroupFeatureFlagBits:

  - `VK_SUBGROUP_FEATURE_ROTATE_BIT`

  - `VK_SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT`

### Vulkan Version 1.3

Vulkan Version 1.3 promoted a number of key extensions into the core API:

- VK_KHR_copy_commands2

- VK_KHR_dynamic_rendering

- VK_KHR_format_feature_flags2

- VK_KHR_maintenance4

- VK_KHR_shader_integer_dot_product

- VK_KHR_shader_non_semantic_info

- VK_KHR_shader_terminate_invocation

- VK_KHR_synchronization2

- VK_KHR_zero_initialize_workgroup_memory

- VK_EXT_4444_formats

- VK_EXT_extended_dynamic_state

- VK_EXT_extended_dynamic_state2

- VK_EXT_image_robustness

- VK_EXT_inline_uniform_block

- VK_EXT_pipeline_creation_cache_control

- VK_EXT_pipeline_creation_feedback

- VK_EXT_private_data

- VK_EXT_shader_demote_to_helper_invocation

- VK_EXT_subgroup_size_control

- VK_EXT_texel_buffer_alignment

- VK_EXT_texture_compression_astc_hdr

- VK_EXT_tooling_info

- VK_EXT_ycbcr_2plane_444_formats

All differences in behavior between these extensions and the corresponding Vulkan 1.3 functionality are summarized below.

Differences Relative to `VK_EXT_4444_formats`

  If the `VK_EXT_4444_formats` extension is not supported, support for all formats defined by it are optional in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDevice4444FormatsFeaturesEXT structure.

Differences Relative to `VK_EXT_extended_dynamic_state`

  All dynamic state enumerants and commands defined by `VK_EXT_extended_dynamic_state` are required in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDeviceExtendedDynamicStateFeaturesEXT structure.

Differences Relative to `VK_EXT_extended_dynamic_state2`

  The optional dynamic state enumerants and commands defined by `VK_EXT_extended_dynamic_state2` for patch control points and logic op are not promoted in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDeviceExtendedDynamicState2FeaturesEXT structure.

Differences Relative to `VK_EXT_texel_buffer_alignment`

  The more specific alignment requirements defined by VkPhysicalDeviceTexelBufferAlignmentProperties are required in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT structure. The `texelBufferAlignment` feature is enabled if using a Vulkan 1.3 instance.

Differences Relative to `VK_EXT_texture_compression_astc_hdr`

  If the `VK_EXT_texture_compression_astc_hdr` extension is not supported, support for all formats defined by it are optional in Vulkan 1.3. The `textureCompressionASTC_HDR` member of VkPhysicalDeviceVulkan13Features indicates whether a Vulkan 1.3 implementation supports these formats.

Differences Relative to `VK_EXT_ycbcr_2plane_444_formats`

  If the `VK_EXT_ycbcr_2plane_444_formats` extension is not supported, support for all formats defined by it are optional in Vulkan 1.3. There are no members in the VkPhysicalDeviceVulkan13Features structure corresponding to the VkPhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT structure.

Additional Vulkan 1.3 Feature Support

  In addition to the promoted extensions described above, Vulkan 1.3 added required support for:

  - SPIR-V version 1.6

    - SPIR-V 1.6 deprecates (but does not remove) the `WorkgroupSize` decoration.

  - The `bufferDeviceAddress` feature which indicates support for accessing memory in shaders as storage buffers via vkGetBufferDeviceAddress.

  - The `vulkanMemoryModel` and `vulkanMemoryModelDeviceScope` features, which indicate support for the corresponding Vulkan Memory Model capabilities.

  - The `maxInlineUniformTotalSize` limit is added to provide the total size of all inline uniform block bindings in a pipeline layout.

#### New Macros

- VK_API_VERSION_1_3

#### New Base Types

- VkFlags64

#### New Object Types

- VkPrivateDataSlot

#### New Commands

- vkCmdBeginRendering

- vkCmdBindVertexBuffers2

- vkCmdBlitImage2

- vkCmdCopyBuffer2

- vkCmdCopyBufferToImage2

- vkCmdCopyImage2

- vkCmdCopyImageToBuffer2

- vkCmdEndRendering

- vkCmdPipelineBarrier2

- vkCmdResetEvent2

- vkCmdResolveImage2

- vkCmdSetCullMode

- vkCmdSetDepthBiasEnable

- vkCmdSetDepthBoundsTestEnable

- vkCmdSetDepthCompareOp

- vkCmdSetDepthTestEnable

- vkCmdSetDepthWriteEnable

- vkCmdSetEvent2

- vkCmdSetFrontFace

- vkCmdSetPrimitiveRestartEnable

- vkCmdSetPrimitiveTopology

- vkCmdSetRasterizerDiscardEnable

- vkCmdSetScissorWithCount

- vkCmdSetStencilOp

- vkCmdSetStencilTestEnable

- vkCmdSetViewportWithCount

- vkCmdWaitEvents2

- vkCmdWriteTimestamp2

- vkCreatePrivateDataSlot

- vkDestroyPrivateDataSlot

- vkGetDeviceBufferMemoryRequirements

- vkGetDeviceImageMemoryRequirements

- vkGetDeviceImageSparseMemoryRequirements

- vkGetPhysicalDeviceToolProperties

- vkGetPrivateData

- vkQueueSubmit2

- vkSetPrivateData

#### New Structures

- VkBlitImageInfo2

- VkBufferCopy2

- VkBufferImageCopy2

- VkBufferMemoryBarrier2

- VkCommandBufferSubmitInfo

- VkCopyBufferInfo2

- VkCopyBufferToImageInfo2

- VkCopyImageInfo2

- VkCopyImageToBufferInfo2

- VkDependencyInfo

- VkDeviceBufferMemoryRequirements

- VkDeviceImageMemoryRequirements

- VkImageBlit2

- VkImageCopy2

- VkImageMemoryBarrier2

- VkImageResolve2

- VkPhysicalDeviceToolProperties

- VkPipelineCreationFeedback

- VkPrivateDataSlotCreateInfo

- VkRenderingAttachmentInfo

- VkRenderingInfo

- VkResolveImageInfo2

- VkSemaphoreSubmitInfo

- VkSubmitInfo2

- Extending VkCommandBufferInheritanceInfo:

  - VkCommandBufferInheritanceRenderingInfo

- Extending VkDescriptorPoolCreateInfo:

  - VkDescriptorPoolInlineUniformBlockCreateInfo

- Extending VkDeviceCreateInfo:

  - VkDevicePrivateDataCreateInfo

- Extending VkFormatProperties2:

  - VkFormatProperties3

- Extending VkGraphicsPipelineCreateInfo:

  - VkPipelineRenderingCreateInfo

- Extending VkGraphicsPipelineCreateInfo, VkComputePipelineCreateInfo, VkRayTracingPipelineCreateInfoNV, VkRayTracingPipelineCreateInfoKHR, VkExecutionGraphPipelineCreateInfoAMDX:

  - VkPipelineCreationFeedbackCreateInfo

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceDynamicRenderingFeatures

  - VkPhysicalDeviceImageRobustnessFeatures

  - VkPhysicalDeviceInlineUniformBlockFeatures

  - VkPhysicalDeviceMaintenance4Features

  - VkPhysicalDevicePipelineCreationCacheControlFeatures

  - VkPhysicalDevicePrivateDataFeatures

  - VkPhysicalDeviceShaderDemoteToHelperInvocationFeatures

  - VkPhysicalDeviceShaderIntegerDotProductFeatures

  - VkPhysicalDeviceShaderTerminateInvocationFeatures

  - VkPhysicalDeviceSubgroupSizeControlFeatures

  - VkPhysicalDeviceSynchronization2Features

  - VkPhysicalDeviceTextureCompressionASTCHDRFeatures

  - VkPhysicalDeviceVulkan13Features

  - VkPhysicalDeviceZeroInitializeWorkgroupMemoryFeatures

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceInlineUniformBlockProperties

  - VkPhysicalDeviceMaintenance4Properties

  - VkPhysicalDeviceShaderIntegerDotProductProperties

  - VkPhysicalDeviceSubgroupSizeControlProperties

  - VkPhysicalDeviceTexelBufferAlignmentProperties

  - VkPhysicalDeviceVulkan13Properties

- Extending VkPipelineShaderStageCreateInfo, VkShaderCreateInfoEXT:

  - VkPipelineShaderStageRequiredSubgroupSizeCreateInfo

- Extending VkSubpassDependency2:

  - VkMemoryBarrier2

- Extending VkWriteDescriptorSet:

  - VkWriteDescriptorSetInlineUniformBlock

#### New Enums

- VkAccessFlagBits2

- VkFormatFeatureFlagBits2

- VkPipelineCreationFeedbackFlagBits

- VkPipelineStageFlagBits2

- VkRenderingFlagBits

- VkSubmitFlagBits

- VkToolPurposeFlagBits

#### New Bitmasks

- VkAccessFlags2

- VkFormatFeatureFlags2

- VkPipelineCreationFeedbackFlags

- VkPipelineStageFlags2

- VkPrivateDataSlotCreateFlags

- VkRenderingFlags

- VkSubmitFlags

- VkToolPurposeFlags

#### New Enum Constants

- Extending VkAccessFlagBits:

  - `VK_ACCESS_NONE`

- Extending VkAttachmentStoreOp:

  - `VK_ATTACHMENT_STORE_OP_NONE`

- Extending VkDescriptorType:

  - `VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK`

- Extending VkDynamicState:

  - `VK_DYNAMIC_STATE_CULL_MODE`

  - `VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE`

  - `VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE`

  - `VK_DYNAMIC_STATE_DEPTH_COMPARE_OP`

  - `VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE`

  - `VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE`

  - `VK_DYNAMIC_STATE_FRONT_FACE`

  - `VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE`

  - `VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY`

  - `VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE`

  - `VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT`

  - `VK_DYNAMIC_STATE_STENCIL_OP`

  - `VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE`

  - `VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE`

  - `VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT`

- Extending VkEventCreateFlagBits:

  - `VK_EVENT_CREATE_DEVICE_ONLY_BIT`

- Extending VkFormat:

  - `VK_FORMAT_A4B4G4R4_UNORM_PACK16`

  - `VK_FORMAT_A4R4G4B4_UNORM_PACK16`

  - `VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK`

  - `VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK`

  - `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16`

  - `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16`

  - `VK_FORMAT_G16_B16R16_2PLANE_444_UNORM`

  - `VK_FORMAT_G8_B8R8_2PLANE_444_UNORM`

- Extending VkFormatFeatureFlagBits2:

  - `VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT`

- Extending VkImageAspectFlagBits:

  - `VK_IMAGE_ASPECT_NONE`

- Extending VkImageLayout:

  - `VK_IMAGE_LAYOUT_ATTACHMENT_OPTIMAL`

  - `VK_IMAGE_LAYOUT_READ_ONLY_OPTIMAL`

- Extending VkObjectType:

  - `VK_OBJECT_TYPE_PRIVATE_DATA_SLOT`

- Extending VkPipelineCacheCreateFlagBits:

  - `VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT`

- Extending VkPipelineCreateFlagBits:

  - `VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT`

  - `VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT`

- Extending VkPipelineShaderStageCreateFlagBits:

  - `VK_PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT`

  - `VK_PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT`

- Extending VkPipelineStageFlagBits:

  - `VK_PIPELINE_STAGE_NONE`

- Extending VkResult:

  - `VK_PIPELINE_COMPILE_REQUIRED`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_BLIT_IMAGE_INFO_2`

  - `VK_STRUCTURE_TYPE_BUFFER_COPY_2`

  - `VK_STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2`

  - `VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER_2`

  - `VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO`

  - `VK_STRUCTURE_TYPE_COMMAND_BUFFER_SUBMIT_INFO`

  - `VK_STRUCTURE_TYPE_COPY_BUFFER_INFO_2`

  - `VK_STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2`

  - `VK_STRUCTURE_TYPE_COPY_IMAGE_INFO_2`

  - `VK_STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2`

  - `VK_STRUCTURE_TYPE_DEPENDENCY_INFO`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_POOL_INLINE_UNIFORM_BLOCK_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS`

  - `VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS`

  - `VK_STRUCTURE_TYPE_DEVICE_PRIVATE_DATA_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3`

  - `VK_STRUCTURE_TYPE_IMAGE_BLIT_2`

  - `VK_STRUCTURE_TYPE_IMAGE_COPY_2`

  - `VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2`

  - `VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2`

  - `VK_STRUCTURE_TYPE_MEMORY_BARRIER_2`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_ROBUSTNESS_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIVATE_DATA_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_TERMINATE_INVOCATION_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SYNCHRONIZATION_2_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXTURE_COMPRESSION_ASTC_HDR_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TOOL_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_3_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ZERO_INITIALIZE_WORKGROUP_MEMORY_FEATURES`

  - `VK_STRUCTURE_TYPE_PIPELINE_CREATION_FEEDBACK_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PIPELINE_RENDERING_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PRIVATE_DATA_SLOT_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_INFO`

  - `VK_STRUCTURE_TYPE_RENDERING_INFO`

  - `VK_STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2`

  - `VK_STRUCTURE_TYPE_SEMAPHORE_SUBMIT_INFO`

  - `VK_STRUCTURE_TYPE_SUBMIT_INFO_2`

  - `VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK`

### Vulkan Version 1.2

Vulkan Version 1.2 promoted a number of key extensions into the core API:

- VK_KHR_8bit_storage

- VK_KHR_buffer_device_address

- VK_KHR_create_renderpass2

- VK_KHR_depth_stencil_resolve

- VK_KHR_draw_indirect_count

- VK_KHR_driver_properties

- VK_KHR_image_format_list

- VK_KHR_imageless_framebuffer

- VK_KHR_sampler_mirror_clamp_to_edge

- VK_KHR_separate_depth_stencil_layouts

- VK_KHR_shader_atomic_int64

- VK_KHR_shader_float16_int8

- VK_KHR_shader_float_controls

- VK_KHR_shader_subgroup_extended_types

- VK_KHR_spirv_1_4

- VK_KHR_timeline_semaphore

- VK_KHR_uniform_buffer_standard_layout

- VK_KHR_vulkan_memory_model

- VK_EXT_descriptor_indexing

- VK_EXT_host_query_reset

- VK_EXT_sampler_filter_minmax

- VK_EXT_scalar_block_layout

- VK_EXT_separate_stencil_usage

- VK_EXT_shader_viewport_index_layer

All differences in behavior between these extensions and the corresponding Vulkan 1.2 functionality are summarized below.

Differences Relative to `VK_KHR_8bit_storage`

  If the `VK_KHR_8bit_storage` extension is not supported, support for the SPIR-V `storageBuffer8BitAccess` capability in shader modules is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`storageBuffer8BitAccess` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_draw_indirect_count`

  If the `VK_KHR_draw_indirect_count` extension is not supported, support for the commands vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`drawIndirectCount` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_sampler_mirror_clamp_to_edge`

  If the `VK_KHR_sampler_mirror_clamp_to_edge` extension is not supported, support for the VkSamplerAddressMode `VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE` is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`samplerMirrorClampToEdge` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_EXT_descriptor_indexing`

  If the `VK_EXT_descriptor_indexing` extension is not supported, support for the `descriptorIndexing` feature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`descriptorIndexing` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_EXT_scalar_block_layout`

  If the `VK_EXT_scalar_block_layout` extension is not supported, support for the `scalarBlockLayout` feature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`scalarBlockLayout` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_EXT_shader_viewport_index_layer`

  The `ShaderViewportIndexLayerEXT` SPIR-V capability was replaced with the `ShaderViewportIndex` and `ShaderLayer` capabilities. Declaring both is equivalent to declaring `ShaderViewportIndexLayerEXT`. If the `VK_EXT_shader_viewport_index_layer` extension is not supported, support for the `ShaderViewportIndexLayerEXT` SPIR-V capability is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`shaderOutputViewportIndex` and VkPhysicalDeviceVulkan12Features::`shaderOutputLayer` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_buffer_device_address`

  If the `VK_KHR_buffer_device_address` extension is not supported, support for the `bufferDeviceAddress` feature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`bufferDeviceAddress` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_shader_atomic_int64`

  If the `VK_KHR_shader_atomic_int64` extension is not supported, support for the `shaderBufferInt64Atomics` feature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`shaderBufferInt64Atomics` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_shader_float16_int8`

  If the `VK_KHR_shader_float16_int8` extension is not supported, support for the `shaderFloat16` and `shaderInt8` features is optional. Support for these features are defined by VkPhysicalDeviceVulkan12Features::`shaderFloat16` and VkPhysicalDeviceVulkan12Features::`shaderInt8` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_vulkan_memory_model`

  If the `VK_KHR_vulkan_memory_model` extension is not supported, support for the `vulkanMemoryModel` feature is optional. Support for this feature is defined by VkPhysicalDeviceVulkan12Features::`vulkanMemoryModel` when queried via vkGetPhysicalDeviceFeatures2.

Additional Vulkan 1.2 Feature Support

  In addition to the promoted extensions described above, Vulkan 1.2 added support for:

  - SPIR-V version 1.4.

  - SPIR-V version 1.5.

  - The `samplerMirrorClampToEdge` feature which indicates whether the implementation supports the `VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE` sampler address mode.

  - The `ShaderNonUniform` capability in SPIR-V version 1.5.

  - The `shaderOutputViewportIndex` feature which indicates that the `ShaderViewportIndex` capability can be used.

  - The `shaderOutputLayer` feature which indicates that the `ShaderLayer` capability can be used.

  - The `subgroupBroadcastDynamicId` feature which allows the “Id” operand of `OpGroupNonUniformBroadcast` to be dynamically uniform within a subgroup, and the “Index” operand of `OpGroupNonUniformQuadBroadcast` to be dynamically uniform within a derivative group, in shader modules of version 1.5 or higher.

  - The `drawIndirectCount` feature which indicates whether the vkCmdDrawIndirectCount and vkCmdDrawIndexedIndirectCount functions can be used.

  - The `descriptorIndexing` feature which indicates the implementation supports the minimum number of descriptor indexing features as defined in the Feature Requirements section.

  - The `samplerFilterMinmax` feature which indicates whether the implementation supports the minimum number of image formats that support the `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT` feature bit as defined by the `filterMinmaxSingleComponentFormats` property minimum requirements.

  - The `framebufferIntegerColorSampleCounts` limit which indicates the color sample counts that are supported for all framebuffer color attachments with integer formats.

#### New Macros

- VK_API_VERSION_1_2

#### New Commands

- vkCmdBeginRenderPass2

- vkCmdDrawIndexedIndirectCount

- vkCmdDrawIndirectCount

- vkCmdEndRenderPass2

- vkCmdNextSubpass2

- vkCreateRenderPass2

- vkGetBufferDeviceAddress

- vkGetBufferOpaqueCaptureAddress

- vkGetDeviceMemoryOpaqueCaptureAddress

- vkGetSemaphoreCounterValue

- vkResetQueryPool

- vkSignalSemaphore

- vkWaitSemaphores

#### New Structures

- VkAttachmentDescription2

- VkAttachmentReference2

- VkBufferDeviceAddressInfo

- VkConformanceVersion

- VkDeviceMemoryOpaqueCaptureAddressInfo

- VkFramebufferAttachmentImageInfo

- VkRenderPassCreateInfo2

- VkSemaphoreSignalInfo

- VkSemaphoreWaitInfo

- VkSubpassBeginInfo

- VkSubpassDependency2

- VkSubpassDescription2

- VkSubpassEndInfo

- Extending VkAttachmentDescription2:

  - VkAttachmentDescriptionStencilLayout

- Extending VkAttachmentReference2:

  - VkAttachmentReferenceStencilLayout

- Extending VkBufferCreateInfo:

  - VkBufferOpaqueCaptureAddressCreateInfo

- Extending VkDescriptorSetAllocateInfo:

  - VkDescriptorSetVariableDescriptorCountAllocateInfo

- Extending VkDescriptorSetLayoutCreateInfo:

  - VkDescriptorSetLayoutBindingFlagsCreateInfo

- Extending VkDescriptorSetLayoutSupport:

  - VkDescriptorSetVariableDescriptorCountLayoutSupport

- Extending VkFramebufferCreateInfo:

  - VkFramebufferAttachmentsCreateInfo

- Extending VkImageCreateInfo, VkPhysicalDeviceImageFormatInfo2:

  - VkImageStencilUsageCreateInfo

- Extending VkImageCreateInfo, VkSwapchainCreateInfoKHR, VkPhysicalDeviceImageFormatInfo2:

  - VkImageFormatListCreateInfo

- Extending VkMemoryAllocateInfo:

  - VkMemoryOpaqueCaptureAddressAllocateInfo

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDevice8BitStorageFeatures

  - VkPhysicalDeviceBufferDeviceAddressFeatures

  - VkPhysicalDeviceDescriptorIndexingFeatures

  - VkPhysicalDeviceHostQueryResetFeatures

  - VkPhysicalDeviceImagelessFramebufferFeatures

  - VkPhysicalDeviceScalarBlockLayoutFeatures

  - VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures

  - VkPhysicalDeviceShaderAtomicInt64Features

  - VkPhysicalDeviceShaderFloat16Int8Features

  - VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures

  - VkPhysicalDeviceTimelineSemaphoreFeatures

  - VkPhysicalDeviceUniformBufferStandardLayoutFeatures

  - VkPhysicalDeviceVulkan11Features

  - VkPhysicalDeviceVulkan12Features

  - VkPhysicalDeviceVulkanMemoryModelFeatures

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceDepthStencilResolveProperties

  - VkPhysicalDeviceDescriptorIndexingProperties

  - VkPhysicalDeviceDriverProperties

  - VkPhysicalDeviceFloatControlsProperties

  - VkPhysicalDeviceSamplerFilterMinmaxProperties

  - VkPhysicalDeviceTimelineSemaphoreProperties

  - VkPhysicalDeviceVulkan11Properties

  - VkPhysicalDeviceVulkan12Properties

- Extending VkRenderPassBeginInfo:

  - VkRenderPassAttachmentBeginInfo

- Extending VkSamplerCreateInfo:

  - VkSamplerReductionModeCreateInfo

- Extending VkSemaphoreCreateInfo, VkPhysicalDeviceExternalSemaphoreInfo:

  - VkSemaphoreTypeCreateInfo

- Extending VkSubmitInfo, VkBindSparseInfo:

  - VkTimelineSemaphoreSubmitInfo

- Extending VkSubpassDescription2:

  - VkSubpassDescriptionDepthStencilResolve

#### New Enums

- VkDescriptorBindingFlagBits

- VkDriverId

- VkResolveModeFlagBits

- VkSamplerReductionMode

- VkSemaphoreType

- VkSemaphoreWaitFlagBits

- VkShaderFloatControlsIndependence

#### New Bitmasks

- VkDescriptorBindingFlags

- VkResolveModeFlags

- VkSemaphoreWaitFlags

#### New Enum Constants

- `VK_MAX_DRIVER_INFO_SIZE`

- `VK_MAX_DRIVER_NAME_SIZE`

- Extending VkBufferCreateFlagBits:

  - `VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT`

- Extending VkBufferUsageFlagBits:

  - `VK_BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT`

- Extending VkDescriptorPoolCreateFlagBits:

  - `VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT`

- Extending VkDescriptorSetLayoutCreateFlagBits:

  - `VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT`

- Extending VkFormatFeatureFlagBits:

  - `VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT`

- Extending VkFramebufferCreateFlagBits:

  - `VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT`

- Extending VkImageLayout:

  - `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL`

  - `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL`

  - `VK_IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL`

  - `VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL`

- Extending VkMemoryAllocateFlagBits:

  - `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT`

  - `VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT`

- Extending VkResult:

  - `VK_ERROR_FRAGMENTATION`

  - `VK_ERROR_INVALID_OPAQUE_CAPTURE_ADDRESS`

- Extending VkSamplerAddressMode:

  - `VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2`

  - `VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT`

  - `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2`

  - `VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT`

  - `VK_STRUCTURE_TYPE_BUFFER_DEVICE_ADDRESS_INFO`

  - `VK_STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT`

  - `VK_STRUCTURE_TYPE_DEVICE_MEMORY_OPAQUE_CAPTURE_ADDRESS_INFO`

  - `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENTS_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_FRAMEBUFFER_ATTACHMENT_IMAGE_INFO`

  - `VK_STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_IMAGE_STENCIL_USAGE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_8BIT_STORAGE_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_STENCIL_RESOLVE_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRIVER_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_HOST_QUERY_RESET_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGELESS_FRAMEBUFFER_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_FILTER_MINMAX_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCALAR_BLOCK_LAYOUT_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_INT64_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_EXTENDED_TYPES_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TIMELINE_SEMAPHORE_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_UNIFORM_BUFFER_STANDARD_LAYOUT_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_2_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_MEMORY_MODEL_FEATURES`

  - `VK_STRUCTURE_TYPE_RENDER_PASS_ATTACHMENT_BEGIN_INFO`

  - `VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2`

  - `VK_STRUCTURE_TYPE_SAMPLER_REDUCTION_MODE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_SEMAPHORE_SIGNAL_INFO`

  - `VK_STRUCTURE_TYPE_SEMAPHORE_TYPE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_SEMAPHORE_WAIT_INFO`

  - `VK_STRUCTURE_TYPE_SUBPASS_BEGIN_INFO`

  - `VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2`

  - `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2`

  - `VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE`

  - `VK_STRUCTURE_TYPE_SUBPASS_END_INFO`

  - `VK_STRUCTURE_TYPE_TIMELINE_SEMAPHORE_SUBMIT_INFO`

### Vulkan Version 1.1

Vulkan Version 1.1 promoted a number of key extensions into the core API:

- VK_KHR_16bit_storage

- VK_KHR_bind_memory2

- VK_KHR_dedicated_allocation

- VK_KHR_descriptor_update_template

- VK_KHR_device_group

- VK_KHR_device_group_creation

- VK_KHR_external_fence

- VK_KHR_external_fence_capabilities

- VK_KHR_external_memory

- VK_KHR_external_memory_capabilities

- VK_KHR_external_semaphore

- VK_KHR_external_semaphore_capabilities

- VK_KHR_get_memory_requirements2

- VK_KHR_get_physical_device_properties2

- VK_KHR_maintenance1

- VK_KHR_maintenance2

- VK_KHR_maintenance3

- VK_KHR_multiview

- VK_KHR_relaxed_block_layout

- VK_KHR_sampler_ycbcr_conversion

- VK_KHR_shader_draw_parameters

- VK_KHR_storage_buffer_storage_class

- VK_KHR_variable_pointers

All differences in behavior between these extensions and the corresponding Vulkan 1.1 functionality are summarized below.

Differences Relative to `VK_KHR_16bit_storage`

  If the `VK_KHR_16bit_storage` extension is not supported, support for the `storageBuffer16BitAccess` feature is optional. Support for this feature is defined by VkPhysicalDevice16BitStorageFeatures::`storageBuffer16BitAccess` or VkPhysicalDeviceVulkan11Features::`storageBuffer16BitAccess` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_sampler_ycbcr_conversion`

  If the `VK_KHR_sampler_ycbcr_conversion` extension is not supported, support for the `samplerYcbcrConversion` feature is optional. Support for this feature is defined by VkPhysicalDeviceSamplerYcbcrConversionFeatures::`samplerYcbcrConversion` or VkPhysicalDeviceVulkan11Features::`samplerYcbcrConversion` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_shader_draw_parameters`

  If the `VK_KHR_shader_draw_parameters` extension is not supported, support for the `SPV_KHR_shader_draw_parameters` SPIR-V extension is optional. Support for this feature is defined by VkPhysicalDeviceShaderDrawParametersFeatures::`shaderDrawParameters` or VkPhysicalDeviceVulkan11Features::`shaderDrawParameters` when queried via vkGetPhysicalDeviceFeatures2.

Differences Relative to `VK_KHR_variable_pointers`

  If the `VK_KHR_variable_pointers` extension is not supported, support for the `variablePointersStorageBuffer` feature is optional. Support for this feature is defined by VkPhysicalDeviceVariablePointersFeatures::`variablePointersStorageBuffer` or VkPhysicalDeviceVulkan11Features::`variablePointersStorageBuffer` when queried via vkGetPhysicalDeviceFeatures2.

Additional Vulkan 1.1 Feature Support

  In addition to the promoted extensions described above, Vulkan 1.1 added support for:

  - The group operations and subgroup scope.

  - The protected memory feature.

  - A new command to enumerate the instance version: vkEnumerateInstanceVersion.

  - The VkPhysicalDeviceShaderDrawParametersFeatures feature query struct (where the `VK_KHR_shader_draw_parameters` extension did not have one).

#### New Macros

- VK_API_VERSION_1_1

#### New Object Types

- VkDescriptorUpdateTemplate

- VkSamplerYcbcrConversion

#### New Commands

- vkBindBufferMemory2

- vkBindImageMemory2

- vkCmdDispatchBase

- vkCmdSetDeviceMask

- vkCreateDescriptorUpdateTemplate

- vkCreateSamplerYcbcrConversion

- vkDestroyDescriptorUpdateTemplate

- vkDestroySamplerYcbcrConversion

- vkEnumerateInstanceVersion

- vkEnumeratePhysicalDeviceGroups

- vkGetBufferMemoryRequirements2

- vkGetDescriptorSetLayoutSupport

- vkGetDeviceGroupPeerMemoryFeatures

- vkGetDeviceQueue2

- vkGetImageMemoryRequirements2

- vkGetImageSparseMemoryRequirements2

- vkGetPhysicalDeviceExternalBufferProperties

- vkGetPhysicalDeviceExternalFenceProperties

- vkGetPhysicalDeviceExternalSemaphoreProperties

- vkGetPhysicalDeviceFeatures2

- vkGetPhysicalDeviceFormatProperties2

- vkGetPhysicalDeviceImageFormatProperties2

- vkGetPhysicalDeviceMemoryProperties2

- vkGetPhysicalDeviceProperties2

- vkGetPhysicalDeviceQueueFamilyProperties2

- vkGetPhysicalDeviceSparseImageFormatProperties2

- vkTrimCommandPool

- vkUpdateDescriptorSetWithTemplate

#### New Structures

- VkBindBufferMemoryInfo

- VkBindImageMemoryInfo

- VkBufferMemoryRequirementsInfo2

- VkDescriptorSetLayoutSupport

- VkDescriptorUpdateTemplateCreateInfo

- VkDescriptorUpdateTemplateEntry

- VkDeviceQueueInfo2

- VkExternalBufferProperties

- VkExternalFenceProperties

- VkExternalMemoryProperties

- VkExternalSemaphoreProperties

- VkFormatProperties2

- VkImageFormatProperties2

- VkImageMemoryRequirementsInfo2

- VkImageSparseMemoryRequirementsInfo2

- VkInputAttachmentAspectReference

- VkMemoryRequirements2

- VkPhysicalDeviceExternalBufferInfo

- VkPhysicalDeviceExternalFenceInfo

- VkPhysicalDeviceExternalSemaphoreInfo

- VkPhysicalDeviceGroupProperties

- VkPhysicalDeviceImageFormatInfo2

- VkPhysicalDeviceMemoryProperties2

- VkPhysicalDeviceProperties2

- VkPhysicalDeviceSparseImageFormatInfo2

- VkQueueFamilyProperties2

- VkSamplerYcbcrConversionCreateInfo

- VkSparseImageFormatProperties2

- VkSparseImageMemoryRequirements2

- Extending VkBindBufferMemoryInfo:

  - VkBindBufferMemoryDeviceGroupInfo

- Extending VkBindImageMemoryInfo:

  - VkBindImageMemoryDeviceGroupInfo

  - VkBindImagePlaneMemoryInfo

- Extending VkBindSparseInfo:

  - VkDeviceGroupBindSparseInfo

- Extending VkBufferCreateInfo:

  - VkExternalMemoryBufferCreateInfo

- Extending VkCommandBufferBeginInfo:

  - VkDeviceGroupCommandBufferBeginInfo

- Extending VkDeviceCreateInfo:

  - VkDeviceGroupDeviceCreateInfo

  - VkPhysicalDeviceFeatures2

- Extending VkFenceCreateInfo:

  - VkExportFenceCreateInfo

- Extending VkImageCreateInfo:

  - VkExternalMemoryImageCreateInfo

- Extending VkImageFormatProperties2:

  - VkExternalImageFormatProperties

  - VkSamplerYcbcrConversionImageFormatProperties

- Extending VkImageMemoryRequirementsInfo2:

  - VkImagePlaneMemoryRequirementsInfo

- Extending VkImageViewCreateInfo:

  - VkImageViewUsageCreateInfo

- Extending VkMemoryAllocateInfo:

  - VkExportMemoryAllocateInfo

  - VkMemoryAllocateFlagsInfo

  - VkMemoryDedicatedAllocateInfo

- Extending VkMemoryRequirements2:

  - VkMemoryDedicatedRequirements

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDevice16BitStorageFeatures

  - VkPhysicalDeviceMultiviewFeatures

  - VkPhysicalDeviceProtectedMemoryFeatures

  - VkPhysicalDeviceSamplerYcbcrConversionFeatures

  - VkPhysicalDeviceShaderDrawParameterFeatures

  - VkPhysicalDeviceShaderDrawParametersFeatures

  - VkPhysicalDeviceVariablePointerFeatures

  - VkPhysicalDeviceVariablePointersFeatures

- Extending VkPhysicalDeviceImageFormatInfo2:

  - VkPhysicalDeviceExternalImageFormatInfo

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceIDProperties

  - VkPhysicalDeviceMaintenance3Properties

  - VkPhysicalDeviceMultiviewProperties

  - VkPhysicalDevicePointClippingProperties

  - VkPhysicalDeviceProtectedMemoryProperties

  - VkPhysicalDeviceSubgroupProperties

- Extending VkPipelineTessellationStateCreateInfo:

  - VkPipelineTessellationDomainOriginStateCreateInfo

- Extending VkRenderPassBeginInfo, VkRenderingInfo:

  - VkDeviceGroupRenderPassBeginInfo

- Extending VkRenderPassCreateInfo:

  - VkRenderPassInputAttachmentAspectCreateInfo

  - VkRenderPassMultiviewCreateInfo

- Extending VkSamplerCreateInfo, VkImageViewCreateInfo:

  - VkSamplerYcbcrConversionInfo

- Extending VkSemaphoreCreateInfo:

  - VkExportSemaphoreCreateInfo

- Extending VkSubmitInfo:

  - VkDeviceGroupSubmitInfo

  - VkProtectedSubmitInfo

#### New Enums

- VkChromaLocation

- VkDescriptorUpdateTemplateType

- VkDeviceQueueCreateFlagBits

- VkExternalFenceFeatureFlagBits

- VkExternalFenceHandleTypeFlagBits

- VkExternalMemoryFeatureFlagBits

- VkExternalMemoryHandleTypeFlagBits

- VkExternalSemaphoreFeatureFlagBits

- VkExternalSemaphoreHandleTypeFlagBits

- VkFenceImportFlagBits

- VkMemoryAllocateFlagBits

- VkPeerMemoryFeatureFlagBits

- VkPointClippingBehavior

- VkSamplerYcbcrModelConversion

- VkSamplerYcbcrRange

- VkSemaphoreImportFlagBits

- VkSubgroupFeatureFlagBits

- VkTessellationDomainOrigin

#### New Bitmasks

- VkCommandPoolTrimFlags

- VkDescriptorUpdateTemplateCreateFlags

- VkExternalFenceFeatureFlags

- VkExternalFenceHandleTypeFlags

- VkExternalMemoryFeatureFlags

- VkExternalMemoryHandleTypeFlags

- VkExternalSemaphoreFeatureFlags

- VkExternalSemaphoreHandleTypeFlags

- VkFenceImportFlags

- VkMemoryAllocateFlags

- VkPeerMemoryFeatureFlags

- VkSemaphoreImportFlags

- VkSubgroupFeatureFlags

#### New Enum Constants

- `VK_LUID_SIZE`

- `VK_MAX_DEVICE_GROUP_SIZE`

- `VK_QUEUE_FAMILY_EXTERNAL`

- Extending VkBufferCreateFlagBits:

  - `VK_BUFFER_CREATE_PROTECTED_BIT`

- Extending VkCommandPoolCreateFlagBits:

  - `VK_COMMAND_POOL_CREATE_PROTECTED_BIT`

- Extending VkDependencyFlagBits:

  - `VK_DEPENDENCY_DEVICE_GROUP_BIT`

  - `VK_DEPENDENCY_VIEW_LOCAL_BIT`

- Extending VkDeviceQueueCreateFlagBits:

  - `VK_DEVICE_QUEUE_CREATE_PROTECTED_BIT`

- Extending VkFormat:

  - `VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16`

  - `VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16`

  - `VK_FORMAT_B16G16R16G16_422_UNORM`

  - `VK_FORMAT_B8G8R8G8_422_UNORM`

  - `VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16`

  - `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16`

  - `VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16`

  - `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16`

  - `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16`

  - `VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16`

  - `VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16`

  - `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16`

  - `VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16`

  - `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16`

  - `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16`

  - `VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16`

  - `VK_FORMAT_G16B16G16R16_422_UNORM`

  - `VK_FORMAT_G16_B16R16_2PLANE_420_UNORM`

  - `VK_FORMAT_G16_B16R16_2PLANE_422_UNORM`

  - `VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM`

  - `VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM`

  - `VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM`

  - `VK_FORMAT_G8B8G8R8_422_UNORM`

  - `VK_FORMAT_G8_B8R8_2PLANE_420_UNORM`

  - `VK_FORMAT_G8_B8R8_2PLANE_422_UNORM`

  - `VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM`

  - `VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM`

  - `VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM`

  - `VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16`

  - `VK_FORMAT_R10X6G10X6_UNORM_2PACK16`

  - `VK_FORMAT_R10X6_UNORM_PACK16`

  - `VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16`

  - `VK_FORMAT_R12X4G12X4_UNORM_2PACK16`

  - `VK_FORMAT_R12X4_UNORM_PACK16`

- Extending VkFormatFeatureFlagBits:

  - `VK_FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT`

  - `VK_FORMAT_FEATURE_DISJOINT_BIT`

  - `VK_FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT`

  - `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT`

  - `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT`

  - `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT`

  - `VK_FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT`

  - `VK_FORMAT_FEATURE_TRANSFER_DST_BIT`

  - `VK_FORMAT_FEATURE_TRANSFER_SRC_BIT`

- Extending VkImageAspectFlagBits:

  - `VK_IMAGE_ASPECT_PLANE_0_BIT`

  - `VK_IMAGE_ASPECT_PLANE_1_BIT`

  - `VK_IMAGE_ASPECT_PLANE_2_BIT`

- Extending VkImageCreateFlagBits:

  - `VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT`

  - `VK_IMAGE_CREATE_ALIAS_BIT`

  - `VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT`

  - `VK_IMAGE_CREATE_DISJOINT_BIT`

  - `VK_IMAGE_CREATE_EXTENDED_USAGE_BIT`

  - `VK_IMAGE_CREATE_PROTECTED_BIT`

  - `VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT`

- Extending VkImageLayout:

  - `VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL`

  - `VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL`

- Extending VkMemoryHeapFlagBits:

  - `VK_MEMORY_HEAP_MULTI_INSTANCE_BIT`

- Extending VkMemoryPropertyFlagBits:

  - `VK_MEMORY_PROPERTY_PROTECTED_BIT`

- Extending VkObjectType:

  - `VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE`

  - `VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION`

- Extending VkPipelineCreateFlagBits:

  - `VK_PIPELINE_CREATE_DISPATCH_BASE`

  - `VK_PIPELINE_CREATE_DISPATCH_BASE_BIT`

  - `VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT`

- Extending VkQueueFlagBits:

  - `VK_QUEUE_PROTECTED_BIT`

- Extending VkResult:

  - `VK_ERROR_INVALID_EXTERNAL_HANDLE`

  - `VK_ERROR_OUT_OF_POOL_MEMORY`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_DEVICE_GROUP_INFO`

  - `VK_STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO`

  - `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_DEVICE_GROUP_INFO`

  - `VK_STRUCTURE_TYPE_BIND_IMAGE_MEMORY_INFO`

  - `VK_STRUCTURE_TYPE_BIND_IMAGE_PLANE_MEMORY_INFO`

  - `VK_STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT`

  - `VK_STRUCTURE_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_GROUP_BIND_SPARSE_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_GROUP_COMMAND_BUFFER_BEGIN_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_GROUP_DEVICE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_GROUP_RENDER_PASS_BEGIN_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_GROUP_SUBMIT_INFO`

  - `VK_STRUCTURE_TYPE_DEVICE_QUEUE_INFO_2`

  - `VK_STRUCTURE_TYPE_EXPORT_FENCE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO`

  - `VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_EXTERNAL_BUFFER_PROPERTIES`

  - `VK_STRUCTURE_TYPE_EXTERNAL_FENCE_PROPERTIES`

  - `VK_STRUCTURE_TYPE_EXTERNAL_IMAGE_FORMAT_PROPERTIES`

  - `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_BUFFER_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_EXTERNAL_SEMAPHORE_PROPERTIES`

  - `VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2`

  - `VK_STRUCTURE_TYPE_IMAGE_FORMAT_PROPERTIES_2`

  - `VK_STRUCTURE_TYPE_IMAGE_MEMORY_REQUIREMENTS_INFO_2`

  - `VK_STRUCTURE_TYPE_IMAGE_PLANE_MEMORY_REQUIREMENTS_INFO`

  - `VK_STRUCTURE_TYPE_IMAGE_SPARSE_MEMORY_REQUIREMENTS_INFO_2`

  - `VK_STRUCTURE_TYPE_IMAGE_VIEW_USAGE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_MEMORY_ALLOCATE_FLAGS_INFO`

  - `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_ALLOCATE_INFO`

  - `VK_STRUCTURE_TYPE_MEMORY_DEDICATED_REQUIREMENTS`

  - `VK_STRUCTURE_TYPE_MEMORY_REQUIREMENTS_2`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_16BIT_STORAGE_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FENCE_INFO`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_IMAGE_FORMAT_INFO`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_SEMAPHORE_INFO`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FEATURES_2`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_GROUP_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_ID_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_FORMAT_INFO_2`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PROPERTIES_2`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROPERTIES_2`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PROTECTED_MEMORY_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SAMPLER_YCBCR_CONVERSION_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETER_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SPARSE_IMAGE_FORMAT_INFO_2`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_PROPERTIES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTERS_FEATURES`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VARIABLE_POINTER_FEATURES`

  - `VK_STRUCTURE_TYPE_PIPELINE_TESSELLATION_DOMAIN_ORIGIN_STATE_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_PROTECTED_SUBMIT_INFO`

  - `VK_STRUCTURE_TYPE_QUEUE_FAMILY_PROPERTIES_2`

  - `VK_STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_RENDER_PASS_MULTIVIEW_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_CREATE_INFO`

  - `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_IMAGE_FORMAT_PROPERTIES`

  - `VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_INFO`

  - `VK_STRUCTURE_TYPE_SPARSE_IMAGE_FORMAT_PROPERTIES_2`

  - `VK_STRUCTURE_TYPE_SPARSE_IMAGE_MEMORY_REQUIREMENTS_2`

### Vulkan Version 1.0

Vulkan Version 1.0 was the initial release of the Vulkan API.

#### New Macros

- VK_API_VERSION

- VK_API_VERSION_1_0

- VK_API_VERSION_MAJOR

- VK_API_VERSION_MINOR

- VK_API_VERSION_PATCH

- VK_API_VERSION_VARIANT

- VK_DEFINE_HANDLE

- VK_DEFINE_NON_DISPATCHABLE_HANDLE

- VK_HEADER_VERSION

- VK_HEADER_VERSION_COMPLETE

- VK_MAKE_API_VERSION

- VK_MAKE_VERSION

- VK_NULL_HANDLE

- VK_USE_64_BIT_PTR_DEFINES

- VK_VERSION_MAJOR

- VK_VERSION_MINOR

- VK_VERSION_PATCH

#### New Base Types

- VkBool32

- VkDeviceAddress

- VkDeviceSize

- VkFlags

- VkSampleMask

#### New Object Types

- VkBuffer

- VkBufferView

- VkCommandBuffer

- VkCommandPool

- VkDescriptorPool

- VkDescriptorSet

- VkDescriptorSetLayout

- VkDevice

- VkDeviceMemory

- VkEvent

- VkFence

- VkFramebuffer

- VkImage

- VkImageView

- VkInstance

- VkPhysicalDevice

- VkPipeline

- VkPipelineCache

- VkPipelineLayout

- VkQueryPool

- VkQueue

- VkRenderPass

- VkSampler

- VkSemaphore

- VkShaderModule

#### New Commands

- vkAllocateCommandBuffers

- vkAllocateDescriptorSets

- vkAllocateMemory

- vkBeginCommandBuffer

- vkBindBufferMemory

- vkBindImageMemory

- vkCmdBeginQuery

- vkCmdBeginRenderPass

- vkCmdBindDescriptorSets

- vkCmdBindIndexBuffer

- vkCmdBindPipeline

- vkCmdBindVertexBuffers

- vkCmdBlitImage

- vkCmdClearAttachments

- vkCmdClearColorImage

- vkCmdClearDepthStencilImage

- vkCmdCopyBuffer

- vkCmdCopyBufferToImage

- vkCmdCopyImage

- vkCmdCopyImageToBuffer

- vkCmdCopyQueryPoolResults

- vkCmdDispatch

- vkCmdDispatchIndirect

- vkCmdDraw

- vkCmdDrawIndexed

- vkCmdDrawIndexedIndirect

- vkCmdDrawIndirect

- vkCmdEndQuery

- vkCmdEndRenderPass

- vkCmdExecuteCommands

- vkCmdFillBuffer

- vkCmdNextSubpass

- vkCmdPipelineBarrier

- vkCmdPushConstants

- vkCmdResetEvent

- vkCmdResetQueryPool

- vkCmdResolveImage

- vkCmdSetBlendConstants

- vkCmdSetDepthBias

- vkCmdSetDepthBounds

- vkCmdSetEvent

- vkCmdSetLineWidth

- vkCmdSetScissor

- vkCmdSetStencilCompareMask

- vkCmdSetStencilReference

- vkCmdSetStencilWriteMask

- vkCmdSetViewport

- vkCmdUpdateBuffer

- vkCmdWaitEvents

- vkCmdWriteTimestamp

- vkCreateBuffer

- vkCreateBufferView

- vkCreateCommandPool

- vkCreateComputePipelines

- vkCreateDescriptorPool

- vkCreateDescriptorSetLayout

- vkCreateDevice

- vkCreateEvent

- vkCreateFence

- vkCreateFramebuffer

- vkCreateGraphicsPipelines

- vkCreateImage

- vkCreateImageView

- vkCreateInstance

- vkCreatePipelineCache

- vkCreatePipelineLayout

- vkCreateQueryPool

- vkCreateRenderPass

- vkCreateSampler

- vkCreateSemaphore

- vkCreateShaderModule

- vkDestroyBuffer

- vkDestroyBufferView

- vkDestroyCommandPool

- vkDestroyDescriptorPool

- vkDestroyDescriptorSetLayout

- vkDestroyDevice

- vkDestroyEvent

- vkDestroyFence

- vkDestroyFramebuffer

- vkDestroyImage

- vkDestroyImageView

- vkDestroyInstance

- vkDestroyPipeline

- vkDestroyPipelineCache

- vkDestroyPipelineLayout

- vkDestroyQueryPool

- vkDestroyRenderPass

- vkDestroySampler

- vkDestroySemaphore

- vkDestroyShaderModule

- vkDeviceWaitIdle

- vkEndCommandBuffer

- vkEnumerateDeviceExtensionProperties

- vkEnumerateDeviceLayerProperties

- vkEnumerateInstanceExtensionProperties

- vkEnumerateInstanceLayerProperties

- vkEnumeratePhysicalDevices

- vkFlushMappedMemoryRanges

- vkFreeCommandBuffers

- vkFreeDescriptorSets

- vkFreeMemory

- vkGetBufferMemoryRequirements

- vkGetDeviceMemoryCommitment

- vkGetDeviceProcAddr

- vkGetDeviceQueue

- vkGetEventStatus

- vkGetFenceStatus

- vkGetImageMemoryRequirements

- vkGetImageSparseMemoryRequirements

- vkGetImageSubresourceLayout

- vkGetInstanceProcAddr

- vkGetPhysicalDeviceFeatures

- vkGetPhysicalDeviceFormatProperties

- vkGetPhysicalDeviceImageFormatProperties

- vkGetPhysicalDeviceMemoryProperties

- vkGetPhysicalDeviceProperties

- vkGetPhysicalDeviceQueueFamilyProperties

- vkGetPhysicalDeviceSparseImageFormatProperties

- vkGetPipelineCacheData

- vkGetQueryPoolResults

- vkGetRenderAreaGranularity

- vkInvalidateMappedMemoryRanges

- vkMapMemory

- vkMergePipelineCaches

- vkQueueBindSparse

- vkQueueSubmit

- vkQueueWaitIdle

- vkResetCommandBuffer

- vkResetCommandPool

- vkResetDescriptorPool

- vkResetEvent

- vkResetFences

- vkSetEvent

- vkUnmapMemory

- vkUpdateDescriptorSets

- vkWaitForFences

#### New Structures

- VkAllocationCallbacks

- VkApplicationInfo

- VkAttachmentDescription

- VkAttachmentReference

- VkBaseInStructure

- VkBaseOutStructure

- VkBindSparseInfo

- VkBufferCopy

- VkBufferCreateInfo

- VkBufferImageCopy

- VkBufferMemoryBarrier

- VkBufferViewCreateInfo

- VkClearAttachment

- VkClearDepthStencilValue

- VkClearRect

- VkCommandBufferAllocateInfo

- VkCommandBufferBeginInfo

- VkCommandBufferInheritanceInfo

- VkCommandPoolCreateInfo

- VkComponentMapping

- VkComputePipelineCreateInfo

- VkCopyDescriptorSet

- VkDescriptorBufferInfo

- VkDescriptorImageInfo

- VkDescriptorPoolCreateInfo

- VkDescriptorPoolSize

- VkDescriptorSetAllocateInfo

- VkDescriptorSetLayoutBinding

- VkDescriptorSetLayoutCreateInfo

- VkDeviceCreateInfo

- VkDeviceQueueCreateInfo

- VkDispatchIndirectCommand

- VkDrawIndexedIndirectCommand

- VkDrawIndirectCommand

- VkEventCreateInfo

- VkExtensionProperties

- VkExtent2D

- VkExtent3D

- VkFenceCreateInfo

- VkFormatProperties

- VkFramebufferCreateInfo

- VkGraphicsPipelineCreateInfo

- VkImageBlit

- VkImageCopy

- VkImageCreateInfo

- VkImageFormatProperties

- VkImageMemoryBarrier

- VkImageResolve

- VkImageSubresource

- VkImageSubresourceLayers

- VkImageSubresourceRange

- VkImageViewCreateInfo

- VkInstanceCreateInfo

- VkLayerProperties

- VkMappedMemoryRange

- VkMemoryAllocateInfo

- VkMemoryBarrier

- VkMemoryHeap

- VkMemoryRequirements

- VkMemoryType

- VkOffset2D

- VkOffset3D

- VkPhysicalDeviceFeatures

- VkPhysicalDeviceLimits

- VkPhysicalDeviceMemoryProperties

- VkPhysicalDeviceProperties

- VkPhysicalDeviceSparseProperties

- VkPipelineCacheCreateInfo

- VkPipelineCacheHeaderVersionOne

- VkPipelineColorBlendAttachmentState

- VkPipelineColorBlendStateCreateInfo

- VkPipelineDepthStencilStateCreateInfo

- VkPipelineDynamicStateCreateInfo

- VkPipelineInputAssemblyStateCreateInfo

- VkPipelineMultisampleStateCreateInfo

- VkPipelineRasterizationStateCreateInfo

- VkPipelineShaderStageCreateInfo

- VkPipelineTessellationStateCreateInfo

- VkPipelineVertexInputStateCreateInfo

- VkPipelineViewportStateCreateInfo

- VkPushConstantRange

- VkQueryPoolCreateInfo

- VkQueueFamilyProperties

- VkRect2D

- VkRenderPassBeginInfo

- VkRenderPassCreateInfo

- VkSamplerCreateInfo

- VkSemaphoreCreateInfo

- VkSparseBufferMemoryBindInfo

- VkSparseImageFormatProperties

- VkSparseImageMemoryBind

- VkSparseImageMemoryBindInfo

- VkSparseImageMemoryRequirements

- VkSparseImageOpaqueMemoryBindInfo

- VkSparseMemoryBind

- VkSpecializationInfo

- VkSpecializationMapEntry

- VkStencilOpState

- VkSubmitInfo

- VkSubpassDependency

- VkSubpassDescription

- VkSubresourceLayout

- VkVertexInputAttributeDescription

- VkVertexInputBindingDescription

- VkViewport

- VkWriteDescriptorSet

- Extending VkBindDescriptorSetsInfo, VkPushConstantsInfo, VkPushDescriptorSetInfo, VkPushDescriptorSetWithTemplateInfo, VkSetDescriptorBufferOffsetsInfoEXT, VkBindDescriptorBufferEmbeddedSamplersInfoEXT, VkIndirectCommandsLayoutCreateInfoEXT:

  - VkPipelineLayoutCreateInfo

- Extending VkPipelineShaderStageCreateInfo:

  - VkShaderModuleCreateInfo

#### New Unions

- VkClearColorValue

- VkClearValue

#### New Function Pointers

- PFN_vkAllocationFunction

- PFN_vkFreeFunction

- PFN_vkInternalAllocationNotification

- PFN_vkInternalFreeNotification

- PFN_vkReallocationFunction

- PFN_vkVoidFunction

#### New Enums

- VkAccessFlagBits

- VkAttachmentDescriptionFlagBits

- VkAttachmentLoadOp

- VkAttachmentStoreOp

- VkBlendFactor

- VkBlendOp

- VkBorderColor

- VkBufferCreateFlagBits

- VkBufferUsageFlagBits

- VkColorComponentFlagBits

- VkCommandBufferLevel

- VkCommandBufferResetFlagBits

- VkCommandBufferUsageFlagBits

- VkCommandPoolCreateFlagBits

- VkCommandPoolResetFlagBits

- VkCompareOp

- VkComponentSwizzle

- VkCullModeFlagBits

- VkDependencyFlagBits

- VkDescriptorPoolCreateFlagBits

- VkDescriptorSetLayoutCreateFlagBits

- VkDescriptorType

- VkDynamicState

- VkEventCreateFlagBits

- VkFenceCreateFlagBits

- VkFilter

- VkFormat

- VkFormatFeatureFlagBits

- VkFramebufferCreateFlagBits

- VkFrontFace

- VkImageAspectFlagBits

- VkImageCreateFlagBits

- VkImageLayout

- VkImageTiling

- VkImageType

- VkImageUsageFlagBits

- VkImageViewCreateFlagBits

- VkImageViewType

- VkIndexType

- VkInstanceCreateFlagBits

- VkInternalAllocationType

- VkLogicOp

- VkMemoryHeapFlagBits

- VkMemoryMapFlagBits

- VkMemoryPropertyFlagBits

- VkObjectType

- VkPhysicalDeviceType

- VkPipelineBindPoint

- VkPipelineCacheHeaderVersion

- VkPipelineCreateFlagBits

- VkPipelineShaderStageCreateFlagBits

- VkPipelineStageFlagBits

- VkPolygonMode

- VkPrimitiveTopology

- VkQueryControlFlagBits

- VkQueryPipelineStatisticFlagBits

- VkQueryResultFlagBits

- VkQueryType

- VkQueueFlagBits

- VkRenderPassCreateFlagBits

- VkResult

- VkSampleCountFlagBits

- VkSamplerAddressMode

- VkSamplerCreateFlagBits

- VkSamplerMipmapMode

- VkShaderStageFlagBits

- VkSharingMode

- VkSparseImageFormatFlagBits

- VkSparseMemoryBindFlagBits

- VkStencilFaceFlagBits

- VkStencilOp

- VkStructureType

- VkSubpassContents

- VkSubpassDescriptionFlagBits

- VkSystemAllocationScope

- VkVendorId

- VkVertexInputRate

#### New Bitmasks

- VkAccessFlags

- VkAttachmentDescriptionFlags

- VkBufferCreateFlags

- VkBufferUsageFlags

- VkBufferViewCreateFlags

- VkColorComponentFlags

- VkCommandBufferResetFlags

- VkCommandBufferUsageFlags

- VkCommandPoolCreateFlags

- VkCommandPoolResetFlags

- VkCullModeFlags

- VkDependencyFlags

- VkDescriptorPoolCreateFlags

- VkDescriptorPoolResetFlags

- VkDescriptorSetLayoutCreateFlags

- VkDeviceCreateFlags

- VkDeviceQueueCreateFlags

- VkEventCreateFlags

- VkFenceCreateFlags

- VkFormatFeatureFlags

- VkFramebufferCreateFlags

- VkImageAspectFlags

- VkImageCreateFlags

- VkImageUsageFlags

- VkImageViewCreateFlags

- VkInstanceCreateFlags

- VkMemoryHeapFlags

- VkMemoryMapFlags

- VkMemoryPropertyFlags

- VkPipelineCacheCreateFlags

- VkPipelineColorBlendStateCreateFlags

- VkPipelineCreateFlags

- VkPipelineDepthStencilStateCreateFlags

- VkPipelineDynamicStateCreateFlags

- VkPipelineInputAssemblyStateCreateFlags

- VkPipelineLayoutCreateFlags

- VkPipelineMultisampleStateCreateFlags

- VkPipelineRasterizationStateCreateFlags

- VkPipelineShaderStageCreateFlags

- VkPipelineStageFlags

- VkPipelineTessellationStateCreateFlags

- VkPipelineVertexInputStateCreateFlags

- VkPipelineViewportStateCreateFlags

- VkQueryControlFlags

- VkQueryPipelineStatisticFlags

- VkQueryPoolCreateFlags

- VkQueryResultFlags

- VkQueueFlags

- VkRenderPassCreateFlags

- VkSampleCountFlags

- VkSamplerCreateFlags

- VkSemaphoreCreateFlags

- VkShaderModuleCreateFlags

- VkShaderStageFlags

- VkSparseImageFormatFlags

- VkSparseMemoryBindFlags

- VkStencilFaceFlags

- VkSubpassDescriptionFlags

#### New Headers

- `vk_platform`

#### New Enum Constants

- `VK_ATTACHMENT_UNUSED`

- `VK_FALSE`

- `VK_LOD_CLAMP_NONE`

- `VK_MAX_DESCRIPTION_SIZE`

- `VK_MAX_EXTENSION_NAME_SIZE`

- `VK_MAX_MEMORY_HEAPS`

- `VK_MAX_MEMORY_TYPES`

- `VK_MAX_PHYSICAL_DEVICE_NAME_SIZE`

- `VK_QUEUE_FAMILY_IGNORED`

- `VK_REMAINING_ARRAY_LAYERS`

- `VK_REMAINING_MIP_LEVELS`

- `VK_SUBPASS_EXTERNAL`

- `VK_TRUE`

- `VK_UUID_SIZE`

- `VK_WHOLE_SIZE`