diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.14] - 2021-11-25
+- Bump API version to v1.2.200
+
 ## [3.13.4] - 2021-11-17
 - Support ghc-9.3.20211111
 - No more warnings under 9.2
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.13.4"
+version: "3.14"
 synopsis: Bindings to the Vulkan graphics API.
 description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category: Graphics
diff --git a/src/Vulkan/CStruct/Extends.hs b/src/Vulkan/CStruct/Extends.hs
--- a/src/Vulkan/CStruct/Extends.hs
+++ b/src/Vulkan/CStruct/Extends.hs
@@ -385,6 +385,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing (PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PhysicalDeviceDepthClipControlFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PhysicalDeviceDepthClipEnableFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve (PhysicalDeviceDepthStencilResolveProperties)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingFeatures)
@@ -474,6 +475,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PhysicalDeviceProvokingVertexPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_push_descriptor (PhysicalDevicePushDescriptorPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rgba10x6_formats (PhysicalDeviceRGBA10X6FormatsFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access (PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_query (PhysicalDeviceRayQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR)
@@ -582,6 +584,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_vertex_attribute_divisor (PipelineVertexInputDivisorStateCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Core10.Pipeline (PipelineVertexInputStateCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (PipelineViewportCoarseSampleOrderStateCreateInfoNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PipelineViewportDepthClipControlCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PipelineViewportExclusiveScissorStateCreateInfoNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (PipelineViewportShadingRateImageStateCreateInfoNV)
 import {-# SOURCE #-} Vulkan.Core10.Pipeline (PipelineViewportStateCreateInfo)
@@ -964,6 +967,7 @@
   Extends DeviceCreateInfo PhysicalDeviceShaderTerminateInvocationFeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = ()
   Extends DeviceCreateInfo PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = ()
+  Extends DeviceCreateInfo PhysicalDeviceDepthClipControlFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceVertexInputDynamicStateFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceExternalMemoryRDMAFeaturesNV = ()
   Extends DeviceCreateInfo PhysicalDeviceColorWriteEnableFeaturesEXT = ()
@@ -1130,6 +1134,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderTerminateInvocationFeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceDepthClipControlFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceVertexInputDynamicStateFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceExternalMemoryRDMAFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceColorWriteEnableFeaturesEXT = ()
@@ -1222,6 +1227,7 @@
   Extends PipelineViewportStateCreateInfo PipelineViewportExclusiveScissorStateCreateInfoNV = ()
   Extends PipelineViewportStateCreateInfo PipelineViewportShadingRateImageStateCreateInfoNV = ()
   Extends PipelineViewportStateCreateInfo PipelineViewportCoarseSampleOrderStateCreateInfoNV = ()
+  Extends PipelineViewportStateCreateInfo PipelineViewportDepthClipControlCreateInfoEXT = ()
   Extends PresentInfoKHR DisplayPresentInfoKHR = ()
   Extends PresentInfoKHR PresentRegionsKHR = ()
   Extends PresentInfoKHR DeviceGroupPresentInfoKHR = ()
@@ -1671,6 +1677,8 @@
   STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV -> go @PipelineFragmentShadingRateEnumStateCreateInfoNV
   STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE -> go @PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
   STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE -> go @MutableDescriptorTypeCreateInfoVALVE
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT -> go @PhysicalDeviceDepthClipControlFeaturesEXT
+  STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT -> go @PipelineViewportDepthClipControlCreateInfoEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT -> go @PhysicalDeviceVertexInputDynamicStateFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV -> go @PhysicalDeviceExternalMemoryRDMAFeaturesNV
   STRUCTURE_TYPE_PHYSICAL_DEVICE_COLOR_WRITE_ENABLE_FEATURES_EXT -> go @PhysicalDeviceColorWriteEnableFeaturesEXT
@@ -2046,6 +2054,8 @@
 {-# complete (::&) :: PipelineFragmentShadingRateEnumStateCreateInfoNV #-}
 {-# complete (::&) :: PhysicalDeviceMutableDescriptorTypeFeaturesVALVE #-}
 {-# complete (::&) :: MutableDescriptorTypeCreateInfoVALVE #-}
+{-# complete (::&) :: PhysicalDeviceDepthClipControlFeaturesEXT #-}
+{-# complete (::&) :: PipelineViewportDepthClipControlCreateInfoEXT #-}
 {-# complete (::&) :: PhysicalDeviceVertexInputDynamicStateFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceExternalMemoryRDMAFeaturesNV #-}
 {-# complete (::&) :: PhysicalDeviceColorWriteEnableFeaturesEXT #-}
diff --git a/src/Vulkan/Core10/CommandBufferBuilding.hs b/src/Vulkan/Core10/CommandBufferBuilding.hs
--- a/src/Vulkan/Core10/CommandBufferBuilding.hs
+++ b/src/Vulkan/Core10/CommandBufferBuilding.hs
@@ -2433,7 +2433,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDraw-imageView-06184# If the current render pass instance
 --     was begun with
@@ -2442,7 +2442,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDraw-colorAttachmentCount-06185# If the currently bound
 --     pipeline was created with a
@@ -3317,7 +3317,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawIndexed-imageView-06184# If the current render pass
 --     instance was begun with
@@ -3326,7 +3326,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawIndexed-colorAttachmentCount-06185# If the currently
 --     bound pipeline was created with a
@@ -4195,7 +4195,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawIndirect-imageView-06184# If the current render pass
 --     instance was begun with
@@ -4204,7 +4204,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawIndirect-colorAttachmentCount-06185# If the currently
 --     bound pipeline was created with a
@@ -5096,7 +5096,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-imageView-06184# If the current
 --     render pass instance was begun with
@@ -5105,7 +5105,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-colorAttachmentCount-06185# If the
 --     currently bound pipeline was created with a
@@ -12902,8 +12902,8 @@
 --
 -- -   #VUID-VkRenderPassBeginInfo-clearValueCount-00902# @clearValueCount@
 --     /must/ be greater than the largest attachment index in @renderPass@
---     that specifies a @loadOp@ (or @stencilLoadOp@, if the attachment has
---     a depth\/stencil format) of
+--     specifying a @loadOp@ (or @stencilLoadOp@, if the attachment has a
+--     depth\/stencil format) of
 --     'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_CLEAR'
 --
 -- -   #VUID-VkRenderPassBeginInfo-clearValueCount-04962# If
@@ -13181,8 +13181,8 @@
     -- instance, and is described in more detail below.
     renderArea :: Rect2D
   , -- | @pClearValues@ is a pointer to an array of @clearValueCount@
-    -- 'ClearValue' structures that contains clear values for each attachment,
-    -- if the attachment uses a @loadOp@ value of
+    -- 'ClearValue' structures containing clear values for each attachment, if
+    -- the attachment uses a @loadOp@ value of
     -- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_CLEAR' or if
     -- the attachment has a depth\/stencil format and uses a @stencilLoadOp@
     -- value of
diff --git a/src/Vulkan/Core10/DescriptorSet.hs b/src/Vulkan/Core10/DescriptorSet.hs
--- a/src/Vulkan/Core10/DescriptorSet.hs
+++ b/src/Vulkan/Core10/DescriptorSet.hs
@@ -1650,9 +1650,10 @@
     -- @pTexelBufferView@, as described below. If 'DescriptorSetLayoutBinding'
     -- for @dstSet@ at @dstBinding@ is not equal to
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',
-    -- @descriptorType@ /must/ be the same type as that specified in
-    -- 'DescriptorSetLayoutBinding' for @dstSet@ at @dstBinding@. The type of
-    -- the descriptor also controls which array the descriptors are taken from.
+    -- @descriptorType@ /must/ be the same type as the @descriptorType@
+    -- specified in 'DescriptorSetLayoutBinding' for @dstSet@ at @dstBinding@.
+    -- The type of the descriptor also controls which array the descriptors are
+    -- taken from.
     descriptorType :: DescriptorType
   , -- | @pImageInfo@ is a pointer to an array of 'DescriptorImageInfo'
     -- structures or is ignored, as described below.
diff --git a/src/Vulkan/Core10/Device.hs b/src/Vulkan/Core10/Device.hs
--- a/src/Vulkan/Core10/Device.hs
+++ b/src/Vulkan/Core10/Device.hs
@@ -106,6 +106,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_coverage_reduction_mode (PhysicalDeviceCoverageReductionModeFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing (PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PhysicalDeviceDepthClipControlFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PhysicalDeviceDepthClipEnableFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (PhysicalDeviceDeviceGeneratedCommandsFeaturesNV)
@@ -762,6 +763,7 @@
 --     'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV',
 --     'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',
 --     'Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV',
+--     'Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT',
 --     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures',
 --     'Vulkan.Extensions.VK_NV_device_generated_commands.PhysicalDeviceDeviceGeneratedCommandsFeaturesNV',
@@ -942,6 +944,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceColorWriteEnableFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExternalMemoryRDMAFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceVertexInputDynamicStateFeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceDepthClipControlFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderTerminateInvocationFeaturesKHR = Just f
diff --git a/src/Vulkan/Core10/DeviceInitialization.hs b/src/Vulkan/Core10/DeviceInitialization.hs
--- a/src/Vulkan/Core10/DeviceInitialization.hs
+++ b/src/Vulkan/Core10/DeviceInitialization.hs
@@ -4189,7 +4189,7 @@
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-fullDrawIndexUint32 fullDrawIndexUint32>.
     maxDrawIndexedIndexValue :: Word32
   , -- | #limits-maxDrawIndirectCount# @maxDrawIndirectCount@ is the maximum draw
-    -- count that is supported for indirect draw calls. See
+    -- count that is supported for indirect drawing calls. See
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-multiDrawIndirect multiDrawIndirect>.
     maxDrawIndirectCount :: Word32
   , -- | #limits-maxSamplerLodBias# @maxSamplerLodBias@ is the maximum absolute
diff --git a/src/Vulkan/Core10/Enums.hs b/src/Vulkan/Core10/Enums.hs
--- a/src/Vulkan/Core10/Enums.hs
+++ b/src/Vulkan/Core10/Enums.hs
@@ -54,9 +54,9 @@
                             , module Vulkan.Core10.Enums.PipelineBindPoint
                             , module Vulkan.Core10.Enums.PipelineCacheCreateFlagBits
                             , module Vulkan.Core10.Enums.PipelineCacheHeaderVersion
-                            , module Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags
+                            , module Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits
                             , module Vulkan.Core10.Enums.PipelineCreateFlagBits
-                            , module Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags
+                            , module Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits
                             , module Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags
                             , module Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags
                             , module Vulkan.Core10.Enums.PipelineLayoutCreateFlags
@@ -150,9 +150,9 @@
 import Vulkan.Core10.Enums.PipelineBindPoint
 import Vulkan.Core10.Enums.PipelineCacheCreateFlagBits
 import Vulkan.Core10.Enums.PipelineCacheHeaderVersion
-import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags
+import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits
 import Vulkan.Core10.Enums.PipelineCreateFlagBits
-import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags
+import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits
 import Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags
 import Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags
 import Vulkan.Core10.Enums.PipelineLayoutCreateFlags
diff --git a/src/Vulkan/Core10/Enums/BorderColor.hs b/src/Vulkan/Core10/Enums/BorderColor.hs
--- a/src/Vulkan/Core10/Enums/BorderColor.hs
+++ b/src/Vulkan/Core10/Enums/BorderColor.hs
@@ -55,14 +55,14 @@
 -- | 'BORDER_COLOR_INT_CUSTOM_EXT' indicates that a
 -- 'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT'
 -- structure is included in the
--- 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@pNext@ chain which contains
--- the color data in integer format.
+-- 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@pNext@ chain containing the
+-- color data in integer format.
 pattern BORDER_COLOR_INT_CUSTOM_EXT          = BorderColor 1000287004
 -- | 'BORDER_COLOR_FLOAT_CUSTOM_EXT' indicates that a
 -- 'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT'
 -- structure is included in the
--- 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@pNext@ chain which contains
--- the color data in floating-point format.
+-- 'Vulkan.Core10.Sampler.SamplerCreateInfo'::@pNext@ chain containing the
+-- color data in floating-point format.
 pattern BORDER_COLOR_FLOAT_CUSTOM_EXT        = BorderColor 1000287003
 {-# complete BORDER_COLOR_FLOAT_TRANSPARENT_BLACK,
              BORDER_COLOR_INT_TRANSPARENT_BLACK,
diff --git a/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlagBits.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlagBits.hs
@@ -0,0 +1,64 @@
+{-# language CPP #-}
+-- No documentation found for Chapter "PipelineColorBlendStateCreateFlagBits"
+module Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits  ( PipelineColorBlendStateCreateFlags
+                                                                  , PipelineColorBlendStateCreateFlagBits( PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM
+                                                                                                         , ..
+                                                                                                         )
+                                                                  ) where
+
+import Vulkan.Internal.Utils (enumReadPrec)
+import Vulkan.Internal.Utils (enumShowsPrec)
+import GHC.Show (showString)
+import Numeric (showHex)
+import Vulkan.Zero (Zero)
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
+import Foreign.Storable (Storable)
+import GHC.Read (Read(readPrec))
+import GHC.Show (Show(showsPrec))
+import Vulkan.Core10.FundamentalTypes (Flags)
+type PipelineColorBlendStateCreateFlags = PipelineColorBlendStateCreateFlagBits
+
+-- | VkPipelineColorBlendStateCreateFlagBits - Bitmask specifying additional
+-- parameters of an image
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ARM_rasterization_order_attachment_access VK_ARM_rasterization_order_attachment_access>,
+-- 'PipelineColorBlendStateCreateFlags'
+newtype PipelineColorBlendStateCreateFlagBits = PipelineColorBlendStateCreateFlagBits Flags
+  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
+
+-- | 'PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM'
+-- indicates that access to color and input attachments will have implicit
+-- framebuffer-local memory dependencies, allowing applications to express
+-- custom blending operations in a fragment shader. See
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-feedbackloop renderpass feedback loops>
+-- for more information.
+pattern PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM =
+  PipelineColorBlendStateCreateFlagBits 0x00000001
+
+conNamePipelineColorBlendStateCreateFlagBits :: String
+conNamePipelineColorBlendStateCreateFlagBits = "PipelineColorBlendStateCreateFlagBits"
+
+enumPrefixPipelineColorBlendStateCreateFlagBits :: String
+enumPrefixPipelineColorBlendStateCreateFlagBits =
+  "PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM"
+
+showTablePipelineColorBlendStateCreateFlagBits :: [(PipelineColorBlendStateCreateFlagBits, String)]
+showTablePipelineColorBlendStateCreateFlagBits =
+  [(PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM, "")]
+
+instance Show PipelineColorBlendStateCreateFlagBits where
+  showsPrec = enumShowsPrec enumPrefixPipelineColorBlendStateCreateFlagBits
+                            showTablePipelineColorBlendStateCreateFlagBits
+                            conNamePipelineColorBlendStateCreateFlagBits
+                            (\(PipelineColorBlendStateCreateFlagBits x) -> x)
+                            (\x -> showString "0x" . showHex x)
+
+instance Read PipelineColorBlendStateCreateFlagBits where
+  readPrec = enumReadPrec enumPrefixPipelineColorBlendStateCreateFlagBits
+                          showTablePipelineColorBlendStateCreateFlagBits
+                          conNamePipelineColorBlendStateCreateFlagBits
+                          PipelineColorBlendStateCreateFlagBits
+
diff --git a/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs
deleted file mode 100644
--- a/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs
+++ /dev/null
@@ -1,53 +0,0 @@
-{-# language CPP #-}
--- No documentation found for Chapter "PipelineColorBlendStateCreateFlags"
-module Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags  (PipelineColorBlendStateCreateFlags(..)) where
-
-import Vulkan.Internal.Utils (enumReadPrec)
-import Vulkan.Internal.Utils (enumShowsPrec)
-import GHC.Show (showString)
-import Numeric (showHex)
-import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
-import Foreign.Storable (Storable)
-import GHC.Read (Read(readPrec))
-import GHC.Show (Show(showsPrec))
-import Vulkan.Core10.FundamentalTypes (Flags)
--- | VkPipelineColorBlendStateCreateFlags - Reserved for future use
---
--- = Description
---
--- 'PipelineColorBlendStateCreateFlags' is a bitmask type for setting a
--- mask, but is currently reserved for future use.
---
--- = See Also
---
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
--- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'
-newtype PipelineColorBlendStateCreateFlags = PipelineColorBlendStateCreateFlags Flags
-  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
-
-
-
-conNamePipelineColorBlendStateCreateFlags :: String
-conNamePipelineColorBlendStateCreateFlags = "PipelineColorBlendStateCreateFlags"
-
-enumPrefixPipelineColorBlendStateCreateFlags :: String
-enumPrefixPipelineColorBlendStateCreateFlags = ""
-
-showTablePipelineColorBlendStateCreateFlags :: [(PipelineColorBlendStateCreateFlags, String)]
-showTablePipelineColorBlendStateCreateFlags = []
-
-instance Show PipelineColorBlendStateCreateFlags where
-  showsPrec = enumShowsPrec enumPrefixPipelineColorBlendStateCreateFlags
-                            showTablePipelineColorBlendStateCreateFlags
-                            conNamePipelineColorBlendStateCreateFlags
-                            (\(PipelineColorBlendStateCreateFlags x) -> x)
-                            (\x -> showString "0x" . showHex x)
-
-instance Read PipelineColorBlendStateCreateFlags where
-  readPrec = enumReadPrec enumPrefixPipelineColorBlendStateCreateFlags
-                          showTablePipelineColorBlendStateCreateFlags
-                          conNamePipelineColorBlendStateCreateFlags
-                          PipelineColorBlendStateCreateFlags
-
diff --git a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
@@ -19,8 +19,8 @@
                                                                            , PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
                                                                            , PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
                                                                            , PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
-                                                                           , PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-                                                                           , PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
+                                                                           , PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
+                                                                           , PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
                                                                            , PIPELINE_CREATE_DISPATCH_BASE_BIT
                                                                            , PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT
                                                                            , ..
@@ -153,11 +153,11 @@
 -- -   'PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV' specifies that the
 --     pipeline is allowed to use @OpTraceRayMotionNV@.
 --
--- -   'PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+-- -   'PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --     specifies that the pipeline will be used with a fragment shading
 --     rate attachment.
 --
--- -   'PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+-- -   'PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --     specifies that the pipeline will be used with a fragment density map
 --     attachment.
 --
@@ -210,56 +210,53 @@
 pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR = PipelineCreateFlagBits 0x00008000
 -- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR"
 pattern PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR = PipelineCreateFlagBits 0x00004000
--- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
-pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = PipelineCreateFlagBits 0x00400000
--- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
-pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR =
-  PipelineCreateFlagBits 0x00200000
+-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
+pattern PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = PipelineCreateFlagBits 0x00400000
+-- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
+pattern PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = PipelineCreateFlagBits 0x00200000
 -- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_DISPATCH_BASE_BIT"
-pattern PIPELINE_CREATE_DISPATCH_BASE_BIT                = PipelineCreateFlagBits 0x00000010
+pattern PIPELINE_CREATE_DISPATCH_BASE_BIT                           = PipelineCreateFlagBits 0x00000010
 -- No documentation found for Nested "VkPipelineCreateFlagBits" "VK_PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT"
-pattern PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT = PipelineCreateFlagBits 0x00000008
+pattern PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT            = PipelineCreateFlagBits 0x00000008
 
 conNamePipelineCreateFlagBits :: String
 conNamePipelineCreateFlagBits = "PipelineCreateFlagBits"
 
 enumPrefixPipelineCreateFlagBits :: String
-enumPrefixPipelineCreateFlagBits = "PIPELINE_"
+enumPrefixPipelineCreateFlagBits = "PIPELINE_CREATE_"
 
 showTablePipelineCreateFlagBits :: [(PipelineCreateFlagBits, String)]
 showTablePipelineCreateFlagBits =
-  [ (PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                 , "CREATE_DISABLE_OPTIMIZATION_BIT")
-  , (PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                    , "CREATE_ALLOW_DERIVATIVES_BIT")
-  , (PIPELINE_CREATE_DERIVATIVE_BIT                           , "CREATE_DERIVATIVE_BIT")
-  , (PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV          , "CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV")
-  , (PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT          , "CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT")
-  , (PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT, "CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT")
-  , (PIPELINE_CREATE_LIBRARY_BIT_KHR                          , "CREATE_LIBRARY_BIT_KHR")
-  , (PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV                 , "CREATE_INDIRECT_BINDABLE_BIT_NV")
-  , (PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR , "CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR")
-  , (PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR               , "CREATE_CAPTURE_STATISTICS_BIT_KHR")
-  , (PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                     , "CREATE_DEFER_COMPILE_BIT_NV")
+  [ (PIPELINE_CREATE_DISABLE_OPTIMIZATION_BIT                 , "DISABLE_OPTIMIZATION_BIT")
+  , (PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT                    , "ALLOW_DERIVATIVES_BIT")
+  , (PIPELINE_CREATE_DERIVATIVE_BIT                           , "DERIVATIVE_BIT")
+  , (PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV          , "RAY_TRACING_ALLOW_MOTION_BIT_NV")
+  , (PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT          , "EARLY_RETURN_ON_FAILURE_BIT_EXT")
+  , (PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT, "FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT")
+  , (PIPELINE_CREATE_LIBRARY_BIT_KHR                          , "LIBRARY_BIT_KHR")
+  , (PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV                 , "INDIRECT_BINDABLE_BIT_NV")
+  , (PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR , "CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR")
+  , (PIPELINE_CREATE_CAPTURE_STATISTICS_BIT_KHR               , "CAPTURE_STATISTICS_BIT_KHR")
+  , (PIPELINE_CREATE_DEFER_COMPILE_BIT_NV                     , "DEFER_COMPILE_BIT_NV")
   , ( PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
-    , "CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"
+    , "RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR"
     )
-  , (PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR    , "CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR")
-  , (PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, "CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR")
+  , (PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR    , "RAY_TRACING_SKIP_AABBS_BIT_KHR")
+  , (PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR, "RAY_TRACING_SKIP_TRIANGLES_BIT_KHR")
   , ( PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
-    , "CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"
-    )
-  , (PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR, "CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR")
-  , ( PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
-    , "CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR"
+    , "RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR"
     )
-  , (PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR, "CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR")
-  , ( PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
-    , "RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
+  , (PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR       , "RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR")
+  , (PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR, "RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR")
+  , (PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR    , "RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR")
+  , ( PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
+    , "RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
     )
-  , ( PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
-    , "RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
+  , ( PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
+    , "RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
     )
-  , (PIPELINE_CREATE_DISPATCH_BASE_BIT               , "CREATE_DISPATCH_BASE_BIT")
-  , (PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, "CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT")
+  , (PIPELINE_CREATE_DISPATCH_BASE_BIT               , "DISPATCH_BASE_BIT")
+  , (PIPELINE_CREATE_VIEW_INDEX_FROM_DEVICE_INDEX_BIT, "VIEW_INDEX_FROM_DEVICE_INDEX_BIT")
   ]
 
 instance Show PipelineCreateFlagBits where
diff --git a/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs
@@ -0,0 +1,77 @@
+{-# language CPP #-}
+-- No documentation found for Chapter "PipelineDepthStencilStateCreateFlagBits"
+module Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits  ( PipelineDepthStencilStateCreateFlags
+                                                                    , PipelineDepthStencilStateCreateFlagBits( PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
+                                                                                                             , PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
+                                                                                                             , ..
+                                                                                                             )
+                                                                    ) where
+
+import Vulkan.Internal.Utils (enumReadPrec)
+import Vulkan.Internal.Utils (enumShowsPrec)
+import GHC.Show (showString)
+import Numeric (showHex)
+import Vulkan.Zero (Zero)
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
+import Foreign.Storable (Storable)
+import GHC.Read (Read(readPrec))
+import GHC.Show (Show(showsPrec))
+import Vulkan.Core10.FundamentalTypes (Flags)
+type PipelineDepthStencilStateCreateFlags = PipelineDepthStencilStateCreateFlagBits
+
+-- | VkPipelineDepthStencilStateCreateFlagBits - Bitmask specifying
+-- additional depth\/stencil state information.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ARM_rasterization_order_attachment_access VK_ARM_rasterization_order_attachment_access>,
+-- 'PipelineDepthStencilStateCreateFlags'
+newtype PipelineDepthStencilStateCreateFlagBits = PipelineDepthStencilStateCreateFlagBits Flags
+  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
+
+-- | 'PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+-- indicates that access to the stencil aspects of depth\/stencil and input
+-- attachments will have implicit framebuffer-local memory dependencies.
+-- See
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-feedbackloop renderpass feedback loops>
+-- for more information.
+pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM =
+  PipelineDepthStencilStateCreateFlagBits 0x00000002
+-- | 'PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+-- indicates that access to the depth aspects of depth\/stencil and input
+-- attachments will have implicit framebuffer-local memory dependencies.
+-- See
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-feedbackloop renderpass feedback loops>
+-- for more information.
+pattern PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM =
+  PipelineDepthStencilStateCreateFlagBits 0x00000001
+
+conNamePipelineDepthStencilStateCreateFlagBits :: String
+conNamePipelineDepthStencilStateCreateFlagBits = "PipelineDepthStencilStateCreateFlagBits"
+
+enumPrefixPipelineDepthStencilStateCreateFlagBits :: String
+enumPrefixPipelineDepthStencilStateCreateFlagBits =
+  "PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_"
+
+showTablePipelineDepthStencilStateCreateFlagBits :: [(PipelineDepthStencilStateCreateFlagBits, String)]
+showTablePipelineDepthStencilStateCreateFlagBits =
+  [ ( PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
+    , "STENCIL_ACCESS_BIT_ARM"
+    )
+  , (PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM, "DEPTH_ACCESS_BIT_ARM")
+  ]
+
+instance Show PipelineDepthStencilStateCreateFlagBits where
+  showsPrec = enumShowsPrec enumPrefixPipelineDepthStencilStateCreateFlagBits
+                            showTablePipelineDepthStencilStateCreateFlagBits
+                            conNamePipelineDepthStencilStateCreateFlagBits
+                            (\(PipelineDepthStencilStateCreateFlagBits x) -> x)
+                            (\x -> showString "0x" . showHex x)
+
+instance Read PipelineDepthStencilStateCreateFlagBits where
+  readPrec = enumReadPrec enumPrefixPipelineDepthStencilStateCreateFlagBits
+                          showTablePipelineDepthStencilStateCreateFlagBits
+                          conNamePipelineDepthStencilStateCreateFlagBits
+                          PipelineDepthStencilStateCreateFlagBits
+
diff --git a/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs
deleted file mode 100644
--- a/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs
+++ /dev/null
@@ -1,53 +0,0 @@
-{-# language CPP #-}
--- No documentation found for Chapter "PipelineDepthStencilStateCreateFlags"
-module Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags  (PipelineDepthStencilStateCreateFlags(..)) where
-
-import Vulkan.Internal.Utils (enumReadPrec)
-import Vulkan.Internal.Utils (enumShowsPrec)
-import GHC.Show (showString)
-import Numeric (showHex)
-import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
-import Foreign.Storable (Storable)
-import GHC.Read (Read(readPrec))
-import GHC.Show (Show(showsPrec))
-import Vulkan.Core10.FundamentalTypes (Flags)
--- | VkPipelineDepthStencilStateCreateFlags - Reserved for future use
---
--- = Description
---
--- 'PipelineDepthStencilStateCreateFlags' is a bitmask type for setting a
--- mask, but is currently reserved for future use.
---
--- = See Also
---
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
--- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'
-newtype PipelineDepthStencilStateCreateFlags = PipelineDepthStencilStateCreateFlags Flags
-  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
-
-
-
-conNamePipelineDepthStencilStateCreateFlags :: String
-conNamePipelineDepthStencilStateCreateFlags = "PipelineDepthStencilStateCreateFlags"
-
-enumPrefixPipelineDepthStencilStateCreateFlags :: String
-enumPrefixPipelineDepthStencilStateCreateFlags = ""
-
-showTablePipelineDepthStencilStateCreateFlags :: [(PipelineDepthStencilStateCreateFlags, String)]
-showTablePipelineDepthStencilStateCreateFlags = []
-
-instance Show PipelineDepthStencilStateCreateFlags where
-  showsPrec = enumShowsPrec enumPrefixPipelineDepthStencilStateCreateFlags
-                            showTablePipelineDepthStencilStateCreateFlags
-                            conNamePipelineDepthStencilStateCreateFlags
-                            (\(PipelineDepthStencilStateCreateFlags x) -> x)
-                            (\x -> showString "0x" . showHex x)
-
-instance Read PipelineDepthStencilStateCreateFlags where
-  readPrec = enumReadPrec enumPrefixPipelineDepthStencilStateCreateFlags
-                          showTablePipelineDepthStencilStateCreateFlags
-                          conNamePipelineDepthStencilStateCreateFlags
-                          PipelineDepthStencilStateCreateFlags
-
diff --git a/src/Vulkan/Core10/Enums/StructureType.hs b/src/Vulkan/Core10/Enums/StructureType.hs
--- a/src/Vulkan/Core10/Enums/StructureType.hs
+++ b/src/Vulkan/Core10/Enums/StructureType.hs
@@ -89,6 +89,8 @@
                                                         , STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA
                                                         , STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT
                                                         , STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT
                                                         , STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT
@@ -97,6 +99,7 @@
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE
                                                         , STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
                                                         , STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR
                                                         , STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR
@@ -850,6 +853,7 @@
 -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorPropertiesEXT',
 -- 'Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV',
+-- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties',
 -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures',
@@ -935,6 +939,7 @@
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT',
 -- 'Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT',
+-- 'Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM',
 -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',
@@ -1040,6 +1045,7 @@
 -- 'Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PipelineVertexInputDivisorStateCreateInfoEXT',
 -- 'Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportCoarseSampleOrderStateCreateInfoNV',
+-- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV',
 -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV',
 -- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo',
@@ -1371,6 +1377,10 @@
 pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR                   = StructureType 1000360000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = StructureType 1000356000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT"
+pattern STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT = StructureType 1000355001
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT = StructureType 1000355000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT        = StructureType 1000353000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"
@@ -1387,6 +1397,8 @@
 pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT          = StructureType 1000346000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = StructureType 1000344000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM = StructureType 1000342000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = StructureType 1000340000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"
@@ -2402,6 +2414,8 @@
              STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
              STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
+             STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
              STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
              STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
@@ -2410,6 +2424,7 @@
              STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,
              STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
              STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
              STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
@@ -2987,9 +3002,13 @@
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
     , "PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"
     )
-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT      , "PHYSICAL_DEVICE_DRM_PROPERTIES_EXT")
-  , (STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT, "VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT")
-  , (STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT  , "VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT")
+  , ( STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT
+    , "PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT"
+    )
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT, "PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT")
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT             , "PHYSICAL_DEVICE_DRM_PROPERTIES_EXT")
+  , (STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT       , "VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT")
+  , (STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT         , "VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT")
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
     , "PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"
     )
@@ -2999,18 +3018,21 @@
     )
   , (STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT             , "DIRECTFB_SURFACE_CREATE_INFO_EXT")
   , (STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, "PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT")
-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT    , "PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT")
-  , (STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                          , "IMAGE_RESOLVE_2_KHR")
-  , (STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                      , "BUFFER_IMAGE_COPY_2_KHR")
-  , (STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                             , "IMAGE_BLIT_2_KHR")
-  , (STRUCTURE_TYPE_IMAGE_COPY_2_KHR                             , "IMAGE_COPY_2_KHR")
-  , (STRUCTURE_TYPE_BUFFER_COPY_2_KHR                            , "BUFFER_COPY_2_KHR")
-  , (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                     , "RESOLVE_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                        , "BLIT_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR              , "COPY_IMAGE_TO_BUFFER_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR              , "COPY_BUFFER_TO_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                        , "COPY_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                       , "COPY_BUFFER_INFO_2_KHR")
+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM
+    , "PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM"
+    )
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, "PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT")
+  , (STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                      , "IMAGE_RESOLVE_2_KHR")
+  , (STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                  , "BUFFER_IMAGE_COPY_2_KHR")
+  , (STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                         , "IMAGE_BLIT_2_KHR")
+  , (STRUCTURE_TYPE_IMAGE_COPY_2_KHR                         , "IMAGE_COPY_2_KHR")
+  , (STRUCTURE_TYPE_BUFFER_COPY_2_KHR                        , "BUFFER_COPY_2_KHR")
+  , (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                 , "RESOLVE_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                    , "BLIT_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR          , "COPY_IMAGE_TO_BUFFER_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR          , "COPY_BUFFER_TO_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                    , "COPY_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                   , "COPY_BUFFER_INFO_2_KHR")
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
     , "PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"
     )
diff --git a/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs b/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
@@ -1,7 +1,10 @@
 {-# language CPP #-}
 -- No documentation found for Chapter "SubpassDescriptionFlagBits"
 module Vulkan.Core10.Enums.SubpassDescriptionFlagBits  ( SubpassDescriptionFlags
-                                                       , SubpassDescriptionFlagBits( SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
+                                                       , SubpassDescriptionFlagBits( SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
+                                                                                   , SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
+                                                                                   , SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM
+                                                                                   , SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
                                                                                    , SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM
                                                                                    , SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX
                                                                                    , SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX
@@ -42,20 +45,33 @@
 newtype SubpassDescriptionFlagBits = SubpassDescriptionFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
+-- | 'SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+-- specifies that this subpass supports pipelines created with
+-- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'.
+pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM =
+  SubpassDescriptionFlagBits 0x00000040
+-- | 'SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+-- specifies that this subpass supports pipelines created with
+-- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'.
+pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM = SubpassDescriptionFlagBits 0x00000020
+-- | 'SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM'
+-- specifies that this subpass supports pipelines created with
+-- 'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM'.
+pattern SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM = SubpassDescriptionFlagBits 0x00000010
 -- | 'SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM' specifies that the subpass
 -- performs shader resolve operations.
-pattern SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM          = SubpassDescriptionFlagBits 0x00000008
+pattern SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM                             = SubpassDescriptionFlagBits 0x00000008
 -- | 'SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM' specifies that the
 -- framebuffer region is the fragment region, that is, the minimum region
 -- dependencies are by pixel rather than by sample, such that any fragment
 -- shader invocation /can/ access any sample associated with that fragment
 -- shader invocation.
-pattern SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM         = SubpassDescriptionFlagBits 0x00000004
+pattern SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM                            = SubpassDescriptionFlagBits 0x00000004
 -- | 'SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX' specifies that
 -- shaders compiled for this subpass use per-view positions which only
 -- differ in value in the x component. Per-view viewport mask /can/ also be
 -- used.
-pattern SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX = SubpassDescriptionFlagBits 0x00000002
+pattern SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX                    = SubpassDescriptionFlagBits 0x00000002
 -- | 'SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX' specifies that shaders
 -- compiled for this subpass write the attributes for all views in a single
 -- invocation of each
@@ -63,7 +79,7 @@
 -- All pipelines compiled against a subpass that includes this bit /must/
 -- write per-view attributes to the @*PerViewNV[]@ shader outputs, in
 -- addition to the non-per-view (e.g. @Position@) outputs.
-pattern SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX      = SubpassDescriptionFlagBits 0x00000001
+pattern SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX                         = SubpassDescriptionFlagBits 0x00000001
 
 conNameSubpassDescriptionFlagBits :: String
 conNameSubpassDescriptionFlagBits = "SubpassDescriptionFlagBits"
@@ -73,7 +89,16 @@
 
 showTableSubpassDescriptionFlagBits :: [(SubpassDescriptionFlagBits, String)]
 showTableSubpassDescriptionFlagBits =
-  [ (SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM         , "SHADER_RESOLVE_BIT_QCOM")
+  [ ( SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM
+    , "RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM"
+    )
+  , ( SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM
+    , "RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM"
+    )
+  , ( SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM
+    , "RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM"
+    )
+  , (SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM         , "SHADER_RESOLVE_BIT_QCOM")
   , (SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM        , "FRAGMENT_REGION_BIT_QCOM")
   , (SUBPASS_DESCRIPTION_PER_VIEW_POSITION_X_ONLY_BIT_NVX, "PER_VIEW_POSITION_X_ONLY_BIT_NVX")
   , (SUBPASS_DESCRIPTION_PER_VIEW_ATTRIBUTES_BIT_NVX     , "PER_VIEW_ATTRIBUTES_BIT_NVX")
diff --git a/src/Vulkan/Core10/FundamentalTypes.hs b/src/Vulkan/Core10/FundamentalTypes.hs
--- a/src/Vulkan/Core10/FundamentalTypes.hs
+++ b/src/Vulkan/Core10/FundamentalTypes.hs
@@ -436,6 +436,7 @@
 -- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.PhysicalDeviceCoverageReductionModeFeaturesNV',
 -- 'Vulkan.Extensions.VK_EXT_custom_border_color.PhysicalDeviceCustomBorderColorFeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing.PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV',
+-- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PhysicalDeviceDepthClipControlFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PhysicalDeviceDepthClipEnableFeaturesEXT',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.PhysicalDeviceDepthStencilResolveProperties',
 -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.PhysicalDeviceDescriptorIndexingFeatures',
@@ -495,6 +496,7 @@
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT',
+-- 'Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access.PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM',
 -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',
@@ -562,6 +564,7 @@
 -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV',
 -- 'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT',
+-- 'Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV',
 -- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo',
diff --git a/src/Vulkan/Core10/Memory.hs b/src/Vulkan/Core10/Memory.hs
--- a/src/Vulkan/Core10/Memory.hs
+++ b/src/Vulkan/Core10/Memory.hs
@@ -1037,7 +1037,7 @@
 --     import operation and the external handle specified was created by
 --     the Vulkan API, the device mask specified by
 --     'Vulkan.Core11.Promoted_From_VK_KHR_device_group.MemoryAllocateFlagsInfo'
---     /must/ match that specified when the payload being imported was
+--     /must/ match the mask specified when the payload being imported was
 --     allocated
 --
 -- -   #VUID-VkMemoryAllocateInfo-None-00644# If the parameters define an
diff --git a/src/Vulkan/Core10/Pipeline.hs b/src/Vulkan/Core10/Pipeline.hs
--- a/src/Vulkan/Core10/Pipeline.hs
+++ b/src/Vulkan/Core10/Pipeline.hs
@@ -26,9 +26,7 @@
                                , GraphicsPipelineCreateInfo(..)
                                , Pipeline(..)
                                , PipelineLayoutCreateFlags(..)
-                               , PipelineDepthStencilStateCreateFlags(..)
                                , PipelineDynamicStateCreateFlags(..)
-                               , PipelineColorBlendStateCreateFlags(..)
                                , PipelineMultisampleStateCreateFlags(..)
                                , PipelineRasterizationStateCreateFlags(..)
                                , PipelineViewportStateCreateFlags(..)
@@ -55,6 +53,10 @@
                                , PipelineShaderStageCreateFlags
                                , ColorComponentFlagBits(..)
                                , ColorComponentFlags
+                               , PipelineColorBlendStateCreateFlagBits(..)
+                               , PipelineColorBlendStateCreateFlags
+                               , PipelineDepthStencilStateCreateFlagBits(..)
+                               , PipelineDepthStencilStateCreateFlags
                                , SampleMask
                                ) where
 
@@ -157,7 +159,7 @@
 import Vulkan.Core10.Handles (PipelineCache)
 import Vulkan.Core10.Handles (PipelineCache(..))
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_blend_operation_advanced (PipelineColorBlendAdvancedStateCreateInfoEXT)
-import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags (PipelineColorBlendStateCreateFlags)
+import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits (PipelineColorBlendStateCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_color_write_enable (PipelineColorWriteCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_pipeline_compiler_control (PipelineCompilerControlCreateInfoAMD)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_framebuffer_mixed_samples (PipelineCoverageModulationStateCreateInfoNV)
@@ -165,7 +167,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_fragment_coverage_to_color (PipelineCoverageToColorStateCreateInfoNV)
 import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_creation_feedback (PipelineCreationFeedbackCreateInfoEXT)
-import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags (PipelineDepthStencilStateCreateFlags)
+import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits (PipelineDepthStencilStateCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_discard_rectangles (PipelineDiscardRectangleStateCreateInfoEXT)
 import Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags (PipelineDynamicStateCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_fragment_shading_rate_enums (PipelineFragmentShadingRateEnumStateCreateInfoNV)
@@ -190,6 +192,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_vertex_attribute_divisor (PipelineVertexInputDivisorStateCreateInfoEXT)
 import Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags (PipelineVertexInputStateCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (PipelineViewportCoarseSampleOrderStateCreateInfoNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PipelineViewportDepthClipControlCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PipelineViewportExclusiveScissorStateCreateInfoNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (PipelineViewportShadingRateImageStateCreateInfoNV)
 import Vulkan.Core10.Enums.PipelineViewportStateCreateFlags (PipelineViewportStateCreateFlags)
@@ -239,10 +242,12 @@
 import Vulkan.Core10.Enums.FrontFace (FrontFace(..))
 import Vulkan.Core10.Enums.LogicOp (LogicOp(..))
 import Vulkan.Core10.Handles (Pipeline(..))
-import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags (PipelineColorBlendStateCreateFlags(..))
+import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits (PipelineColorBlendStateCreateFlagBits(..))
+import Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits (PipelineColorBlendStateCreateFlags)
 import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlagBits(..))
 import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlags)
-import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags (PipelineDepthStencilStateCreateFlags(..))
+import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits (PipelineDepthStencilStateCreateFlagBits(..))
+import Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits (PipelineDepthStencilStateCreateFlags)
 import Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags (PipelineDynamicStateCreateFlags(..))
 import Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags (PipelineInputAssemblyStateCreateFlags(..))
 import Vulkan.Core10.Enums.PipelineLayoutCreateFlags (PipelineLayoutCreateFlags(..))
@@ -996,22 +1001,22 @@
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT',
 --     and the identified entry point has an @OpExecutionMode@ instruction
---     that specifies a patch size with @OutputVertices@, the patch size
---     /must/ be greater than @0@ and less than or equal to
+--     specifying a patch size with @OutputVertices@, the patch size /must/
+--     be greater than @0@ and less than or equal to
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxTessellationPatchSize@
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-stage-00714# If @stage@ is
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT',
 --     the identified entry point /must/ have an @OpExecutionMode@
---     instruction that specifies a maximum output vertex count that is
---     greater than @0@ and less than or equal to
+--     instruction specifying a maximum output vertex count that is greater
+--     than @0@ and less than or equal to
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxGeometryOutputVertices@
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-stage-00715# If @stage@ is
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT',
 --     the identified entry point /must/ have an @OpExecutionMode@
---     instruction that specifies an invocation count that is greater than
---     @0@ and less than or equal to
+--     instruction specifying an invocation count that is greater than @0@
+--     and less than or equal to
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxGeometryShaderInvocations@
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-stage-02596# If @stage@ is a
@@ -1046,14 +1051,14 @@
 -- -   #VUID-VkPipelineShaderStageCreateInfo-stage-02093# If @stage@ is
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_MESH_BIT_NV',
 --     the identified entry point /must/ have an @OpExecutionMode@
---     instruction that specifies a maximum output vertex count,
+--     instruction specifying a maximum output vertex count,
 --     @OutputVertices@, that is greater than @0@ and less than or equal to
 --     'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV'::@maxMeshOutputVertices@
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-stage-02094# If @stage@ is
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_MESH_BIT_NV',
 --     the identified entry point /must/ have an @OpExecutionMode@
---     instruction that specifies a maximum output primitive count,
+--     instruction specifying a maximum output primitive count,
 --     @OutputPrimitivesNV@, that is greater than @0@ and less than or
 --     equal to
 --     'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV'::@maxMeshOutputPrimitives@
@@ -2123,6 +2128,7 @@
 --     member of any structure (including this one) in the @pNext@ chain
 --     /must/ be either @NULL@ or a pointer to a valid instance of
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportCoarseSampleOrderStateCreateInfoNV',
+--     'Vulkan.Extensions.VK_EXT_depth_clip_control.PipelineViewportDepthClipControlCreateInfoEXT',
 --     'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV',
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV',
 --     'Vulkan.Extensions.VK_NV_viewport_swizzle.PipelineViewportSwizzleStateCreateInfoNV',
@@ -2175,6 +2181,7 @@
   getNext PipelineViewportStateCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PipelineViewportStateCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @PipelineViewportDepthClipControlCreateInfoEXT = Just f
     | Just Refl <- eqT @e @PipelineViewportCoarseSampleOrderStateCreateInfoNV = Just f
     | Just Refl <- eqT @e @PipelineViewportShadingRateImageStateCreateInfoNV = Just f
     | Just Refl <- eqT @e @PipelineViewportExclusiveScissorStateCreateInfoNV = Just f
@@ -2950,6 +2957,12 @@
 --     @logicOpEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE', @logicOp@
 --     /must/ be a valid 'Vulkan.Core10.Enums.LogicOp.LogicOp' value
 --
+-- -   #VUID-VkPipelineColorBlendStateCreateInfo-rasterizationOrderColorAttachmentAccess-06465#
+--     If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rasterizationOrderColorAttachmentAccess rasterizationOrderColorAttachmentAccess>
+--     feature is not enabled, @flags@ /must/ not include
+--     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkPipelineColorBlendStateCreateInfo-sType-sType# @sType@
@@ -2966,8 +2979,10 @@
 -- -   #VUID-VkPipelineColorBlendStateCreateInfo-sType-unique# The @sType@
 --     value of each struct in the @pNext@ chain /must/ be unique
 --
--- -   #VUID-VkPipelineColorBlendStateCreateInfo-flags-zerobitmask# @flags@
---     /must/ be @0@
+-- -   #VUID-VkPipelineColorBlendStateCreateInfo-flags-parameter# @flags@
+--     /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits'
+--     values
 --
 -- -   #VUID-VkPipelineColorBlendStateCreateInfo-pAttachments-parameter# If
 --     @attachmentCount@ is not @0@, @pAttachments@ /must/ be a valid
@@ -2980,12 +2995,14 @@
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Enums.LogicOp.LogicOp',
 -- 'PipelineColorBlendAttachmentState',
--- 'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags.PipelineColorBlendStateCreateFlags',
+-- 'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineColorBlendStateCreateInfo (es :: [Type]) = PipelineColorBlendStateCreateInfo
   { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
     next :: Chain es
-  , -- | @flags@ is reserved for future use.
+  , -- | @flags@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits'
+    -- specifying additional color blending information.
     flags :: PipelineColorBlendStateCreateFlags
   , -- | @logicOpEnable@ controls whether to apply
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-logicop Logical Operations>.
@@ -3290,6 +3307,18 @@
 --     @reference@ in each of the 'StencilOpState' structs in @front@ and
 --     @back@ /must/ be the same
 --
+-- -   #VUID-VkPipelineDepthStencilStateCreateInfo-rasterizationOrderDepthAttachmentAccess-06463#
+--     If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rasterizationOrderDepthAttachmentAccess rasterizationOrderDepthAttachmentAccess>
+--     feature is not enabled, @flags@ /must/ not include
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--
+-- -   #VUID-VkPipelineDepthStencilStateCreateInfo-rasterizationOrderStencilAttachmentAccess-06464#
+--     If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rasterizationOrderStencilAttachmentAccess rasterizationOrderStencilAttachmentAccess>
+--     feature is not enabled, @flags@ /must/ not include
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkPipelineDepthStencilStateCreateInfo-sType-sType# @sType@
@@ -3299,8 +3328,10 @@
 -- -   #VUID-VkPipelineDepthStencilStateCreateInfo-pNext-pNext# @pNext@
 --     /must/ be @NULL@
 --
--- -   #VUID-VkPipelineDepthStencilStateCreateInfo-flags-zerobitmask#
---     @flags@ /must/ be @0@
+-- -   #VUID-VkPipelineDepthStencilStateCreateInfo-flags-parameter# @flags@
+--     /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits'
+--     values
 --
 -- -   #VUID-VkPipelineDepthStencilStateCreateInfo-depthCompareOp-parameter#
 --     @depthCompareOp@ /must/ be a valid
@@ -3317,10 +3348,12 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.CompareOp.CompareOp', 'GraphicsPipelineCreateInfo',
--- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags',
+-- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlags',
 -- 'StencilOpState', 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineDepthStencilStateCreateInfo = PipelineDepthStencilStateCreateInfo
-  { -- | @flags@ is reserved for future use.
+  { -- | @flags@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits'
+    -- specifying additional depth\/stencil state information.
     flags :: PipelineDepthStencilStateCreateFlags
   , -- | @depthTestEnable@ controls whether
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-depth depth testing>
@@ -3615,14 +3648,14 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader state>
 --     and @pStages@ includes tessellation shader stages, the shader code
 --     of at least one stage /must/ contain an @OpExecutionMode@
---     instruction that specifies the type of subdivision in the pipeline
+--     instruction specifying the type of subdivision in the pipeline
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-00733# If the pipeline is
 --     being created with
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader state>
 --     and @pStages@ includes tessellation shader stages, and the shader
---     code of both stages contain an @OpExecutionMode@ instruction that
---     specifies the type of subdivision in the pipeline, they /must/ both
+--     code of both stages contain an @OpExecutionMode@ instruction
+--     specifying the type of subdivision in the pipeline, they /must/ both
 --     specify the same subdivision mode
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-00734# If the pipeline is
@@ -3630,15 +3663,15 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader state>
 --     and @pStages@ includes tessellation shader stages, the shader code
 --     of at least one stage /must/ contain an @OpExecutionMode@
---     instruction that specifies the output patch size in the pipeline
+--     instruction specifying the output patch size in the pipeline
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-00735# If the pipeline is
 --     being created with
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader state>
 --     and @pStages@ includes tessellation shader stages, and the shader
---     code of both contain an @OpExecutionMode@ instruction that specifies
---     the out patch size in the pipeline, they /must/ both specify the
---     same patch size
+--     code of both contain an @OpExecutionMode@ instruction specifying the
+--     out patch size in the pipeline, they /must/ both specify the same
+--     patch size
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-00736# If the pipeline is
 --     being created with
@@ -3659,7 +3692,7 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader state>
 --     and @pStages@ includes a geometry shader stage, and does not include
 --     any tessellation shader stages, its shader code /must/ contain an
---     @OpExecutionMode@ instruction that specifies an input primitive type
+--     @OpExecutionMode@ instruction specifying an input primitive type
 --     that is
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-geometry-execution compatible>
 --     with the primitive topology specified in @pInputAssembly@
@@ -3669,7 +3702,7 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader state>
 --     and @pStages@ includes a geometry shader stage, and also includes
 --     tessellation shader stages, its shader code /must/ contain an
---     @OpExecutionMode@ instruction that specifies an input primitive type
+--     @OpExecutionMode@ instruction specifying an input primitive type
 --     that is
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-geometry-execution compatible>
 --     with the primitive topology that is output by the tessellation
@@ -4709,6 +4742,34 @@
 --     the @colorAttachmentCount@ member of that structure /must/ be equal
 --     to the value of
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.PipelineRenderingCreateInfoKHR'::@colorAttachmentCount@
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-06466# If @pStages@
+--     includes a fragment shader stage, and the fragment shader code
+--     enables
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-earlytest early fragment tests>,
+--     the @flags@ member of 'PipelineDepthStencilStateCreateInfo' /must/
+--     not include
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--     or
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06467# If the @flags@
+--     member of 'PipelineColorBlendStateCreateInfo' includes
+--     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM'
+--     @subpass@ /must/ have been created with
+--     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM'
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06468# If the @flags@
+--     member of 'PipelineDepthStencilStateCreateInfo' includes
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM',
+--     @subpass@ /must/ have been created with
+--     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06469# If the @flags@
+--     member of 'PipelineDepthStencilStateCreateInfo' includes
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM',
+--     @subpass@ /must/ have been created with
+--     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs
@@ -115,6 +115,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (PhysicalDeviceCustomBorderColorPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation_image_aliasing (PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_control (PhysicalDeviceDepthClipControlFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PhysicalDeviceDepthClipEnableFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve (PhysicalDeviceDepthStencilResolveProperties)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (PhysicalDeviceDescriptorIndexingFeatures)
@@ -726,6 +727,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceColorWriteEnableFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExternalMemoryRDMAFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceVertexInputDynamicStateFeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceDepthClipControlFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderTerminateInvocationFeaturesKHR = Just f
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
@@ -435,7 +435,7 @@
 --     @components.g@, and @components.b@ /must/ not be
 --     'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_ZERO' or
 --     'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_ONE', and
---     /must/ not correspond to a component which contains zero or one as a
+--     /must/ not correspond to a component containing zero or one as a
 --     consequence of
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-conversion-to-rgba conversion to RGBA>
 --
diff --git a/src/Vulkan/Core12.hs b/src/Vulkan/Core12.hs
--- a/src/Vulkan/Core12.hs
+++ b/src/Vulkan/Core12.hs
@@ -828,7 +828,7 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-resources-standard-layout Standard Buffer Layout>.
 --
 -- -   #features-subgroup-extended-types# @shaderSubgroupExtendedTypes@ is
---     a boolean that specifies whether subgroup operations can use 8-bit
+--     a boolean specifying whether subgroup operations can use 8-bit
 --     integer, 16-bit integer, 64-bit integer, 16-bit floating-point, and
 --     vectors of these types in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-group-operations group operations>
diff --git a/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs b/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs
@@ -140,7 +140,7 @@
 --
 -- If the @pNext@ chain of 'Vulkan.Core10.Sampler.SamplerCreateInfo'
 -- includes a 'SamplerReductionModeCreateInfo' structure, then that
--- structure includes a mode that controls how texture filtering combines
+-- structure includes a mode controlling how texture filtering combines
 -- texel values.
 --
 -- If this structure is not present, @reductionMode@ is considered to be
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs
@@ -674,7 +674,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawIndirectCount-imageView-06184# If the current render
 --     pass instance was begun with
@@ -683,7 +683,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawIndirectCount-colorAttachmentCount-06185# If the
 --     currently bound pipeline was created with a
@@ -1603,7 +1603,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-imageView-06184# If the current
 --     render pass instance was begun with
@@ -1612,7 +1612,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-colorAttachmentCount-06185# If
 --     the currently bound pipeline was created with a
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs
@@ -141,7 +141,7 @@
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data FramebufferAttachmentsCreateInfo = FramebufferAttachmentsCreateInfo
   { -- | @pAttachmentImageInfos@ is a pointer to an array of
-    -- 'FramebufferAttachmentImageInfo' structures, each of which describes a
+    -- 'FramebufferAttachmentImageInfo' structures, each structure describing a
     -- number of parameters of the corresponding attachment in a render pass
     -- instance.
     attachmentImageInfos :: Vector FramebufferAttachmentImageInfo }
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs
@@ -57,9 +57,9 @@
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderSubgroupExtendedTypesFeatures = PhysicalDeviceShaderSubgroupExtendedTypesFeatures
   { -- | #extension-features-subgroup-extended-types#
-    -- @shaderSubgroupExtendedTypes@ is a boolean that specifies whether
-    -- subgroup operations can use 8-bit integer, 16-bit integer, 64-bit
-    -- integer, 16-bit floating-point, and vectors of these types in
+    -- @shaderSubgroupExtendedTypes@ is a boolean specifying whether subgroup
+    -- operations can use 8-bit integer, 16-bit integer, 64-bit integer, 16-bit
+    -- floating-point, and vectors of these types in
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-group-operations group operations>
     -- with
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-scope-subgroup subgroup scope>,
diff --git a/src/Vulkan/Extensions.hs b/src/Vulkan/Extensions.hs
--- a/src/Vulkan/Extensions.hs
+++ b/src/Vulkan/Extensions.hs
@@ -24,6 +24,7 @@
                           , module Vulkan.Extensions.VK_AMD_shader_trinary_minmax
                           , module Vulkan.Extensions.VK_AMD_texture_gather_bias_lod
                           , module Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer
+                          , module Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access
                           , module Vulkan.Extensions.VK_EXT_4444_formats
                           , module Vulkan.Extensions.VK_EXT_acquire_drm_display
                           , module Vulkan.Extensions.VK_EXT_acquire_xlib_display
@@ -39,6 +40,7 @@
                           , module Vulkan.Extensions.VK_EXT_debug_marker
                           , module Vulkan.Extensions.VK_EXT_debug_report
                           , module Vulkan.Extensions.VK_EXT_debug_utils
+                          , module Vulkan.Extensions.VK_EXT_depth_clip_control
                           , module Vulkan.Extensions.VK_EXT_depth_clip_enable
                           , module Vulkan.Extensions.VK_EXT_depth_range_unrestricted
                           , module Vulkan.Extensions.VK_EXT_descriptor_indexing
@@ -286,6 +288,7 @@
 import Vulkan.Extensions.VK_AMD_shader_trinary_minmax
 import Vulkan.Extensions.VK_AMD_texture_gather_bias_lod
 import Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer
+import Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access
 import Vulkan.Extensions.VK_EXT_4444_formats
 import Vulkan.Extensions.VK_EXT_acquire_drm_display
 import Vulkan.Extensions.VK_EXT_acquire_xlib_display
@@ -301,6 +304,7 @@
 import Vulkan.Extensions.VK_EXT_debug_marker
 import Vulkan.Extensions.VK_EXT_debug_report
 import Vulkan.Extensions.VK_EXT_debug_utils
+import Vulkan.Extensions.VK_EXT_depth_clip_control
 import Vulkan.Extensions.VK_EXT_depth_clip_enable
 import Vulkan.Extensions.VK_EXT_depth_range_unrestricted
 import Vulkan.Extensions.VK_EXT_descriptor_indexing
diff --git a/src/Vulkan/Extensions/Dependencies.hs b/src/Vulkan/Extensions/Dependencies.hs
--- a/src/Vulkan/Extensions/Dependencies.hs
+++ b/src/Vulkan/Extensions/Dependencies.hs
@@ -13,6 +13,7 @@
 import Vulkan.Extensions.VK_AMD_texture_gather_bias_lod (pattern AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME)
 import Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME)
 import Vulkan.Core10 (pattern API_VERSION_1_0)
+import Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access (pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_4444_formats (pattern EXT_4444_FORMATS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_acquire_drm_display (pattern EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_acquire_xlib_display (pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME)
@@ -25,6 +26,7 @@
 import Vulkan.Extensions.VK_EXT_custom_border_color (pattern EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_debug_marker (pattern EXT_DEBUG_MARKER_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_debug_report (pattern EXT_DEBUG_REPORT_EXTENSION_NAME)
+import Vulkan.Extensions.VK_EXT_depth_clip_control (pattern EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_descriptor_indexing (pattern EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_device_memory_report (pattern EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_directfb_surface (pattern EXT_DIRECTFB_SURFACE_EXTENSION_NAME)
@@ -533,9 +535,10 @@
     [EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME ->
     [KHR_SWAPCHAIN_EXTENSION_NAME, KHR_COPY_COMMANDS_2_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]
-  EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME                 -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
-  KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
-  EXT_4444_FORMATS_EXTENSION_NAME                     -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME                      -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME      -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  EXT_4444_FORMATS_EXTENSION_NAME                          -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_RGBA10X6_FORMATS_EXTENSION_NAME ->
     [ KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
     , KHR_MAINTENANCE_1_EXTENSION_NAME
@@ -550,6 +553,7 @@
     [KHR_MAINTENANCE_3_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME        -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME         -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME     -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME ->
     [ KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs b/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs
@@ -205,8 +205,8 @@
   , -- | #limits-shaderArraysPerEngineCount# @shaderArraysPerEngineCount@ is an
     -- unsigned integer value indicating the number of shader arrays inside a
     -- shader engine. Each shader array has its own scan converter, set of
-    -- compute units, and a render back end (color and depth buffers). Shader
-    -- arrays within a shader engine share shader processor input (wave
+    -- compute units, and a render back end (color and depth attachments).
+    -- Shader arrays within a shader engine share shader processor input (wave
     -- launcher) and shader export (export buffer) units. Currently, a shader
     -- engine can have one or two shader arrays.
     shaderArraysPerEngineCount :: Word32
diff --git a/src/Vulkan/Extensions/VK_ARM_rasterization_order_attachment_access.hs b/src/Vulkan/Extensions/VK_ARM_rasterization_order_attachment_access.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_ARM_rasterization_order_attachment_access.hs
@@ -0,0 +1,270 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_ARM_rasterization_order_attachment_access - device extension
+--
+-- == VK_ARM_rasterization_order_attachment_access
+--
+-- [__Name String__]
+--     @VK_ARM_rasterization_order_attachment_access@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     343
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Contact__]
+--
+--     -   Jan-Harald Fredriksen
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_ARM_rasterization_order_attachment_access] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_ARM_rasterization_order_attachment_access extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-11-12
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+-- == Description
+--
+-- Renderpasses, and specifically
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-barriers-subpass-self-dependencies subpass self-dependencies>
+-- enable much of the same functionality as the framebuffer fetch and pixel
+-- local storage extensions did for OpenGL ES. But certain techniques such
+-- as programmable blending are awkward or impractical to implement with
+-- these alone, in part because a self-dependency is required every time a
+-- fragment will read a value at a given sample coordinate.
+--
+-- This extension extends the mechanism of input attachments to allow
+-- access to framebuffer attachments when used as both input and color, or
+-- depth\/stencil, attachments from one fragment to the next, in
+-- rasterization order, without explicit synchronization.
+--
+-- See
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-feedbackloop renderpass feedback loops>
+-- for more information.
+--
+-- == New Structures
+--
+-- -   'PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM'
+--
+-- == New Enums
+--
+-- -   'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits'
+--
+-- -   'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits'
+--
+-- == New Enum Constants
+--
+-- -   'ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME'
+--
+-- -   'ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--
+--     -   'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM'
+--
+--     -   'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--
+--     -   'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+--
+-- == Issues
+--
+-- 1) Is there any interaction with the @VK_KHR_dynamic_rendering@
+-- extension?
+--
+-- No. This extension only affects reads from input attachments. Render
+-- pass instances begun with
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.cmdBeginRenderingKHR' do not
+-- have input attachments and a different mechanism will be needed to
+-- provide similar functionality in this case.
+--
+-- == Examples
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-11-12 (Jan-Harald Fredriksen)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM',
+-- 'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits',
+-- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ARM_rasterization_order_attachment_access Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access  ( PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM(..)
+                                                                       , ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION
+                                                                       , pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION
+                                                                       , ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME
+                                                                       , pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME
+                                                                       ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM))
+-- | VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM -
+-- Structure describing whether rasterization order attachment access can
+-- be supported by an implementation
+--
+-- = Members
+--
+-- The members of the
+-- 'PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM' structure
+-- describe the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM'
+-- structure is included in the @pNext@ chain of
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+-- it is filled with values indicating whether the feature is supported.
+-- 'PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM' /can/ also
+-- be used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo'
+-- to enable features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ARM_rasterization_order_attachment_access VK_ARM_rasterization_order_attachment_access>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM = PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+  { -- | #features-rasterizationOrderColorAttachmentAccess#
+    -- @rasterizationOrderColorAttachmentAccess@ indicates that rasterization
+    -- order access to color and input attachments is supported by the
+    -- implementation.
+    rasterizationOrderColorAttachmentAccess :: Bool
+  , -- | #features-rasterizationOrderDepthAttachmentAccess#
+    -- @rasterizationOrderDepthAttachmentAccess@ indicates that rasterization
+    -- order access to the depth aspect of depth\/stencil and input attachments
+    -- is supported by the implementation.
+    rasterizationOrderDepthAttachmentAccess :: Bool
+  , -- | #features-rasterizationOrderStencilAttachmentAccess#
+    -- @rasterizationOrderStencilAttachmentAccess@ indicates that rasterization
+    -- order access to the stencil aspect of depth\/stencil and input
+    -- attachments is supported by the implementation.
+    rasterizationOrderStencilAttachmentAccess :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM)
+#endif
+deriving instance Show PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+
+instance ToCStruct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (rasterizationOrderColorAttachmentAccess))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (rasterizationOrderDepthAttachmentAccess))
+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (rasterizationOrderStencilAttachmentAccess))
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM where
+  peekCStruct p = do
+    rasterizationOrderColorAttachmentAccess <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    rasterizationOrderDepthAttachmentAccess <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    rasterizationOrderStencilAttachmentAccess <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))
+    pure $ PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+             (bool32ToBool rasterizationOrderColorAttachmentAccess) (bool32ToBool rasterizationOrderDepthAttachmentAccess) (bool32ToBool rasterizationOrderStencilAttachmentAccess)
+
+instance Storable PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM where
+  zero = PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+           zero
+           zero
+           zero
+
+
+type ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION"
+pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION :: forall a . Integral a => a
+pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION = 1
+
+
+type ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access"
+
+-- No documentation found for TopLevel "VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME"
+pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME = "VK_ARM_rasterization_order_attachment_access"
+
diff --git a/src/Vulkan/Extensions/VK_ARM_rasterization_order_attachment_access.hs-boot b/src/Vulkan/Extensions/VK_ARM_rasterization_order_attachment_access.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_ARM_rasterization_order_attachment_access.hs-boot
@@ -0,0 +1,151 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_ARM_rasterization_order_attachment_access - device extension
+--
+-- == VK_ARM_rasterization_order_attachment_access
+--
+-- [__Name String__]
+--     @VK_ARM_rasterization_order_attachment_access@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     343
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Contact__]
+--
+--     -   Jan-Harald Fredriksen
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_ARM_rasterization_order_attachment_access] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_ARM_rasterization_order_attachment_access extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-11-12
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+-- == Description
+--
+-- Renderpasses, and specifically
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-barriers-subpass-self-dependencies subpass self-dependencies>
+-- enable much of the same functionality as the framebuffer fetch and pixel
+-- local storage extensions did for OpenGL ES. But certain techniques such
+-- as programmable blending are awkward or impractical to implement with
+-- these alone, in part because a self-dependency is required every time a
+-- fragment will read a value at a given sample coordinate.
+--
+-- This extension extends the mechanism of input attachments to allow
+-- access to framebuffer attachments when used as both input and color, or
+-- depth\/stencil, attachments from one fragment to the next, in
+-- rasterization order, without explicit synchronization.
+--
+-- See
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-feedbackloop renderpass feedback loops>
+-- for more information.
+--
+-- == New Structures
+--
+-- -   'PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM'
+--
+-- == New Enums
+--
+-- -   'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits'
+--
+-- -   'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits'
+--
+-- == New Enum Constants
+--
+-- -   'ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME'
+--
+-- -   'ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--
+--     -   'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_FEATURES_ARM'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SubpassDescriptionFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM'
+--
+--     -   'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--
+--     -   'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
+--
+-- == Issues
+--
+-- 1) Is there any interaction with the @VK_KHR_dynamic_rendering@
+-- extension?
+--
+-- No. This extension only affects reads from input attachments. Render
+-- pass instances begun with
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.cmdBeginRenderingKHR' do not
+-- have input attachments and a different mechanism will be needed to
+-- provide similar functionality in this case.
+--
+-- == Examples
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-11-12 (Jan-Harald Fredriksen)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM',
+-- 'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PipelineColorBlendStateCreateFlagBits',
+-- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PipelineDepthStencilStateCreateFlagBits'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ARM_rasterization_order_attachment_access Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access  (PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+
+instance ToCStruct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+instance Show PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+
+instance FromCStruct PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM
+
diff --git a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
--- a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
+++ b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
@@ -288,8 +288,8 @@
   , -- | #limits-fullyCoveredFragmentShaderInputVariable#
     -- @fullyCoveredFragmentShaderInputVariable@ is
     -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the implementation supports the
-    -- SPIR-V builtin fragment shader input variable @FullyCoveredEXT@ which
-    -- specifies that conservative rasterization is enabled and the fragment
+    -- SPIR-V builtin fragment shader input variable @FullyCoveredEXT@
+    -- specifying that conservative rasterization is enabled and the fragment
     -- area is fully covered by the generating primitive.
     fullyCoveredFragmentShaderInputVariable :: Bool
   , -- | #limits-conservativeRasterizationPostDepthCoverage#
diff --git a/src/Vulkan/Extensions/VK_EXT_depth_clip_control.hs b/src/Vulkan/Extensions/VK_EXT_depth_clip_control.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_depth_clip_control.hs
@@ -0,0 +1,309 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_depth_clip_control - device extension
+--
+-- == VK_EXT_depth_clip_control
+--
+-- [__Name String__]
+--     @VK_EXT_depth_clip_control@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     356
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Special Use__]
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse OpenGL \/ ES support>
+--
+-- [__Contact__]
+--
+--     -   Shahbaz Youssefi
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_depth_clip_control] @syoussefi%0A<<Here describe the issue or question you have about the VK_EXT_depth_clip_control extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-11-09
+--
+-- [__Contributors__]
+--
+--     -   Spencer Fricke, Samsung Electronics
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Ralph Potter, Samsung Electronics
+--
+-- == Description
+--
+-- This extension allows the application to use the OpenGL depth range in
+-- NDC, i.e. with depth in range [-1, 1], as opposed to Vulkan’s default of
+-- [0, 1]. The purpose of this extension is to allow efficient layering of
+-- OpenGL over Vulkan, by avoiding emulation in the pre-rasterization
+-- shader stages. This emulation, which effectively duplicates gl_Position
+-- but with a different depth value, costs ALU and consumes shader output
+-- components that the implementation may not have to spare to meet OpenGL
+-- minimum requirements.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceDepthClipControlFeaturesEXT'
+--
+-- -   Extending 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo':
+--
+--     -   'PipelineViewportDepthClipControlCreateInfoEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME'
+--
+-- -   'EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT'
+--
+-- == Version History
+--
+-- -   Revision 0, 2020-10-01 (Spencer Fricke)
+--
+--     -   Internal revisions
+--
+-- -   Revision 1, 2020-11-26 (Shahbaz Youssefi)
+--
+--     -   Language fixes
+--
+-- == Issues
+--
+-- 1) Should this extension include an origin control option to match
+-- GL_LOWER_LEFT found in ARB_clip_control?
+--
+-- __RESOLVED__: Yes. The fix for porting over the origin is a simple
+-- y-axis flip. The depth clip control is a much harder problem to solve
+-- than what this extension is aimed to solve. Adding an equivalent to
+-- GL_LOWER_LEFT would require more testing.
+--
+-- 2) Should this pipeline state be dynamic?
+--
+-- __RESOLVED__: Yes. The purpose of this extension is to emulate the
+-- OpenGL depth range, which is expected to be globally fixed (in case of
+-- OpenGL ES) or very infrequently changed (with @glClipControl@ in
+-- OpenGL).
+--
+-- 3) Should the control provided in this extension be an enum that could
+-- be extended in the future?
+--
+-- __RESOLVED__: Yes. It’s deemed highly unlikely that the depth range is
+-- changed to anything other than [0, 1] in the future. Should that happen,
+-- a new extension is required to extend such an enum, and that extension
+-- might as well add a new struct to chain to
+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@pNext@
+-- instead.
+--
+-- == See Also
+--
+-- 'PhysicalDeviceDepthClipControlFeaturesEXT',
+-- 'PipelineViewportDepthClipControlCreateInfoEXT'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_depth_clip_control  ( PhysicalDeviceDepthClipControlFeaturesEXT(..)
+                                                    , PipelineViewportDepthClipControlCreateInfoEXT(..)
+                                                    , EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION
+                                                    , pattern EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION
+                                                    , EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME
+                                                    , pattern EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME
+                                                    ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT))
+-- | VkPhysicalDeviceDepthClipControlFeaturesEXT - Structure describing
+-- additional depth clip control supported by an implementation
+--
+-- = Members
+--
+-- The members of the 'PhysicalDeviceDepthClipControlFeaturesEXT' structure
+-- describe the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceDepthClipControlFeaturesEXT' structure is included
+-- in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDeviceDepthClipControlFeaturesEXT' /can/ also be
+-- used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to
+-- selectively enable these features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceDepthClipControlFeaturesEXT = PhysicalDeviceDepthClipControlFeaturesEXT
+  { -- | #features-depthClipControl# @depthClipControl@ indicates that the
+    -- implementation supports setting
+    -- 'PipelineViewportDepthClipControlCreateInfoEXT'::@negativeOneToOne@ to
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE'.
+    depthClipControl :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceDepthClipControlFeaturesEXT)
+#endif
+deriving instance Show PhysicalDeviceDepthClipControlFeaturesEXT
+
+instance ToCStruct PhysicalDeviceDepthClipControlFeaturesEXT where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceDepthClipControlFeaturesEXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (depthClipControl))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceDepthClipControlFeaturesEXT where
+  peekCStruct p = do
+    depthClipControl <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceDepthClipControlFeaturesEXT
+             (bool32ToBool depthClipControl)
+
+instance Storable PhysicalDeviceDepthClipControlFeaturesEXT where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceDepthClipControlFeaturesEXT where
+  zero = PhysicalDeviceDepthClipControlFeaturesEXT
+           zero
+
+
+-- | VkPipelineViewportDepthClipControlCreateInfoEXT - Structure specifying
+-- parameters of a newly created pipeline depth clip control state
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkPipelineViewportDepthClipControlCreateInfoEXT-negativeOneToOne-06470#
+--     If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-depthClipControl depthClipControl>
+--     is not enabled, @negativeOneToOne@ /must/ be
+--     'Vulkan.Core10.FundamentalTypes.FALSE'
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkPipelineViewportDepthClipControlCreateInfoEXT-sType-sType#
+--     @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PipelineViewportDepthClipControlCreateInfoEXT = PipelineViewportDepthClipControlCreateInfoEXT
+  { -- | @negativeOneToOne@ sets the zm in the /view volume/ to -wc
+    negativeOneToOne :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PipelineViewportDepthClipControlCreateInfoEXT)
+#endif
+deriving instance Show PipelineViewportDepthClipControlCreateInfoEXT
+
+instance ToCStruct PipelineViewportDepthClipControlCreateInfoEXT where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PipelineViewportDepthClipControlCreateInfoEXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (negativeOneToOne))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PipelineViewportDepthClipControlCreateInfoEXT where
+  peekCStruct p = do
+    negativeOneToOne <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PipelineViewportDepthClipControlCreateInfoEXT
+             (bool32ToBool negativeOneToOne)
+
+instance Storable PipelineViewportDepthClipControlCreateInfoEXT where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PipelineViewportDepthClipControlCreateInfoEXT where
+  zero = PipelineViewportDepthClipControlCreateInfoEXT
+           zero
+
+
+type EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION"
+pattern EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION :: forall a . Integral a => a
+pattern EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION = 1
+
+
+type EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control"
+
+-- No documentation found for TopLevel "VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME"
+pattern EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME = "VK_EXT_depth_clip_control"
+
diff --git a/src/Vulkan/Extensions/VK_EXT_depth_clip_control.hs-boot b/src/Vulkan/Extensions/VK_EXT_depth_clip_control.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_depth_clip_control.hs-boot
@@ -0,0 +1,154 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_depth_clip_control - device extension
+--
+-- == VK_EXT_depth_clip_control
+--
+-- [__Name String__]
+--     @VK_EXT_depth_clip_control@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     356
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Special Use__]
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse OpenGL \/ ES support>
+--
+-- [__Contact__]
+--
+--     -   Shahbaz Youssefi
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_depth_clip_control] @syoussefi%0A<<Here describe the issue or question you have about the VK_EXT_depth_clip_control extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-11-09
+--
+-- [__Contributors__]
+--
+--     -   Spencer Fricke, Samsung Electronics
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Ralph Potter, Samsung Electronics
+--
+-- == Description
+--
+-- This extension allows the application to use the OpenGL depth range in
+-- NDC, i.e. with depth in range [-1, 1], as opposed to Vulkan’s default of
+-- [0, 1]. The purpose of this extension is to allow efficient layering of
+-- OpenGL over Vulkan, by avoiding emulation in the pre-rasterization
+-- shader stages. This emulation, which effectively duplicates gl_Position
+-- but with a different depth value, costs ALU and consumes shader output
+-- components that the implementation may not have to spare to meet OpenGL
+-- minimum requirements.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceDepthClipControlFeaturesEXT'
+--
+-- -   Extending 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo':
+--
+--     -   'PipelineViewportDepthClipControlCreateInfoEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME'
+--
+-- -   'EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DEPTH_CLIP_CONTROL_FEATURES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_VIEWPORT_DEPTH_CLIP_CONTROL_CREATE_INFO_EXT'
+--
+-- == Version History
+--
+-- -   Revision 0, 2020-10-01 (Spencer Fricke)
+--
+--     -   Internal revisions
+--
+-- -   Revision 1, 2020-11-26 (Shahbaz Youssefi)
+--
+--     -   Language fixes
+--
+-- == Issues
+--
+-- 1) Should this extension include an origin control option to match
+-- GL_LOWER_LEFT found in ARB_clip_control?
+--
+-- __RESOLVED__: Yes. The fix for porting over the origin is a simple
+-- y-axis flip. The depth clip control is a much harder problem to solve
+-- than what this extension is aimed to solve. Adding an equivalent to
+-- GL_LOWER_LEFT would require more testing.
+--
+-- 2) Should this pipeline state be dynamic?
+--
+-- __RESOLVED__: Yes. The purpose of this extension is to emulate the
+-- OpenGL depth range, which is expected to be globally fixed (in case of
+-- OpenGL ES) or very infrequently changed (with @glClipControl@ in
+-- OpenGL).
+--
+-- 3) Should the control provided in this extension be an enum that could
+-- be extended in the future?
+--
+-- __RESOLVED__: Yes. It’s deemed highly unlikely that the depth range is
+-- changed to anything other than [0, 1] in the future. Should that happen,
+-- a new extension is required to extend such an enum, and that extension
+-- might as well add a new struct to chain to
+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@pNext@
+-- instead.
+--
+-- == See Also
+--
+-- 'PhysicalDeviceDepthClipControlFeaturesEXT',
+-- 'PipelineViewportDepthClipControlCreateInfoEXT'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_depth_clip_control  ( PhysicalDeviceDepthClipControlFeaturesEXT
+                                                    , PipelineViewportDepthClipControlCreateInfoEXT
+                                                    ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceDepthClipControlFeaturesEXT
+
+instance ToCStruct PhysicalDeviceDepthClipControlFeaturesEXT
+instance Show PhysicalDeviceDepthClipControlFeaturesEXT
+
+instance FromCStruct PhysicalDeviceDepthClipControlFeaturesEXT
+
+
+data PipelineViewportDepthClipControlCreateInfoEXT
+
+instance ToCStruct PipelineViewportDepthClipControlCreateInfoEXT
+instance Show PipelineViewportDepthClipControlCreateInfoEXT
+
+instance FromCStruct PipelineViewportDepthClipControlCreateInfoEXT
+
diff --git a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
--- a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
+++ b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
@@ -47,7 +47,7 @@
 -- and CTA (Consumer Technology Association) 861.3 metadata to a swapchain.
 -- The metadata includes the color primaries, white point, and luminance
 -- range of the reference monitor, which all together define the color
--- volume that contains all the possible colors the reference monitor can
+-- volume containing all the possible colors the reference monitor can
 -- produce. The reference monitor is the display where creative work is
 -- done and creative intent is established. To preserve such creative
 -- intent as much as possible and achieve consistent color reproduction on
diff --git a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot
@@ -47,7 +47,7 @@
 -- and CTA (Consumer Technology Association) 861.3 metadata to a swapchain.
 -- The metadata includes the color primaries, white point, and luminance
 -- range of the reference monitor, which all together define the color
--- volume that contains all the possible colors the reference monitor can
+-- volume containing all the possible colors the reference monitor can
 -- produce. The reference monitor is the display where creative work is
 -- done and creative intent is established. To preserve such creative
 -- intent as much as possible and achieve consistent color reproduction on
diff --git a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs
--- a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs
+++ b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs
@@ -828,7 +828,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawMultiEXT-imageView-06184# If the current render pass
 --     instance was begun with
@@ -837,7 +837,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawMultiEXT-colorAttachmentCount-06185# If the currently
 --     bound pipeline was created with a
@@ -1716,7 +1716,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-imageView-06184# If the current
 --     render pass instance was begun with
@@ -1725,7 +1725,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-colorAttachmentCount-06185# If the
 --     currently bound pipeline was created with a
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs b/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs
@@ -71,26 +71,26 @@
 -- This extension provides access to a number of additional built-in shader
 -- variables in Vulkan:
 --
--- -   @SubgroupEqMaskKHR@, which contains the subgroup mask of the current
+-- -   @SubgroupEqMaskKHR@, containing the subgroup mask of the current
 --     subgroup invocation,
 --
--- -   @SubgroupGeMaskKHR@, which contains the subgroup mask of the
---     invocations greater than or equal to the current invocation,
+-- -   @SubgroupGeMaskKHR@, containing the subgroup mask of the invocations
+--     greater than or equal to the current invocation,
 --
--- -   @SubgroupGtMaskKHR@, which contains the subgroup mask of the
---     invocations greater than the current invocation,
+-- -   @SubgroupGtMaskKHR@, containing the subgroup mask of the invocations
+--     greater than the current invocation,
 --
--- -   @SubgroupLeMaskKHR@, which contains the subgroup mask of the
---     invocations less than or equal to the current invocation,
+-- -   @SubgroupLeMaskKHR@, containing the subgroup mask of the invocations
+--     less than or equal to the current invocation,
 --
--- -   @SubgroupLtMaskKHR@, which contains the subgroup mask of the
---     invocations less than the current invocation,
+-- -   @SubgroupLtMaskKHR@, containing the subgroup mask of the invocations
+--     less than the current invocation,
 --
--- -   @SubgroupLocalInvocationId@, which contains the index of an
---     invocation within a subgroup, and
+-- -   @SubgroupLocalInvocationId@, containing the index of an invocation
+--     within a subgroup, and
 --
--- -   @SubgroupSize@, which contains the maximum number of invocations in
---     a subgroup.
+-- -   @SubgroupSize@, containing the maximum number of invocations in a
+--     subgroup.
 --
 -- Additionally, this extension provides access to the new SPIR-V
 -- instructions:
diff --git a/src/Vulkan/Extensions/VK_EXT_tooling_info.hs b/src/Vulkan/Extensions/VK_EXT_tooling_info.hs
--- a/src/Vulkan/Extensions/VK_EXT_tooling_info.hs
+++ b/src/Vulkan/Extensions/VK_EXT_tooling_info.hs
@@ -356,7 +356,7 @@
   , -- | @description@ is a null-terminated UTF-8 string containing a description
     -- of the tool.
     description :: ByteString
-  , -- | @layer@ is a null-terminated UTF-8 string that contains the name of the
+  , -- | @layer@ is a null-terminated UTF-8 string containing the name of the
     -- layer implementing the tool, if the tool is implemented in a layer -
     -- otherwise it /may/ be an empty string.
     layer :: ByteString
diff --git a/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs b/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs
--- a/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs
+++ b/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs
@@ -1831,7 +1831,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-imageView-06184# If the current
 --     render pass instance was begun with
@@ -1840,7 +1840,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-colorAttachmentCount-06185# If
 --     the currently bound pipeline was created with a
diff --git a/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs b/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs
--- a/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs
+++ b/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs
@@ -310,8 +310,8 @@
 -- 'VertexInputBindingDivisorDescriptionEXT'
 data PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfoEXT
   { -- | @pVertexBindingDivisors@ is a pointer to an array of
-    -- 'VertexInputBindingDivisorDescriptionEXT' structures, which specifies
-    -- the divisor value for each binding.
+    -- 'VertexInputBindingDivisorDescriptionEXT' structures specifying the
+    -- divisor value for each binding.
     --
     -- #VUID-VkPipelineVertexInputDivisorStateCreateInfoEXT-pVertexBindingDivisors-parameter#
     -- @pVertexBindingDivisors@ /must/ be a valid pointer to an array of
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
@@ -400,8 +400,8 @@
                                  -- collection
                                  BufferCollectionCreateInfoFUCHSIA
                               -> -- | @pAllocator@ is a pointer to a
-                                 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure which
-                                 -- controls host memory allocation as described in the
+                                 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure
+                                 -- controlling host memory allocation as described in the
                                  -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-allocation Memory Allocation>
                                  -- chapter
                                  ("allocator" ::: Maybe AllocationCallbacks)
@@ -640,8 +640,8 @@
                                   -- handle
                                   BufferCollectionFUCHSIA
                                -> -- | @pAllocator@ is a pointer to a
-                                  -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure which
-                                  -- controls host memory allocation as described in the
+                                  -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure
+                                  -- controlling host memory allocation as described in the
                                   -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-allocation Memory Allocation>
                                   -- chapter
                                   ("allocator" ::: Maybe AllocationCallbacks)
@@ -1383,8 +1383,8 @@
     sysmemPixelFormat :: Word64
   , -- | @colorSpaceCount@ the element count of @pColorSpaces@
     colorSpaceCount :: Word32
-  , -- | @pColorSpaces@ is an array of 'SysmemColorSpaceFUCHSIA' structs of size
-    -- @colorSpaceCount@
+  , -- | @pColorSpaces@ is a pointer to an array of 'SysmemColorSpaceFUCHSIA'
+    -- structs of size @colorSpaceCount@
     --
     -- #VUID-VkImageFormatConstraintsInfoFUCHSIA-pColorSpaces-parameter#
     -- @pColorSpaces@ /must/ be a valid pointer to a valid
@@ -1526,10 +1526,10 @@
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'setBufferCollectionImageConstraintsFUCHSIA'
 data ImageConstraintsInfoFUCHSIA = ImageConstraintsInfoFUCHSIA
-  { -- | @pFormatConstraints@ is an array of 'ImageFormatConstraintsInfoFUCHSIA'
-    -- structures of size @formatConstraintsCount@ that is used to further
-    -- constrain buffer collection format selection for image-based buffer
-    -- collections.
+  { -- | @pFormatConstraints@ is a pointer to an array of
+    -- 'ImageFormatConstraintsInfoFUCHSIA' structures of size
+    -- @formatConstraintsCount@ that is used to further constrain buffer
+    -- collection format selection for image-based buffer collections.
     formatConstraints :: Vector ImageFormatConstraintsInfoFUCHSIA
   , -- | @bufferCollectionConstraints@ is a
     -- 'BufferCollectionConstraintsInfoFUCHSIA' structure used to supply
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs
--- a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs
+++ b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs
@@ -310,10 +310,10 @@
                             => -- | @commandBuffer@ is the command buffer into which the command will be
                                -- recorded
                                CommandBuffer
-                            -> -- | @imageView@ is an image view handle that specifies the invocation mask
-                               -- image @imageView@ /may/ be set to
-                               -- 'Vulkan.Core10.APIConstants.NULL_HANDLE', which is equivalent to
-                               -- specifying a view of an image filled with ones value.
+                            -> -- | @imageView@ is an image view handle specifying the invocation mask image
+                               -- @imageView@ /may/ be set to 'Vulkan.Core10.APIConstants.NULL_HANDLE',
+                               -- which is equivalent to specifying a view of an image filled with ones
+                               -- value.
                                ImageView
                             -> -- | @imageLayout@ is the layout that the image subresources accessible from
                                -- @imageView@ will be in when the invocation mask image is accessed
diff --git a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs
--- a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs
+++ b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs
@@ -49,7 +49,7 @@
 -- pre-existing counterparts in the Kernel environment.
 --
 -- The added integer functions are defined by the
--- <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/INTEL/SPV_INTEL_shader_integer_functions2.html SPV_INTEL_shader_integer_functions>
+-- <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/INTEL/SPV_INTEL_shader_integer_functions2.html SPV_INTEL_shader_integer_functions2>
 -- SPIR-V extension and can be used with the
 -- GL_INTEL_shader_integer_functions2 GLSL extension.
 --
diff --git a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot
--- a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot
+++ b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot
@@ -49,7 +49,7 @@
 -- pre-existing counterparts in the Kernel environment.
 --
 -- The added integer functions are defined by the
--- <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/INTEL/SPV_INTEL_shader_integer_functions2.html SPV_INTEL_shader_integer_functions>
+-- <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/INTEL/SPV_INTEL_shader_integer_functions2.html SPV_INTEL_shader_integer_functions2>
 -- SPIR-V extension and can be used with the
 -- GL_INTEL_shader_integer_functions2 GLSL extension.
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs
--- a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs
+++ b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs
@@ -4570,27 +4570,27 @@
 --
 -- -   For 'AccelerationStructureBuildGeometryInfoKHR':
 --
---     -   Its @type@, and @flags@ members are equal to those specified in
---         @pBuildInfo@.
+--     -   Its @type@, and @flags@ members are equal to @pBuildInfo->type@
+--         andm @pBuildInfo->flags@, respectively.
 --
---     -   @geometryCount@ is less than or equal to that specified in
---         @pBuildInfo@.
+--     -   @geometryCount@ is less than or equal to
+--         @pBuildInfo->geometryCount@.
 --
 --     -   For each element of either @pGeometries@ or @ppGeometries@ at a
---         given index, its @geometryType@ member is equal to that
---         specified in @pBuildInfo@.
+--         given index, its @geometryType@ member is equal to
+--         @pBuildInfo->geometryType@.
 --
 --     -   For each element of either @pGeometries@ or @ppGeometries@ at a
 --         given index, with a @geometryType@ member equal to
 --         'GEOMETRY_TYPE_TRIANGLES_KHR', the @vertexFormat@ and
---         @indexType@ members of @geometry.triangles@ are equal to those
---         specified in the same element in @pBuildInfo@.
+--         @indexType@ members of @geometry.triangles@ are equal to the
+--         corresponding members of the same element in @pBuildInfo@.
 --
 --     -   For each element of either @pGeometries@ or @ppGeometries@ at a
 --         given index, with a @geometryType@ member equal to
 --         'GEOMETRY_TYPE_TRIANGLES_KHR', the @maxVertex@ member of
---         @geometry.triangles@ is less than or equal to that specified in
---         the same element in @pBuildInfo@.
+--         @geometry.triangles@ is less than or equal to the corresponding
+--         member of the same element in @pBuildInfo@.
 --
 --     -   For each element of either @pGeometries@ or @ppGeometries@ at a
 --         given index, with a @geometryType@ member equal to
@@ -5137,7 +5137,7 @@
     -- for this geometry.
     indexData :: DeviceOrHostAddressConstKHR
   , -- | @transformData@ is a device or host address to memory containing an
-    -- optional reference to a 'TransformMatrixKHR' structure that describes a
+    -- optional reference to a 'TransformMatrixKHR' structure describing a
     -- transformation from the space in which the vertices in this geometry are
     -- described to the space in which the acceleration structure is defined.
     transformData :: DeviceOrHostAddressConstKHR
@@ -6478,7 +6478,7 @@
     src :: AccelerationStructureKHR
   , -- | @dst@ is the target acceleration structure for the copy.
     dst :: AccelerationStructureKHR
-  , -- | @mode@ is a 'CopyAccelerationStructureModeKHR' value that specifies
+  , -- | @mode@ is a 'CopyAccelerationStructureModeKHR' value specifying
     -- additional operations to perform during the copy.
     mode :: CopyAccelerationStructureModeKHR
   }
@@ -6577,7 +6577,7 @@
   , -- | @dst@ is the device or host address to memory which is the target for
     -- the copy
     dst :: DeviceOrHostAddressKHR
-  , -- | @mode@ is a 'CopyAccelerationStructureModeKHR' value that specifies
+  , -- | @mode@ is a 'CopyAccelerationStructureModeKHR' value specifying
     -- additional operations to perform during the copy.
     mode :: CopyAccelerationStructureModeKHR
   }
@@ -6666,7 +6666,7 @@
     src :: DeviceOrHostAddressConstKHR
   , -- | @dst@ is the target acceleration structure for the copy.
     dst :: AccelerationStructureKHR
-  , -- | @mode@ is a 'CopyAccelerationStructureModeKHR' value that specifies
+  , -- | @mode@ is a 'CopyAccelerationStructureModeKHR' value specifying
     -- additional operations to perform during the copy.
     mode :: CopyAccelerationStructureModeKHR
   }
diff --git a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
--- a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
@@ -58,7 +58,7 @@
 -- 'cmdCopyBufferToImage2KHR', 'cmdCopyImageToBuffer2KHR',
 -- 'cmdBlitImage2KHR', and 'cmdResolveImage2KHR'. Each command contains an
 -- @*Info2KHR@ structure parameter that includes @sType@\/@pNext@ members.
--- Lower level structures that describe each region to be copied are also
+-- Lower level structures describing each region to be copied are also
 -- extended with @sType@\/@pNext@ members.
 --
 -- == New Commands
diff --git a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot
@@ -58,7 +58,7 @@
 -- 'cmdCopyBufferToImage2KHR', 'cmdCopyImageToBuffer2KHR',
 -- 'cmdBlitImage2KHR', and 'cmdResolveImage2KHR'. Each command contains an
 -- @*Info2KHR@ structure parameter that includes @sType@\/@pNext@ members.
--- Lower level structures that describe each region to be copied are also
+-- Lower level structures describing each region to be copied are also
 -- extended with @sType@\/@pNext@ members.
 --
 -- == New Commands
diff --git a/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs b/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs
--- a/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs
+++ b/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs
@@ -61,7 +61,7 @@
 --
 -- This extension is based off the @VK_AMD_draw_indirect_count@ extension.
 -- This extension allows an application to source the number of draws for
--- indirect draw calls from a buffer.
+-- indirect drawing calls from a buffer.
 --
 -- Applications might want to do culling on the GPU via a compute shader
 -- prior to drawing. This enables the application to generate an arbitrary
diff --git a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs
--- a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs
+++ b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs
@@ -196,8 +196,10 @@
 -- -   Extending
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits':
 --
---     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
+--     -   'PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT'
@@ -209,8 +211,10 @@
 -- -   Extending
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits':
 --
---     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
+--     -   'PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR'
@@ -255,6 +259,8 @@
 module Vulkan.Extensions.VK_KHR_dynamic_rendering  ( cmdBeginRenderingKHR
                                                    , cmdUseRenderingKHR
                                                    , cmdEndRenderingKHR
+                                                   , pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
+                                                   , pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
                                                    , pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV
                                                    , PipelineRenderingCreateInfoKHR(..)
                                                    , RenderingInfoKHR(..)
@@ -355,6 +361,10 @@
 import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits)
 import Vulkan.CStruct.Extends (SomeStruct)
 import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlags)
+import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlagBits(PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT))
+import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlags)
+import Vulkan.Core10.Enums.PipelineCreateFlagBits (PipelineCreateFlagBits(PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDERING_INFO_KHR))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX))
@@ -540,6 +550,14 @@
   pure $ ()
 
 
+-- No documentation found for TopLevel "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR"
+pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR = PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
+
+
+-- No documentation found for TopLevel "VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT"
+pattern PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT = PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
+
+
 -- No documentation found for TopLevel "VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV"
 pattern STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_NV = STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
 
@@ -636,7 +654,7 @@
 data PipelineRenderingCreateInfoKHR = PipelineRenderingCreateInfoKHR
   { -- | @viewMask@ is the viewMask used for rendering.
     viewMask :: Word32
-  , -- | @pColorAttachmentFormats@ is an array of
+  , -- | @pColorAttachmentFormats@ is a pointer to an array of
     -- 'Vulkan.Core10.Enums.Format.Format' values defining the format of color
     -- attachments used in this pipeline.
     colorAttachmentFormats :: Vector Format
@@ -1475,7 +1493,7 @@
     -- of the render pass instance.
     storeOp :: AttachmentStoreOp
   , -- | @clearValue@ is a 'Vulkan.Core10.CommandBufferBuilding.ClearValue'
-    -- structure that defines values used to clear @imageView@ when @loadOp@ is
+    -- structure defining values used to clear @imageView@ when @loadOp@ is
     -- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_CLEAR'.
     clearValue :: ClearValue
   }
@@ -1935,9 +1953,9 @@
 --     values
 --
 -- -   #VUID-VkCommandBufferInheritanceRenderingInfoKHR-pColorAttachmentFormats-parameter#
---     @pColorAttachmentFormats@ /must/ be a valid pointer to an array of
---     @colorAttachmentCount@ valid 'Vulkan.Core10.Enums.Format.Format'
---     values
+--     If @colorAttachmentCount@ is not @0@, @pColorAttachmentFormats@
+--     /must/ be a valid pointer to an array of @colorAttachmentCount@
+--     valid 'Vulkan.Core10.Enums.Format.Format' values
 --
 -- -   #VUID-VkCommandBufferInheritanceRenderingInfoKHR-depthAttachmentFormat-parameter#
 --     @depthAttachmentFormat@ /must/ be a valid
@@ -1952,9 +1970,6 @@
 --     be a valid
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value
 --
--- -   #VUID-VkCommandBufferInheritanceRenderingInfoKHR-colorAttachmentCount-arraylength#
---     @colorAttachmentCount@ /must/ be greater than @0@
---
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering VK_KHR_dynamic_rendering>,
@@ -1967,7 +1982,7 @@
     flags :: RenderingFlagsKHR
   , -- | @viewMask@ is the view mask used for rendering.
     viewMask :: Word32
-  , -- | @pColorAttachmentFormats@ is an array of
+  , -- | @pColorAttachmentFormats@ is a pointer to an array of
     -- 'Vulkan.Core10.Enums.Format.Format' values defining the format of color
     -- attachments.
     colorAttachmentFormats :: Vector Format
@@ -2101,7 +2116,7 @@
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data AttachmentSampleCountInfoAMD = AttachmentSampleCountInfoAMD
-  { -- | @pColorAttachmentSamples@ is an array of
+  { -- | @pColorAttachmentSamples@ is a pointer to an array of
     -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' values
     -- defining the sample count of color attachments.
     colorAttachmentSamples :: Vector SampleCountFlagBits
diff --git a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs-boot b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs-boot
@@ -196,8 +196,10 @@
 -- -   Extending
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits':
 --
---     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
+--     -   'PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_INFO_EXT'
@@ -209,7 +211,9 @@
 -- -   Extending
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits':
 --
---     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--
+--     -   'PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
--- a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
+++ b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
@@ -801,7 +801,7 @@
 -- If the @pNext@ chain of
 -- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' includes a
 -- 'PipelineFragmentShadingRateStateCreateInfoKHR' structure, then that
--- structure includes parameters that control the pipeline fragment shading
+-- structure includes parameters controlling the pipeline fragment shading
 -- rate.
 --
 -- If this structure is not present, @fragmentSize@ is considered to be
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
--- a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
@@ -15,7 +15,7 @@
 --     414
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -29,7 +29,7 @@
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2021-08-18
+--     2021-10-25
 --
 -- [__Interactions and External Dependencies__]
 --
@@ -53,6 +53,8 @@
 --
 --     -   Stu Smith, AMD
 --
+--     -   Yiwei Zhang, Google
+--
 -- == Description
 --
 -- @VK_KHR_maintenance4@ adds a collection of minor features, none of which
@@ -90,6 +92,10 @@
 --     to match with a smaller input vector, with additional values being
 --     discarded.
 --
+-- -   Add a guarantee for buffer memory requirement that the size memory
+--     requirement is never greater than the result of aligning create size
+--     with the alignment memory requirement.
+--
 -- == New Commands
 --
 -- -   'getDeviceBufferMemoryRequirementsKHR'
@@ -141,6 +147,10 @@
 --
 --     -   Internal revisions
 --
+-- -   Revision 2, 2021-10-25 (Yiwei Zhang)
+--
+--     -   More guarantees on buffer memory requirements
+--
 -- == See Also
 --
 -- 'DeviceBufferMemoryRequirementsKHR', 'DeviceImageMemoryRequirementsKHR',
@@ -715,11 +725,11 @@
            zero
 
 
-type KHR_MAINTENANCE_4_SPEC_VERSION = 1
+type KHR_MAINTENANCE_4_SPEC_VERSION = 2
 
 -- No documentation found for TopLevel "VK_KHR_MAINTENANCE_4_SPEC_VERSION"
 pattern KHR_MAINTENANCE_4_SPEC_VERSION :: forall a . Integral a => a
-pattern KHR_MAINTENANCE_4_SPEC_VERSION = 1
+pattern KHR_MAINTENANCE_4_SPEC_VERSION = 2
 
 
 type KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4"
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
@@ -15,7 +15,7 @@
 --     414
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -29,7 +29,7 @@
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2021-08-18
+--     2021-10-25
 --
 -- [__Interactions and External Dependencies__]
 --
@@ -53,6 +53,8 @@
 --
 --     -   Stu Smith, AMD
 --
+--     -   Yiwei Zhang, Google
+--
 -- == Description
 --
 -- @VK_KHR_maintenance4@ adds a collection of minor features, none of which
@@ -90,6 +92,10 @@
 --     to match with a smaller input vector, with additional values being
 --     discarded.
 --
+-- -   Add a guarantee for buffer memory requirement that the size memory
+--     requirement is never greater than the result of aligning create size
+--     with the alignment memory requirement.
+--
 -- == New Commands
 --
 -- -   'getDeviceBufferMemoryRequirementsKHR'
@@ -140,6 +146,10 @@
 -- -   Revision 1, 2021-08-18 (Piers Daniell)
 --
 --     -   Internal revisions
+--
+-- -   Revision 2, 2021-10-25 (Yiwei Zhang)
+--
+--     -   More guarantees on buffer memory requirements
 --
 -- == See Also
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_performance_query.hs b/src/Vulkan/Extensions/VK_KHR_performance_query.hs
--- a/src/Vulkan/Extensions/VK_KHR_performance_query.hs
+++ b/src/Vulkan/Extensions/VK_KHR_performance_query.hs
@@ -821,8 +821,8 @@
                            -- #VUID-vkAcquireProfilingLockKHR-device-parameter# @device@ /must/ be a
                            -- valid 'Vulkan.Core10.Handles.Device' handle
                            Device
-                        -> -- | @pInfo@ is a pointer to a 'AcquireProfilingLockInfoKHR' structure which
-                           -- contains information about how the profiling is to be acquired.
+                        -> -- | @pInfo@ is a pointer to a 'AcquireProfilingLockInfoKHR' structure
+                           -- containing information about how the profiling is to be acquired.
                            --
                            -- #VUID-vkAcquireProfilingLockKHR-pInfo-parameter# @pInfo@ /must/ be a
                            -- valid pointer to a valid 'AcquireProfilingLockInfoKHR' structure
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs b/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs
@@ -73,14 +73,14 @@
 -- The extension provides access to three additional built-in shader
 -- variables in Vulkan:
 --
--- -   @BaseInstance@, which contains the @firstInstance@ parameter passed
---     to drawing commands,
+-- -   @BaseInstance@, containing the @firstInstance@ parameter passed to
+--     drawing commands,
 --
--- -   @BaseVertex@, which contains the @firstVertex@ or @vertexOffset@
+-- -   @BaseVertex@, containing the @firstVertex@ or @vertexOffset@
 --     parameter passed to drawing commands, and
 --
--- -   @DrawIndex@, which contains the index of the draw call currently
---     being processed from an indirect draw call.
+-- -   @DrawIndex@, containing the index of the draw call currently being
+--     processed from an indirect drawing call.
 --
 -- When using GLSL source-based shader languages, the following variables
 -- from @GL_ARB_shader_draw_parameters@ can map to these SPIR-V built-in
diff --git a/src/Vulkan/Extensions/VK_KHR_synchronization2.hs b/src/Vulkan/Extensions/VK_KHR_synchronization2.hs
--- a/src/Vulkan/Extensions/VK_KHR_synchronization2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_synchronization2.hs
@@ -1260,16 +1260,16 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-scopes synchronization scope>
 -- and
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-access-scopes access scope>
--- of each memory dependency defined by any element i of @pDependencyInfos@
--- are applied to operations that occurred earlier in
+-- of each memory dependency defined by @pDependencyInfo@ are applied to
+-- operations that occurred earlier in
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-submission-order submission order>.
 --
 -- The second
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-scopes synchronization scope>
 -- and
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies-access-scopes access scope>
--- of each memory dependency defined by any element i of @pDependencyInfos@
--- are applied to operations that occurred later in
+-- of each memory dependency defined by @pDependencyInfo@ are applied to
+-- operations that occurred later in
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-submission-order submission order>.
 --
 -- If 'cmdPipelineBarrier2KHR' is recorded within a render pass instance,
@@ -4689,15 +4689,15 @@
     -- how execution and memory dependencies are formed.
     dependencyFlags :: DependencyFlags
   , -- | @pMemoryBarriers@ is a pointer to an array of 'MemoryBarrier2KHR'
-    -- structures that define memory dependencies between any memory accesses.
+    -- structures defining memory dependencies between any memory accesses.
     memoryBarriers :: Vector MemoryBarrier2KHR
   , -- | @pBufferMemoryBarriers@ is a pointer to an array of
-    -- 'BufferMemoryBarrier2KHR' structures that define memory dependencies
+    -- 'BufferMemoryBarrier2KHR' structures defining memory dependencies
     -- between buffer ranges.
     bufferMemoryBarriers :: Vector BufferMemoryBarrier2KHR
   , -- | @pImageMemoryBarriers@ is a pointer to an array of
-    -- 'ImageMemoryBarrier2KHR' structures that define memory dependencies
-    -- between image subresources.
+    -- 'ImageMemoryBarrier2KHR' structures defining memory dependencies between
+    -- image subresources.
     imageMemoryBarriers :: Vector (SomeStruct ImageMemoryBarrier2KHR)
   }
   deriving (Typeable)
diff --git a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs
--- a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs
+++ b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs
@@ -1346,7 +1346,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06184# If the
 --     current render pass instance was begun with
@@ -1355,7 +1355,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-colorAttachmentCount-06185# If
 --     the currently bound pipeline was created with a
@@ -2878,8 +2878,8 @@
 data IndirectCommandsLayoutTokenNV = IndirectCommandsLayoutTokenNV
   { -- | @tokenType@ specifies the token command type.
     tokenType :: IndirectCommandsTokenTypeNV
-  , -- | @stream@ is the index of the input stream that contains the token
-    -- argument data.
+  , -- | @stream@ is the index of the input stream containing the token argument
+    -- data.
     stream :: Word32
   , -- | @offset@ is a relative starting offset within the input stream memory
     -- for the token argument data.
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs b/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs
--- a/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs
+++ b/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs
@@ -596,7 +596,7 @@
 -- If the @pNext@ chain of
 -- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' includes a
 -- 'PipelineFragmentShadingRateEnumStateCreateInfoNV' structure, then that
--- structure includes parameters that control the pipeline fragment shading
+-- structure includes parameters controlling the pipeline fragment shading
 -- rate.
 --
 -- If this structure is not present, @shadingRateType@ is considered to be
diff --git a/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs b/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs
--- a/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs
+++ b/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs
@@ -317,8 +317,8 @@
 --     and any secondary command buffer from index 0 to i-1 modifies the
 --     state, the inherited state is provisionally set to the final value
 --     set by the last such secondary command buffer. Binding a graphics
---     pipeline that defines the state statically is equivalent to setting
---     the state to an undefined value.
+--     pipeline defining the state statically is equivalent to setting the
+--     state to an undefined value.
 --
 -- -   Otherwise, the tentatative inherited state is that of the primary
 --     command buffer at the point the
diff --git a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs
--- a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs
+++ b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs
@@ -960,7 +960,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-imageView-06184# If the current render
 --     pass instance was begun with
@@ -969,7 +969,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-colorAttachmentCount-06185# If the
 --     currently bound pipeline was created with a
@@ -1797,7 +1797,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06184# If the current
 --     render pass instance was begun with
@@ -1806,7 +1806,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-colorAttachmentCount-06185# If
 --     the currently bound pipeline was created with a
@@ -2678,7 +2678,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06184# If the
 --     current render pass instance was begun with
@@ -2687,7 +2687,7 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'::@imageView@
 --     was not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the currently
 --     bound graphics pipeline /must/ have been created with
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-colorAttachmentCount-06185#
 --     If the currently bound pipeline was created with a
diff --git a/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs b/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs
--- a/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs
+++ b/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs
@@ -700,7 +700,7 @@
                              -- in fragments larger than one pixel.
                              CoarseSampleOrderTypeNV
                           -> -- | @pCustomSampleOrders@ is a pointer to an array of
-                             -- 'CoarseSampleOrderCustomNV' structures, each of which specifies the
+                             -- 'CoarseSampleOrderCustomNV' structures, each structure specifying the
                              -- coverage sample order for a single combination of fragment area and
                              -- coverage sample count.
                              ("customSampleOrders" ::: Vector CoarseSampleOrderCustomNV)
@@ -1274,9 +1274,9 @@
     -- in fragments larger than one pixel.
     sampleOrderType :: CoarseSampleOrderTypeNV
   , -- | @pCustomSampleOrders@ is a pointer to an array of
-    -- @customSampleOrderCount@ 'CoarseSampleOrderCustomNV' structures, each of
-    -- which specifies the coverage sample order for a single combination of
-    -- fragment area and coverage sample count.
+    -- @customSampleOrderCount@ 'CoarseSampleOrderCustomNV' structures, each
+    -- structure specifying the coverage sample order for a single combination
+    -- of fragment area and coverage sample count.
     customSampleOrders :: Vector CoarseSampleOrderCustomNV
   }
   deriving (Typeable)
diff --git a/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs b/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs
--- a/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs
@@ -48,11 +48,11 @@
 --
 -- This extension adds a new
 -- 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp'
--- 'ATTACHMENT_STORE_OP_NONE_QCOM' which specifies that the contents within
--- the render area /may/ not be written to memory, but that the prior
--- contents of the attachment in memory are preserved. However, if any
--- contents were generated within the render area during rendering, the
--- contents of the attachment will be undefined inside the render area.
+-- 'ATTACHMENT_STORE_OP_NONE_QCOM' specifying that the contents within the
+-- render area /may/ not be written to memory, but that the prior contents
+-- of the attachment in memory are preserved. However, if any contents were
+-- generated within the render area during rendering, the contents of the
+-- attachment will be undefined inside the render area.
 --
 -- Note
 --
diff --git a/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs b/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs
--- a/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs
+++ b/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs
@@ -352,7 +352,7 @@
 data MutableDescriptorTypeListVALVE = MutableDescriptorTypeListVALVE
   { -- | @pDescriptorTypes@ is @NULL@ or a pointer to an array of
     -- @descriptorTypeCount@
-    -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType' values which define
+    -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType' values defining
     -- which descriptor types a given binding may mutate to.
     descriptorTypes :: Vector DescriptorType }
   deriving (Typeable)
diff --git a/src/Vulkan/Version.hs b/src/Vulkan/Version.hs
--- a/src/Vulkan/Version.hs
+++ b/src/Vulkan/Version.hs
@@ -19,11 +19,11 @@
 import Data.Word (Word32)
 
 pattern HEADER_VERSION :: Word32
-pattern HEADER_VERSION = 199
+pattern HEADER_VERSION = 200
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 199
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 200
 
 
 pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
diff --git a/vulkan.cabal b/vulkan.cabal
--- a/vulkan.cabal
+++ b/vulkan.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           vulkan
-version:        3.13.4
+version:        3.14
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
@@ -107,9 +107,9 @@
       Vulkan.Core10.Enums.PipelineBindPoint
       Vulkan.Core10.Enums.PipelineCacheCreateFlagBits
       Vulkan.Core10.Enums.PipelineCacheHeaderVersion
-      Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlags
+      Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits
       Vulkan.Core10.Enums.PipelineCreateFlagBits
-      Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags
+      Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits
       Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags
       Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags
       Vulkan.Core10.Enums.PipelineLayoutCreateFlags
@@ -276,6 +276,7 @@
       Vulkan.Extensions.VK_AMD_shader_trinary_minmax
       Vulkan.Extensions.VK_AMD_texture_gather_bias_lod
       Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer
+      Vulkan.Extensions.VK_ARM_rasterization_order_attachment_access
       Vulkan.Extensions.VK_EXT_4444_formats
       Vulkan.Extensions.VK_EXT_acquire_drm_display
       Vulkan.Extensions.VK_EXT_acquire_xlib_display
@@ -291,6 +292,7 @@
       Vulkan.Extensions.VK_EXT_debug_marker
       Vulkan.Extensions.VK_EXT_debug_report
       Vulkan.Extensions.VK_EXT_debug_utils
+      Vulkan.Extensions.VK_EXT_depth_clip_control
       Vulkan.Extensions.VK_EXT_depth_clip_enable
       Vulkan.Extensions.VK_EXT_depth_range_unrestricted
       Vulkan.Extensions.VK_EXT_descriptor_indexing
