diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.16.1] - 2022-02-05
+- Bump API version to v1.3.205
+
 ## [3.16] - 2022-02-05
 - Bump API version to v1.3.204
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.16"
+version: "3.16.1"
 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/Core10/CommandBufferBuilding.hs b/src/Vulkan/Core10/CommandBufferBuilding.hs
--- a/src/Vulkan/Core10/CommandBufferBuilding.hs
+++ b/src/Vulkan/Core10/CommandBufferBuilding.hs
@@ -819,7 +819,7 @@
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BIAS' set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
 -- Otherwise, this state is specified by the corresponding
--- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@depthBiasConstantFactor@,
+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@depthBiasConstantFactor@,
 -- @depthBiasClamp@, and @depthBiasSlopeFactor@ values used to create the
 -- currently active pipeline.
 --
@@ -1330,9 +1330,9 @@
 --
 -- = Description
 --
--- 'cmdBindDescriptorSets' causes the sets numbered [@firstSet@..
--- @firstSet@+@descriptorSetCount@-1] to use the bindings stored in
--- @pDescriptorSets@[0..descriptorSetCount-1] for subsequent
+-- 'cmdBindDescriptorSets' binds descriptor sets
+-- @pDescriptorSets@[0..@descriptorSetCount@-1] to set numbers
+-- [@firstSet@..@firstSet@+@descriptorSetCount@-1] for subsequent
 -- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#pipeline-bindpoint-commands bound pipeline commands>
 -- set by @pipelineBindPoint@. Any bindings that were previously applied
 -- via these sets are no longer valid.
@@ -2072,13 +2072,20 @@
 -- -   #VUID-vkCmdDraw-None-02686# Every input attachment used by the
 --     current subpass /must/ be bound to the pipeline via a descriptor set
 --
--- -   #VUID-vkCmdDraw-None-04584# Image subresources used as attachments
---     in the current render pass /must/ not be accessed in any way other
---     than as an attachment by this command, except for cases involving
---     read-only access to depth\/stencil attachments as described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDraw-None-06537# Memory backing image subresources used
+--     as attachments in the current render pass /must/ not be written in
+--     any way other than as an attachment by this command
 --
+-- -   #VUID-vkCmdDraw-None-06538# If any recorded command in the current
+--     subpass will write to an image subresource as an attachment, this
+--     command /must/ not read from the memory backing that image
+--     subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDraw-None-06539# If any recorded command in the current
+--     subpass will read from an image subresource used as an attachment in
+--     any way other than as an attachment, this command /must/ not write
+--     to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDraw-maxMultiviewInstanceIndex-02688# If the draw is
 --     recorded in a render pass instance with multiview enabled, the
 --     maximum instance index /must/ be less than or equal to
@@ -2973,14 +2980,20 @@
 --     the current subpass /must/ be bound to the pipeline via a descriptor
 --     set
 --
--- -   #VUID-vkCmdDrawIndexed-None-04584# Image subresources used as
---     attachments in the current render pass /must/ not be accessed in any
---     way other than as an attachment by this command, except for cases
---     involving read-only access to depth\/stencil attachments as
---     described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawIndexed-None-06537# Memory backing image subresources
+--     used as attachments in the current render pass /must/ not be written
+--     in any way other than as an attachment by this command
 --
+-- -   #VUID-vkCmdDrawIndexed-None-06538# If any recorded command in the
+--     current subpass will write to an image subresource as an attachment,
+--     this command /must/ not read from the memory backing that image
+--     subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawIndexed-None-06539# If any recorded command in the
+--     current subpass will read from an image subresource used as an
+--     attachment in any way other than as an attachment, this command
+--     /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDrawIndexed-maxMultiviewInstanceIndex-02688# If the draw
 --     is recorded in a render pass instance with multiview enabled, the
 --     maximum instance index /must/ be less than or equal to
@@ -3869,14 +3882,21 @@
 --     the current subpass /must/ be bound to the pipeline via a descriptor
 --     set
 --
--- -   #VUID-vkCmdDrawIndirect-None-04584# Image subresources used as
---     attachments in the current render pass /must/ not be accessed in any
---     way other than as an attachment by this command, except for cases
---     involving read-only access to depth\/stencil attachments as
---     described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawIndirect-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
 --
+-- -   #VUID-vkCmdDrawIndirect-None-06538# If any recorded command in the
+--     current subpass will write to an image subresource as an attachment,
+--     this command /must/ not read from the memory backing that image
+--     subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawIndirect-None-06539# If any recorded command in the
+--     current subpass will read from an image subresource used as an
+--     attachment in any way other than as an attachment, this command
+--     /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDrawIndirect-maxMultiviewInstanceIndex-02688# If the draw
 --     is recorded in a render pass instance with multiview enabled, the
 --     maximum instance index /must/ be less than or equal to
@@ -4788,14 +4808,21 @@
 --     used by the current subpass /must/ be bound to the pipeline via a
 --     descriptor set
 --
--- -   #VUID-vkCmdDrawIndexedIndirect-None-04584# Image subresources used
---     as attachments in the current render pass /must/ not be accessed in
---     any way other than as an attachment by this command, except for
---     cases involving read-only access to depth\/stencil attachments as
---     described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
 --
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-06538# If any recorded command
+--     in the current subpass will write to an image subresource as an
+--     attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-06539# If any recorded command
+--     in the current subpass will read from an image subresource used as
+--     an attachment in any way other than as an attachment, this command
+--     /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDrawIndexedIndirect-maxMultiviewInstanceIndex-02688# If
 --     the draw is recorded in a render pass instance with multiview
 --     enabled, the maximum instance index /must/ be less than or equal to
@@ -8006,7 +8033,7 @@
 -- when the command is called.
 --
 -- 'cmdUpdateBuffer' is only allowed outside of a render pass. This command
--- is treated as “transfer” operation, for the purposes of synchronization
+-- is treated as a “transfer” operation for the purposes of synchronization
 -- barriers. The
 -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_DST_BIT'
 -- /must/ be specified in @usage@ of
@@ -8140,7 +8167,7 @@
 --
 -- = Description
 --
--- 'cmdFillBuffer' is treated as “transfer” operation for the purposes of
+-- 'cmdFillBuffer' is treated as a “transfer” operation for the purposes of
 -- synchronization barriers. The
 -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_DST_BIT'
 -- /must/ be specified in @usage@ of
@@ -10893,7 +10920,7 @@
 -- -   #VUID-vkCmdWriteTimestamp-synchronization2-06489# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
 --     feature is not enabled, @pipelineStage@ /must/ not be
---     'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_NONE_KHR'
+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_NONE'
 --
 -- -   #VUID-vkCmdWriteTimestamp-queryPool-01416# @queryPool@ /must/ have
 --     been created with a @queryType@ of
@@ -11959,6 +11986,37 @@
 --
 -- -   #VUID-vkCmdExecuteCommands-None-02286# This command /must/ not be
 --     recorded when transform feedback is active
+--
+-- -   #VUID-vkCmdExecuteCommands-commandBuffer-06533# If
+--     'cmdExecuteCommands' is being called within a render pass instance
+--     and any recorded command in @commandBuffer@ in the current subpass
+--     will write to an image subresource as an attachment, commands
+--     recorded in elements of @pCommandBuffers@ /must/ not read from the
+--     memory backing that image subresource in any other way
+--
+-- -   #VUID-vkCmdExecuteCommands-commandBuffer-06534# If
+--     'cmdExecuteCommands' is being called within a render pass instance
+--     and any recorded command in @commandBuffer@ in the current subpass
+--     will read from an image subresource used as an attachment in any way
+--     other than as an attachment, commands recorded in elements of
+--     @pCommandBuffers@ /must/ not write to that image subresource as an
+--     attachment
+--
+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-06535# If
+--     'cmdExecuteCommands' is being called within a render pass instance
+--     and any recorded command in a given element of @pCommandBuffers@
+--     will write to an image subresource as an attachment, commands
+--     recorded in elements of @pCommandBuffers@ at a higher index /must/
+--     not read from the memory backing that image subresource in any other
+--     way
+--
+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-06536# If
+--     'cmdExecuteCommands' is being called within a render pass instance
+--     and any recorded command in a given element of @pCommandBuffers@
+--     will read from an image subresource used as an attachment in any way
+--     other than as an attachment, commands recorded in elements of
+--     @pCommandBuffers@ at a higher index /must/ not write to that image
+--     subresource as an attachment
 --
 -- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-06021# If
 --     @pCommandBuffers@ contains any
diff --git a/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs b/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
@@ -5,11 +5,11 @@
                                                                      , IMAGE_ASPECT_DEPTH_BIT
                                                                      , IMAGE_ASPECT_STENCIL_BIT
                                                                      , IMAGE_ASPECT_METADATA_BIT
-                                                                     , IMAGE_ASPECT_NONE_KHR
                                                                      , IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT
                                                                      , IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT
                                                                      , IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT
                                                                      , IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT
+                                                                     , IMAGE_ASPECT_NONE
                                                                      , IMAGE_ASPECT_PLANE_2_BIT
                                                                      , IMAGE_ASPECT_PLANE_1_BIT
                                                                      , IMAGE_ASPECT_PLANE_0_BIT
@@ -53,9 +53,6 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#sparsememory sparse resource>
 -- operations.
 pattern IMAGE_ASPECT_METADATA_BIT           = ImageAspectFlagBits 0x00000008
--- | 'IMAGE_ASPECT_NONE_KHR' specifies no image aspect, or the image aspect
--- is not applicable.
-pattern IMAGE_ASPECT_NONE_KHR               = ImageAspectFlagBits 0x00000000
 -- | 'IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT' specifies /memory plane/ 3.
 pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = ImageAspectFlagBits 0x00000400
 -- | 'IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT' specifies /memory plane/ 2.
@@ -64,6 +61,9 @@
 pattern IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = ImageAspectFlagBits 0x00000100
 -- | 'IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT' specifies /memory plane/ 0.
 pattern IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = ImageAspectFlagBits 0x00000080
+-- | 'IMAGE_ASPECT_NONE' specifies no image aspect, or the image aspect is
+-- not applicable.
+pattern IMAGE_ASPECT_NONE                   = ImageAspectFlagBits 0x00000000
 -- | 'IMAGE_ASPECT_PLANE_2_BIT' specifies plane 2 of a /multi-planar/ image
 -- format.
 pattern IMAGE_ASPECT_PLANE_2_BIT            = ImageAspectFlagBits 0x00000040
@@ -86,11 +86,11 @@
   , (IMAGE_ASPECT_DEPTH_BIT             , "DEPTH_BIT")
   , (IMAGE_ASPECT_STENCIL_BIT           , "STENCIL_BIT")
   , (IMAGE_ASPECT_METADATA_BIT          , "METADATA_BIT")
-  , (IMAGE_ASPECT_NONE_KHR              , "NONE_KHR")
   , (IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, "MEMORY_PLANE_3_BIT_EXT")
   , (IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, "MEMORY_PLANE_2_BIT_EXT")
   , (IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, "MEMORY_PLANE_1_BIT_EXT")
   , (IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT, "MEMORY_PLANE_0_BIT_EXT")
+  , (IMAGE_ASPECT_NONE                  , "NONE")
   , (IMAGE_ASPECT_PLANE_2_BIT           , "PLANE_2_BIT")
   , (IMAGE_ASPECT_PLANE_1_BIT           , "PLANE_1_BIT")
   , (IMAGE_ASPECT_PLANE_0_BIT           , "PLANE_0_BIT")
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
@@ -1181,7 +1181,7 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265DpbSlotInfoEXT VkVideoEncodeH265DpbSlotInfoEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265EmitPictureParametersEXT VkVideoEncodeH265EmitPictureParametersEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceEXT VkVideoEncodeH265NaluSliceEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceSegmentEXT VkVideoEncodeH265NaluSliceSegmentEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileEXT VkVideoEncodeH265ProfileEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlInfoEXT VkVideoEncodeH265RateControlInfoEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT>,
diff --git a/src/Vulkan/Core10/Image.hs b/src/Vulkan/Core10/Image.hs
--- a/src/Vulkan/Core10/Image.hs
+++ b/src/Vulkan/Core10/Image.hs
@@ -619,7 +619,7 @@
 --         equal to 'ImageCreateInfo'::@format@ and with
 --         'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT'
 --         chained into
---         'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2';
+--         'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2';
 --         by collecting all members of the returned array
 --         'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT'::@pDrmFormatModifierProperties@
 --         whose @drmFormatModifier@ belongs to
diff --git a/src/Vulkan/Core10/ImageView.hs b/src/Vulkan/Core10/ImageView.hs
--- a/src/Vulkan/Core10/ImageView.hs
+++ b/src/Vulkan/Core10/ImageView.hs
@@ -702,7 +702,8 @@
 --     'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D' and @viewType@ is
 --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D' or
 --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' then
---     @flags@ /must/ not contain any of
+--     'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ /must/ not contain
+--     any of
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_BINDING_BIT',
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT',
 --     and
diff --git a/src/Vulkan/Core10/Pass.hs b/src/Vulkan/Core10/Pass.hs
--- a/src/Vulkan/Core10/Pass.hs
+++ b/src/Vulkan/Core10/Pass.hs
@@ -2089,40 +2089,25 @@
 --
 -- = Description
 --
--- Other than the exceptions listed below, applications /must/ ensure that
--- all accesses to memory that backs image subresources used as attachments
--- in a given render pass instance either happen-before the
--- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-load-store-ops load operations>
--- for those attachments, or happen-after the
--- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-load-store-ops store operations>
--- for those attachments.
---
--- The exceptions to the general rule are:
---
--- -   For depth\/stencil attachments, an aspect /can/ be used separately
---     as attachment and non-attachment if both accesses are read-only.
---
--- -   For depth\/stencil attachments, each aspect /can/ be used separately
---     as attachment and non-attachment as long as the non-attachment
---     accesses are also via an image subresource in either the
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL'
---     layout or the
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL'
---     layout, and the attachment resource uses whichever of those two
---     layouts the image accesses do not.
---
--- Use of non-attachment aspects in these cases is only well defined if the
--- attachment is used in the subpass where the non-attachment access is
--- being made, or the layout of the image subresource is constant
--- throughout the entire render pass instance, including the
--- @initialLayout@ and @finalLayout@.
+-- Applications /must/ ensure that all non-attachment writes to memory
+-- backing image subresources that are used as attachments in a render pass
+-- instance happen-before or happen-after the render pass instance. If an
+-- image subresource is written during a render pass instance by anything
+-- other than load operations, store operations, and layout transitions,
+-- applications /must/ ensure that all non-attachment reads from memory
+-- backing that image subresource happen-before or happen-after the render
+-- pass instance. For depth\/stencil images, the aspects are not treated
+-- independently for the above guarantees - writes to either aspect /must/
+-- be synchronized with accesses to the other aspect.
 --
 -- Note
 --
--- These restrictions mean that the render pass has full knowledge of all
--- uses of all of the attachments, so that the implementation is able to
--- make correct decisions about when and how to perform layout transitions,
--- when to overlap execution of subpasses, etc.
+-- An image subresource can be used as read-only as both an attachment and
+-- a non-attachment during a render pass instance, but care must still be
+-- taken to avoid data races with load\/store operations and layout
+-- transitions. The simplest way to achieve this is to keep the
+-- non-attachment and attachment accesses within the same subpass, or to
+-- avoid layout transitions and load\/store operations that perform writes.
 --
 -- It is legal for a subpass to use no color or depth\/stencil attachments,
 -- either because it has no attachment references or because all of them
diff --git a/src/Vulkan/Core10/SparseResourceMemoryManagement.hs b/src/Vulkan/Core10/SparseResourceMemoryManagement.hs
--- a/src/Vulkan/Core10/SparseResourceMemoryManagement.hs
+++ b/src/Vulkan/Core10/SparseResourceMemoryManagement.hs
@@ -438,15 +438,6 @@
 --
 -- -   Host access to @queue@ /must/ be externally synchronized
 --
--- -   Host access to @pBindInfo@[].pBufferBinds[].buffer /must/ be
---     externally synchronized
---
--- -   Host access to @pBindInfo@[].pImageOpaqueBinds[].image /must/ be
---     externally synchronized
---
--- -   Host access to @pBindInfo@[].pImageBinds[].image /must/ be
---     externally synchronized
---
 -- -   Host access to @fence@ /must/ be externally synchronized
 --
 -- == Command Properties
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs
@@ -162,7 +162,7 @@
 --
 -- If the buffer was created with a non-zero value of
 -- 'BufferOpaqueCaptureAddressCreateInfo'::@opaqueCaptureAddress@ or
--- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT'::@deviceAddress@
+-- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT'::@deviceAddress@,
 -- the return value will be the same address that was returned at capture
 -- time.
 --
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
@@ -312,14 +312,21 @@
 --     by the current subpass /must/ be bound to the pipeline via a
 --     descriptor set
 --
--- -   #VUID-vkCmdDrawIndirectCount-None-04584# Image subresources used as
---     attachments in the current render pass /must/ not be accessed in any
---     way other than as an attachment by this command, except for cases
---     involving read-only access to depth\/stencil attachments as
---     described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawIndirectCount-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
 --
+-- -   #VUID-vkCmdDrawIndirectCount-None-06538# If any recorded command in
+--     the current subpass will write to an image subresource as an
+--     attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawIndirectCount-None-06539# If any recorded command in
+--     the current subpass will read from an image subresource used as an
+--     attachment in any way other than as an attachment, this command
+--     /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDrawIndirectCount-maxMultiviewInstanceIndex-02688# If the
 --     draw is recorded in a render pass instance with multiview enabled,
 --     the maximum instance index /must/ be less than or equal to
@@ -1258,13 +1265,20 @@
 --     attachment used by the current subpass /must/ be bound to the
 --     pipeline via a descriptor set
 --
--- -   #VUID-vkCmdDrawIndexedIndirectCount-None-04584# Image subresources
---     used as attachments in the current render pass /must/ not be
---     accessed in any way other than as an attachment by this command,
---     except for cases involving read-only access to depth\/stencil
---     attachments as described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
+--
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-06538# If any recorded
+--     command in the current subpass will write to an image subresource as
+--     an attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-06539# If any recorded
+--     command in the current subpass will read from an image subresource
+--     used as an attachment in any way other than as an attachment, this
+--     command /must/ not write to that image subresource as an attachment
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-maxMultiviewInstanceIndex-02688#
 --     If the draw is recorded in a render pass instance with multiview
diff --git a/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs b/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs
--- a/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs
+++ b/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs
@@ -220,14 +220,14 @@
 --     and as an input attachment.
 --
 -- -   'FORMAT_FEATURE_2_BLIT_SRC_BIT' specifies that an image /can/ be
---     used as @srcImage@ for the
---     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
---     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+--     used as the @srcImage@ for
+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2'
+--     and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'.
 --
 -- -   'FORMAT_FEATURE_2_BLIT_DST_BIT' specifies that an image /can/ be
---     used as @dstImage@ for the
---     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
---     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+--     used as the @dstImage@ for
+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2'
+--     and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'.
 --
 -- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT' specifies that if
 --     'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' is also set, an image view
@@ -236,11 +236,11 @@
 --     @mipmapMode@ set to
 --     'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_LINEAR'.
 --     If 'FORMAT_FEATURE_2_BLIT_SRC_BIT' is also set, an image can be used
---     as the @srcImage@ to
---     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
---     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@
---     of 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only
---     be exposed for formats that also support the
+--     as the @srcImage@ for
+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2'
+--     and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a
+--     @filter@ of 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit
+--     /must/ only be exposed for formats that also support the
 --     'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' or
 --     'FORMAT_FEATURE_2_BLIT_SRC_BIT'.
 --
@@ -462,14 +462,14 @@
 -- input attachment.
 pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT    = FormatFeatureFlagBits2 0x0000000000000200
 -- | 'FORMAT_FEATURE_2_BLIT_SRC_BIT' specifies that an image /can/ be used as
--- @srcImage@ for the
--- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
--- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+-- the @srcImage@ for
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2' and
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'.
 pattern FORMAT_FEATURE_2_BLIT_SRC_BIT                    = FormatFeatureFlagBits2 0x0000000000000400
 -- | 'FORMAT_FEATURE_2_BLIT_DST_BIT' specifies that an image /can/ be used as
--- @dstImage@ for the
--- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
--- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+-- the @dstImage@ for
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2' and
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage'.
 pattern FORMAT_FEATURE_2_BLIT_DST_BIT                    = FormatFeatureFlagBits2 0x0000000000000800
 -- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT' specifies that if
 -- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' is also set, an image view /can/ be
@@ -477,9 +477,10 @@
 -- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR', or @mipmapMode@ set to
 -- 'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_LINEAR'. If
 -- 'FORMAT_FEATURE_2_BLIT_SRC_BIT' is also set, an image can be used as the
--- @srcImage@ to 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR'
--- and 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@
--- of 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only be
+-- @srcImage@ for
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.cmdBlitImage2' and
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@ of
+-- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only be
 -- exposed for formats that also support the
 -- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT' or 'FORMAT_FEATURE_2_BLIT_SRC_BIT'.
 --
diff --git a/src/Vulkan/Core13/Promoted_From_VK_EXT_extended_dynamic_state.hs b/src/Vulkan/Core13/Promoted_From_VK_EXT_extended_dynamic_state.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_EXT_extended_dynamic_state.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_EXT_extended_dynamic_state.hs
@@ -579,10 +579,11 @@
 -- components are
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input-extraction filled with (0,0,1)>.
 --
--- This command also \<pipelines-dynamic-state, dynamically sets>> the byte
--- strides between consecutive elements within buffer @pBuffers@[i] to the
--- corresponding @pStrides@[i] value when the graphics pipeline is created
--- with
+-- This command also
+-- <https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-dynamic-state dynamically sets>
+-- the byte strides between consecutive elements within buffer
+-- @pBuffers@[i] to the corresponding @pStrides@[i] value when the graphics
+-- pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs
@@ -882,8 +882,13 @@
 -- -   #VUID-VkImageBlit2-sType-sType# @sType@ /must/ be
 --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_BLIT_2'
 --
--- -   #VUID-VkImageBlit2-pNext-pNext# @pNext@ /must/ be @NULL@
+-- -   #VUID-VkImageBlit2-pNext-pNext# @pNext@ /must/ be @NULL@ or a
+--     pointer to a valid instance of
+--     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'
 --
+-- -   #VUID-VkImageBlit2-sType-unique# The @sType@ value of each struct in
+--     the @pNext@ chain /must/ be unique
+--
 -- -   #VUID-VkImageBlit2-srcSubresource-parameter# @srcSubresource@ /must/
 --     be a valid
 --     'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'
@@ -1022,7 +1027,12 @@
 -- -   #VUID-VkBufferImageCopy2-sType-sType# @sType@ /must/ be
 --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2'
 --
--- -   #VUID-VkBufferImageCopy2-pNext-pNext# @pNext@ /must/ be @NULL@
+-- -   #VUID-VkBufferImageCopy2-pNext-pNext# @pNext@ /must/ be @NULL@ or a
+--     pointer to a valid instance of
+--     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'
+--
+-- -   #VUID-VkBufferImageCopy2-sType-unique# The @sType@ value of each
+--     struct in the @pNext@ chain /must/ be unique
 --
 -- -   #VUID-VkBufferImageCopy2-imageSubresource-parameter#
 --     @imageSubresource@ /must/ be a valid
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
@@ -8,6 +8,8 @@
                                                         , PhysicalDeviceMaintenance4Features(..)
                                                         , PhysicalDeviceMaintenance4Properties(..)
                                                         , StructureType(..)
+                                                        , ImageAspectFlagBits(..)
+                                                        , ImageAspectFlags
                                                         ) where
 
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -76,6 +78,8 @@
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES))
+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlagBits(..))
+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags)
 import Vulkan.Core10.Enums.StructureType (StructureType(..))
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
@@ -294,16 +298,11 @@
 --     structure
 --
 -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06417# If
+--     @pCreateInfo@::@format@ specifies a /multi-planar/ format and
 --     @pCreateInfo@::@flags@ has
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
 --     set then @planeAspect@ /must/ not be
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'
---
--- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06418# If
---     @pCreateInfo@::@flags@ has
---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
---     set then @planeAspect@ /must/ not be
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'
+--     'Vulkan.Extensions.VK_KHR_maintenance4.IMAGE_ASPECT_NONE_KHR'
 --
 -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06419# If
 --     @pCreateInfo@::@flags@ has
@@ -323,9 +322,7 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT')
 --
 -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06420# If
---     @pCreateInfo@::@flags@ has
---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
---     set and the @pCreateInfo@::@tiling@ is
+--     @pCreateInfo@::@tiling@ is
 --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',
 --     then @planeAspect@ /must/ be a single valid /memory plane/ for the
 --     image (that is, @aspectMask@ /must/ specify a plane index that is
@@ -369,10 +366,10 @@
   , -- | @planeAspect@ is a
     -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' value
     -- specifying the aspect corresponding to the image plane to query. This
-    -- parameter is ignored unless @pCreateInfo@::@flags@ has
-    -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' or
-    -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
-    -- set.
+    -- parameter is ignored unless @pCreateInfo@::@tiling@ is
+    -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',
+    -- or @pCreateInfo@::@flags@ has
+    -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' set.
     planeAspect :: ImageAspectFlagBits
   }
   deriving (Typeable)
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
@@ -3152,7 +3152,12 @@
 -- -   #VUID-VkImageMemoryBarrier2-sType-sType# @sType@ /must/ be
 --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER_2'
 --
--- -   #VUID-VkImageMemoryBarrier2-pNext-pNext# @pNext@ /must/ be @NULL@
+-- -   #VUID-VkImageMemoryBarrier2-pNext-pNext# @pNext@ /must/ be @NULL@ or
+--     a pointer to a valid instance of
+--     'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT'
+--
+-- -   #VUID-VkImageMemoryBarrier2-sType-unique# The @sType@ value of each
+--     struct in the @pNext@ chain /must/ be unique
 --
 -- -   #VUID-VkImageMemoryBarrier2-srcStageMask-parameter# @srcStageMask@
 --     /must/ be a valid combination of
diff --git a/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs b/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs
--- a/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs
+++ b/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs
@@ -207,7 +207,7 @@
 -- -   #VUID-vkCmdWriteBufferMarkerAMD-synchronization2-06489# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
 --     feature is not enabled, @pipelineStage@ /must/ not be
---     'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_NONE_KHR'
+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_NONE'
 --
 -- -   #VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01798# @dstOffset@ /must/
 --     be less than or equal to the size of @dstBuffer@ minus @4@
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
@@ -466,14 +466,21 @@
 --     the current subpass /must/ be bound to the pipeline via a descriptor
 --     set
 --
--- -   #VUID-vkCmdDrawMultiEXT-None-04584# Image subresources used as
---     attachments in the current render pass /must/ not be accessed in any
---     way other than as an attachment by this command, except for cases
---     involving read-only access to depth\/stencil attachments as
---     described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawMultiEXT-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
 --
+-- -   #VUID-vkCmdDrawMultiEXT-None-06538# If any recorded command in the
+--     current subpass will write to an image subresource as an attachment,
+--     this command /must/ not read from the memory backing that image
+--     subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawMultiEXT-None-06539# If any recorded command in the
+--     current subpass will read from an image subresource used as an
+--     attachment in any way other than as an attachment, this command
+--     /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDrawMultiEXT-maxMultiviewInstanceIndex-02688# If the draw
 --     is recorded in a render pass instance with multiview enabled, the
 --     maximum instance index /must/ be less than or equal to
@@ -1372,13 +1379,20 @@
 --     used by the current subpass /must/ be bound to the pipeline via a
 --     descriptor set
 --
--- -   #VUID-vkCmdDrawMultiIndexedEXT-None-04584# Image subresources used
---     as attachments in the current render pass /must/ not be accessed in
---     any way other than as an attachment by this command, except for
---     cases involving read-only access to depth\/stencil attachments as
---     described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
+--
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-06538# If any recorded command
+--     in the current subpass will write to an image subresource as an
+--     attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-06539# If any recorded command
+--     in the current subpass will read from an image subresource used as
+--     an attachment in any way other than as an attachment, this command
+--     /must/ not write to that image subresource as an attachment
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-maxMultiviewInstanceIndex-02688# If
 --     the draw is recorded in a render pass instance with multiview
diff --git a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs
--- a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs
+++ b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs
@@ -100,7 +100,7 @@
 -- -   'SubpassSampleLocationsEXT'
 --
 -- -   Extending 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',
---     'Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR':
+--     'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.ImageMemoryBarrier2':
 --
 --     -   'SampleLocationsInfoEXT'
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot
@@ -100,7 +100,7 @@
 -- -   'SubpassSampleLocationsEXT'
 --
 -- -   Extending 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',
---     'Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR':
+--     'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.ImageMemoryBarrier2':
 --
 --     -   'SampleLocationsInfoEXT'
 --
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
@@ -1468,13 +1468,20 @@
 --     attachment used by the current subpass /must/ be bound to the
 --     pipeline via a descriptor set
 --
--- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-04584# Image subresources
---     used as attachments in the current render pass /must/ not be
---     accessed in any way other than as an attachment by this command,
---     except for cases involving read-only access to depth\/stencil
---     attachments as described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-06538# If any recorded
+--     command in the current subpass will write to an image subresource as
+--     an attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-06539# If any recorded
+--     command in the current subpass will read from an image subresource
+--     used as an attachment in any way other than as an attachment, this
+--     command /must/ not write to that image subresource as an attachment
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-maxMultiviewInstanceIndex-02688#
 --     If the draw is recorded in a render pass instance with multiview
diff --git a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
--- a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
+++ b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
@@ -196,9 +196,9 @@
 -- values used to create the currently active pipeline.
 --
 -- If the bound pipeline state object was also created with the
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE'
 -- dynamic state enabled, then
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT'
+-- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2'
 -- can be used instead of 'cmdSetVertexInputEXT' to dynamically set the
 -- stride.
 --
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
@@ -1381,15 +1381,13 @@
   , -- | @sysmemPixelFormat@ is a @PixelFormatType@ value from the
     -- @fuchsia.sysmem\/image_formats.fidl@ FIDL interface
     sysmemPixelFormat :: Word64
-  , -- | @colorSpaceCount@ the element count of @pColorSpaces@
-    colorSpaceCount :: Word32
   , -- | @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
-    -- 'SysmemColorSpaceFUCHSIA' structure
-    colorSpaces :: SysmemColorSpaceFUCHSIA
+    -- @pColorSpaces@ /must/ be a valid pointer to an array of
+    -- @colorSpaceCount@ valid 'SysmemColorSpaceFUCHSIA' structures
+    colorSpaces :: Vector SysmemColorSpaceFUCHSIA
   }
   deriving (Typeable)
 #if defined(GENERIC_INSTANCES)
@@ -1406,9 +1404,10 @@
     lift $ poke ((p `plusPtr` 104 :: Ptr FormatFeatureFlags)) (requiredFormatFeatures)
     lift $ poke ((p `plusPtr` 108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA)) (flags)
     lift $ poke ((p `plusPtr` 112 :: Ptr Word64)) (sysmemPixelFormat)
-    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) (colorSpaceCount)
-    pColorSpaces'' <- ContT $ withCStruct (colorSpaces)
-    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) pColorSpaces''
+    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (colorSpaces)) :: Word32))
+    pPColorSpaces' <- ContT $ allocaBytes @SysmemColorSpaceFUCHSIA ((Data.Vector.length (colorSpaces)) * 24)
+    lift $ Data.Vector.imapM_ (\i e -> poke (pPColorSpaces' `plusPtr` (24 * (i)) :: Ptr SysmemColorSpaceFUCHSIA) (e)) (colorSpaces)
+    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) (pPColorSpaces')
     lift $ f
   cStructSize = 136
   cStructAlignment = 8
@@ -1417,9 +1416,6 @@
     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
     ContT $ pokeSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (ImageCreateInfo _)))) ((SomeStruct zero)) . ($ ())
     lift $ poke ((p `plusPtr` 104 :: Ptr FormatFeatureFlags)) (zero)
-    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) (zero)
-    pColorSpaces'' <- ContT $ withCStruct (zero)
-    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) pColorSpaces''
     lift $ f
 
 instance FromCStruct ImageFormatConstraintsInfoFUCHSIA where
@@ -1429,9 +1425,10 @@
     flags <- peek @ImageFormatConstraintsFlagsFUCHSIA ((p `plusPtr` 108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA))
     sysmemPixelFormat <- peek @Word64 ((p `plusPtr` 112 :: Ptr Word64))
     colorSpaceCount <- peek @Word32 ((p `plusPtr` 120 :: Ptr Word32))
-    pColorSpaces <- peekCStruct @SysmemColorSpaceFUCHSIA =<< peek ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA)))
+    pColorSpaces <- peek @(Ptr SysmemColorSpaceFUCHSIA) ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA)))
+    pColorSpaces' <- generateM (fromIntegral colorSpaceCount) (\i -> peekCStruct @SysmemColorSpaceFUCHSIA ((pColorSpaces `advancePtrBytes` (24 * (i)) :: Ptr SysmemColorSpaceFUCHSIA)))
     pure $ ImageFormatConstraintsInfoFUCHSIA
-             imageCreateInfo requiredFormatFeatures flags sysmemPixelFormat colorSpaceCount pColorSpaces
+             imageCreateInfo requiredFormatFeatures flags sysmemPixelFormat pColorSpaces'
 
 instance Zero ImageFormatConstraintsInfoFUCHSIA where
   zero = ImageFormatConstraintsInfoFUCHSIA
@@ -1439,8 +1436,7 @@
            zero
            zero
            zero
-           zero
-           zero
+           mempty
 
 
 -- | VkImageConstraintsInfoFUCHSIA - Structure of image-based buffer
diff --git a/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs b/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs
--- a/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs
+++ b/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs
@@ -122,9 +122,14 @@
 --
 -- All functionality in this extension is included in core Vulkan 1.2, with
 -- the KHR suffix omitted. However, if Vulkan 1.2 is supported and this
--- extension is not, the @bufferDeviceAddress@ capability is optional. The
+-- extension is not, the @bufferDeviceAddress@ feature is optional. The
 -- original type, enum and command names are still available as aliases of
 -- the core functionality.
+--
+-- == Promotion to Vulkan 1.3
+--
+-- Support for the @bufferDeviceAddress@ feature is mandatory in Vulkan
+-- 1.3, regardless of whether this extension is supported.
 --
 -- == New Commands
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_device_group.hs b/src/Vulkan/Extensions/VK_KHR_device_group.hs
--- a/src/Vulkan/Extensions/VK_KHR_device_group.hs
+++ b/src/Vulkan/Extensions/VK_KHR_device_group.hs
@@ -43,6 +43,9 @@
 --
 -- [__Interactions and External Dependencies__]
 --
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_device_group.html SPV_KHR_device_group>
+--
 --     -   Promoted to Vulkan 1.1 Core
 --
 -- [__Contributors__]
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
@@ -700,18 +700,15 @@
 --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD'
 --
 -- -   #VUID-VkAttachmentSampleCountInfoAMD-pColorAttachmentSamples-parameter#
---     @pColorAttachmentSamples@ /must/ be a valid pointer to an array of
---     @colorAttachmentCount@ valid or
---     'Vulkan.Core10.APIConstants.NULL_HANDLE'
---     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' values
+--     If @colorAttachmentCount@ is not @0@, @pColorAttachmentSamples@
+--     /must/ be a valid pointer to an array of @colorAttachmentCount@
+--     valid 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits'
+--     values
 --
 -- -   #VUID-VkAttachmentSampleCountInfoAMD-depthStencilAttachmentSamples-parameter#
 --     If @depthStencilAttachmentSamples@ is not @0@,
 --     @depthStencilAttachmentSamples@ /must/ be a valid
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value
---
--- -   #VUID-VkAttachmentSampleCountInfoAMD-colorAttachmentCount-arraylength#
---     @colorAttachmentCount@ /must/ be greater than @0@
 --
 -- = See Also
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_global_priority.hs b/src/Vulkan/Extensions/VK_KHR_global_priority.hs
--- a/src/Vulkan/Extensions/VK_KHR_global_priority.hs
+++ b/src/Vulkan/Extensions/VK_KHR_global_priority.hs
@@ -382,6 +382,14 @@
 --
 -- = Description
 --
+-- If the 'QueueFamilyGlobalPriorityPropertiesKHR' structure is included in
+-- the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceQueueFamilyProperties2',
+-- it is filled in with the list of supported global queue priorities for
+-- the indicated family.
+--
 -- The valid elements of @priorities@ /must/ not contain any duplicate
 -- values.
 --
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
@@ -137,7 +137,7 @@
 -- -   Extending
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits':
 --
---     -   'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'
+--     -   'IMAGE_ASPECT_NONE_KHR'
 --
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
@@ -189,6 +189,7 @@
                                               , pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR
                                               , pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR
                                               , pattern STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR
+                                              , pattern IMAGE_ASPECT_NONE_KHR
                                               , getDeviceBufferMemoryRequirementsKHR
                                               , getDeviceImageMemoryRequirementsKHR
                                               , getDeviceImageSparseMemoryRequirementsKHR
@@ -210,6 +211,8 @@
 import Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (DeviceImageMemoryRequirements)
 import Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features)
 import Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties)
+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlags)
+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlagBits(IMAGE_ASPECT_NONE))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES))
@@ -228,6 +231,10 @@
 
 -- No documentation found for TopLevel "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR"
 pattern STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR = STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS
+
+
+-- No documentation found for TopLevel "VK_IMAGE_ASPECT_NONE_KHR"
+pattern IMAGE_ASPECT_NONE_KHR = IMAGE_ASPECT_NONE
 
 
 -- No documentation found for TopLevel "vkGetDeviceBufferMemoryRequirementsKHR"
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
@@ -983,14 +983,21 @@
 --     attachment used by the current subpass /must/ be bound to the
 --     pipeline via a descriptor set
 --
--- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-04584# Image subresources
---     used as attachments in the current render pass /must/ not be
---     accessed in any way other than as an attachment by this command,
---     except for cases involving read-only access to depth\/stencil
---     attachments as described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-06537# Memory backing
+--     image subresources used as attachments in the current render pass
+--     /must/ not be written in any way other than as an attachment by this
+--     command
 --
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-06538# If any recorded
+--     command in the current subpass will write to an image subresource as
+--     an attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-06539# If any recorded
+--     command in the current subpass will read from an image subresource
+--     used as an attachment in any way other than as an attachment, this
+--     command /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-maxMultiviewInstanceIndex-02688#
 --     If the draw is recorded in a render pass instance with multiview
 --     enabled, the maximum instance index /must/ be less than or equal to
@@ -2119,7 +2126,8 @@
     -- 'GeneratedCommandsInfoNV' and in
     -- 'GeneratedCommandsMemoryRequirementsInfoNV'.
     maxIndirectSequenceCount :: Word32
-  , -- No documentation found for Nested "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" "maxIndirectCommandsTokenCount"
+  , -- | @maxIndirectCommandsTokenCount@ is the maximum number of tokens in
+    -- 'IndirectCommandsLayoutCreateInfoNV'.
     maxIndirectCommandsTokenCount :: Word32
   , -- | @maxIndirectCommandsStreamCount@ is the maximum number of streams in
     -- 'IndirectCommandsLayoutCreateInfoNV'.
@@ -2130,9 +2138,11 @@
   , -- | @maxIndirectCommandsStreamStride@ is the maximum stream stride in
     -- 'IndirectCommandsLayoutCreateInfoNV'.
     maxIndirectCommandsStreamStride :: Word32
-  , -- No documentation found for Nested "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" "minSequencesCountBufferOffsetAlignment"
+  , -- | @minSequencesCountBufferOffsetAlignment@ is the minimum alignment for
+    -- memory addresses which /can/ be used in 'GeneratedCommandsInfoNV'.
     minSequencesCountBufferOffsetAlignment :: Word32
-  , -- No documentation found for Nested "VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV" "minSequencesIndexBufferOffsetAlignment"
+  , -- | @minSequencesIndexBufferOffsetAlignment@ is the minimum alignment for
+    -- memory addresses which /can/ be used in 'GeneratedCommandsInfoNV'.
     minSequencesIndexBufferOffsetAlignment :: Word32
   , -- | @minIndirectCommandsBufferOffsetAlignment@ is the minimum alignment for
     -- memory addresses used in 'IndirectCommandsStreamNV', and as preprocess
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
@@ -598,14 +598,21 @@
 --     by the current subpass /must/ be bound to the pipeline via a
 --     descriptor set
 --
--- -   #VUID-vkCmdDrawMeshTasksNV-None-04584# Image subresources used as
---     attachments in the current render pass /must/ not be accessed in any
---     way other than as an attachment by this command, except for cases
---     involving read-only access to depth\/stencil attachments as
---     described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
 --
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-06538# If any recorded command in
+--     the current subpass will write to an image subresource as an
+--     attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-06539# If any recorded command in
+--     the current subpass will read from an image subresource used as an
+--     attachment in any way other than as an attachment, this command
+--     /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDrawMeshTasksNV-maxMultiviewInstanceIndex-02688# If the
 --     draw is recorded in a render pass instance with multiview enabled,
 --     the maximum instance index /must/ be less than or equal to
@@ -1394,14 +1401,21 @@
 --     attachment used by the current subpass /must/ be bound to the
 --     pipeline via a descriptor set
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-04584# Image subresources
---     used as attachments in the current render pass /must/ not be
---     accessed in any way other than as an attachment by this command,
---     except for cases involving read-only access to depth\/stencil
---     attachments as described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-06537# Memory backing image
+--     subresources used as attachments in the current render pass /must/
+--     not be written in any way other than as an attachment by this
+--     command
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-06538# If any recorded
+--     command in the current subpass will write to an image subresource as
+--     an attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-06539# If any recorded
+--     command in the current subpass will read from an image subresource
+--     used as an attachment in any way other than as an attachment, this
+--     command /must/ not write to that image subresource as an attachment
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-maxMultiviewInstanceIndex-02688#
 --     If the draw is recorded in a render pass instance with multiview
 --     enabled, the maximum instance index /must/ be less than or equal to
@@ -2235,13 +2249,20 @@
 --     attachment used by the current subpass /must/ be bound to the
 --     pipeline via a descriptor set
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04584# Image
---     subresources used as attachments in the current render pass /must/
---     not be accessed in any way other than as an attachment by this
---     command, except for cases involving read-only access to
---     depth\/stencil attachments as described in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-attachment-nonattachment Render Pass>
---     chapter
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06537# Memory backing
+--     image subresources used as attachments in the current render pass
+--     /must/ not be written in any way other than as an attachment by this
+--     command
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06538# If any recorded
+--     command in the current subpass will write to an image subresource as
+--     an attachment, this command /must/ not read from the memory backing
+--     that image subresource in any other way than as an attachment
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06539# If any recorded
+--     command in the current subpass will read from an image subresource
+--     used as an attachment in any way other than as an attachment, this
+--     command /must/ not write to that image subresource as an attachment
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-maxMultiviewInstanceIndex-02688#
 --     If the draw is recorded in a render pass instance with multiview
diff --git a/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs b/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs
--- a/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs
+++ b/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs
@@ -273,7 +273,7 @@
 -- 'Vulkan.Core10.FundamentalTypes.FALSE', and the representative fragment
 -- test is disabled.
 --
--- If the active fragment shader specifies the @EarlyFragmentTests@
+-- If the active fragment shader does not specify the @EarlyFragmentTests@
 -- execution mode, the representative fragment shader test has no effect,
 -- even if enabled.
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs
--- a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs
@@ -89,8 +89,8 @@
 -- == New Structures
 --
 -- -   Extending
---     'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR',
---     'Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR':
+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2',
+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2':
 --
 --     -   'CopyCommandTransformInfoQCOM'
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot
@@ -89,8 +89,8 @@
 -- == New Structures
 --
 -- -   Extending
---     'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR',
---     'Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR':
+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.BufferImageCopy2',
+--     'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ImageBlit2':
 --
 --     -   'CopyCommandTransformInfoQCOM'
 --
diff --git a/src/Vulkan/SPIRVRequirements.hs b/src/Vulkan/SPIRVRequirements.hs
--- a/src/Vulkan/SPIRVRequirements.hs
+++ b/src/Vulkan/SPIRVRequirements.hs
@@ -633,6 +633,8 @@
     ]
   "SPV_KHR_integer_dot_product" ->
     (,) [RequireInstanceVersion $ MAKE_API_VERSION 1 3 0] [RequireDeviceVersion $ MAKE_API_VERSION 1 3 0]
+  "SPV_KHR_device_group" ->
+    (,) [RequireInstanceVersion $ MAKE_API_VERSION 1 1 0] [RequireDeviceVersion $ MAKE_API_VERSION 1 1 0]
   _ -> ([], [])
 
 spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
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 = 204
+pattern HEADER_VERSION = 205
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 204
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 205
 
 
 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.16
+version:        3.16.1
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
