diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.12] - 2021-08-12
+- Bump API version to v1.2.188
+
 ## [3.11.5] - 2021-08-03
 - Bump API version to v1.2.187
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.11.5"
+version: "3.12"
 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
@@ -341,7 +341,7 @@
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'
 --     or 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT', and
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'
---     or 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR' enabled.
+--     or 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR' enabled
 --
 -- -   #VUID-vkCmdBindPipeline-commandBuffer-04809# If @commandBuffer@ is a
 --     secondary command buffer with
@@ -353,7 +353,7 @@
 --     structure and its @discardRectangleCount@ member is not @0@, then
 --     the pipeline /must/ have been created with
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
---     enabled.
+--     enabled
 --
 -- -   #VUID-vkCmdBindPipeline-pipelineBindPoint-04881# If
 --     @pipelineBindPoint@ is
@@ -467,7 +467,7 @@
 -- -   #VUID-vkCmdSetViewport-commandBuffer-04821# @commandBuffer@ /must/
 --     not have
 --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV'::@viewportScissor2D@
---     enabled.
+--     enabled
 --
 -- == Valid Usage (Implicit)
 --
@@ -584,7 +584,7 @@
 -- -   #VUID-vkCmdSetScissor-viewportScissor2D-04789# If this command is
 --     recorded in a secondary command buffer with
 --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV'::@viewportScissor2D@
---     enabled, then this function /must/ not be called.
+--     enabled, then this function /must/ not be called
 --
 -- == Valid Usage (Implicit)
 --
@@ -1909,41 +1909,41 @@
 -- -   #VUID-vkCmdDraw-None-04115# If a 'Vulkan.Core10.Handles.ImageView'
 --     is accessed using @OpImageWrite@ as a result of this command, then
 --     the @Type@ of the @Texel@ operand of that instruction /must/ have at
---     least as many components as the image view’s format.
+--     least as many components as the image view’s format
 --
 -- -   #VUID-vkCmdDraw-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDraw-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDraw-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDraw-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDraw-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDraw-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1952,7 +1952,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDraw-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1961,7 +1961,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDraw-renderPass-02684# The current render pass /must/ be
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility compatible>
@@ -2529,41 +2529,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawIndexed-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -2572,7 +2572,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndexed-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -2581,7 +2581,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndexed-renderPass-02684# The current render pass
 --     /must/ be
@@ -3146,41 +3146,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawIndirect-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -3189,7 +3189,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndirect-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -3198,7 +3198,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndirect-renderPass-02684# The current render pass
 --     /must/ be
@@ -3792,41 +3792,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -3835,7 +3835,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -3844,7 +3844,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-renderPass-02684# The current render
 --     pass /must/ be
@@ -4430,41 +4430,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDispatch-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatch-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -4473,7 +4473,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDispatch-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -4482,7 +4482,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDispatch-commandBuffer-02712# If @commandBuffer@ is a
 --     protected command buffer, any resource written to by the
@@ -4759,41 +4759,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDispatchIndirect-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatchIndirect-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -4802,7 +4802,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDispatchIndirect-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -4811,7 +4811,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDispatchIndirect-buffer-02708# If @buffer@ is non-sparse
 --     then it /must/ be bound completely and contiguously to a single
@@ -5874,7 +5874,7 @@
 --     then for each element of @pRegions@, @srcSubresource.baseArrayLayer@
 --     and @dstSubresource.baseArrayLayer@ /must/ each be @0@, and
 --     @srcSubresource.layerCount@ and @dstSubresource.layerCount@ /must/
---     each be @1@.
+--     each be @1@
 --
 -- -   #VUID-vkCmdBlitImage-aspectMask-00241# For each element of
 --     @pRegions@, @srcSubresource.aspectMask@ /must/ specify aspects
@@ -6161,7 +6161,7 @@
 --     element of @pRegions@, the @aspectMask@ member of @imageSubresource@
 --     /must/ not be
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'
 --
 -- -   #VUID-vkCmdCopyBufferToImage-pRegions-06218# For each element of
 --     @pRegions@, @imageOffset.x@ and (@imageExtent.width@ +
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
@@ -1026,7 +1026,7 @@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', then @sampler@ /must/
 --     have been created with
 --     'Vulkan.Core10.Sampler.SamplerCreateInfo'::@compareEnable@ set to
---     'Vulkan.Core10.FundamentalTypes.FALSE'.
+--     'Vulkan.Core10.FundamentalTypes.FALSE'
 --
 -- == Valid Usage (Implicit)
 --
@@ -2043,7 +2043,7 @@
 -- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-04605# If
 --     @descriptorType@ is
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_VALVE',
---     then @pImmutableSamplers@ /must/ be @NULL@.
+--     then @pImmutableSamplers@ /must/ be @NULL@
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -650,7 +650,7 @@
 --     @VK_KHR_portability_subset@ extension is included in @pProperties@
 --     of
 --     'Vulkan.Core10.ExtensionDiscovery.enumerateDeviceExtensionProperties',
---     @ppEnabledExtensions@ /must/ include \"VK_KHR_portability_subset\".
+--     @ppEnabledExtensions@ /must/ include \"VK_KHR_portability_subset\"
 --
 -- -   #VUID-VkDeviceCreateInfo-shadingRateImage-04478# If
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
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
@@ -1401,13 +1401,13 @@
 --     'InstanceCreateInfo' includes a
 --     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT'
 --     structure, the list of enabled extensions in
---     @ppEnabledExtensionNames@ /must/ contain VK_EXT_debug_report.
+--     @ppEnabledExtensionNames@ /must/ contain VK_EXT_debug_report
 --
 -- -   #VUID-VkInstanceCreateInfo-pNext-04926# If the @pNext@ chain of
 --     'InstanceCreateInfo' includes a
 --     'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT'
 --     structure, the list of enabled extensions in
---     @ppEnabledExtensionNames@ /must/ contain VK_EXT_debug_utils.
+--     @ppEnabledExtensionNames@ /must/ contain VK_EXT_debug_utils
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs b/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
--- a/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
+++ b/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
@@ -3,6 +3,7 @@
 module Vulkan.Core10.Enums.AttachmentLoadOp  (AttachmentLoadOp( ATTACHMENT_LOAD_OP_LOAD
                                                               , ATTACHMENT_LOAD_OP_CLEAR
                                                               , ATTACHMENT_LOAD_OP_DONT_CARE
+                                                              , ATTACHMENT_LOAD_OP_NONE_EXT
                                                               , ..
                                                               )) where
 
@@ -48,9 +49,15 @@
 -- For attachments with a color format, this uses the access type
 -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_COLOR_ATTACHMENT_WRITE_BIT'.
 pattern ATTACHMENT_LOAD_OP_DONT_CARE = AttachmentLoadOp 2
+-- | 'ATTACHMENT_LOAD_OP_NONE_EXT' specifies that the previous contents of
+-- the image within the render area will be preserved, but the contents of
+-- the attachment will be undefined inside the render pass. No access type
+-- is used as the image is not accessed.
+pattern ATTACHMENT_LOAD_OP_NONE_EXT  = AttachmentLoadOp 1000400000
 {-# complete ATTACHMENT_LOAD_OP_LOAD,
              ATTACHMENT_LOAD_OP_CLEAR,
-             ATTACHMENT_LOAD_OP_DONT_CARE :: AttachmentLoadOp #-}
+             ATTACHMENT_LOAD_OP_DONT_CARE,
+             ATTACHMENT_LOAD_OP_NONE_EXT :: AttachmentLoadOp #-}
 
 conNameAttachmentLoadOp :: String
 conNameAttachmentLoadOp = "AttachmentLoadOp"
@@ -60,7 +67,11 @@
 
 showTableAttachmentLoadOp :: [(AttachmentLoadOp, String)]
 showTableAttachmentLoadOp =
-  [(ATTACHMENT_LOAD_OP_LOAD, "LOAD"), (ATTACHMENT_LOAD_OP_CLEAR, "CLEAR"), (ATTACHMENT_LOAD_OP_DONT_CARE, "DONT_CARE")]
+  [ (ATTACHMENT_LOAD_OP_LOAD     , "LOAD")
+  , (ATTACHMENT_LOAD_OP_CLEAR    , "CLEAR")
+  , (ATTACHMENT_LOAD_OP_DONT_CARE, "DONT_CARE")
+  , (ATTACHMENT_LOAD_OP_NONE_EXT , "NONE_EXT")
+  ]
 
 instance Show AttachmentLoadOp where
   showsPrec = enumShowsPrec enumPrefixAttachmentLoadOp
diff --git a/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs b/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs
--- a/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs
+++ b/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs
@@ -2,7 +2,7 @@
 -- No documentation found for Chapter "AttachmentStoreOp"
 module Vulkan.Core10.Enums.AttachmentStoreOp  (AttachmentStoreOp( ATTACHMENT_STORE_OP_STORE
                                                                 , ATTACHMENT_STORE_OP_DONT_CARE
-                                                                , ATTACHMENT_STORE_OP_NONE_QCOM
+                                                                , ATTACHMENT_STORE_OP_NONE_EXT
                                                                 , ..
                                                                 )) where
 
@@ -48,14 +48,14 @@
 -- For attachments with a color format, this uses the access type
 -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_COLOR_ATTACHMENT_WRITE_BIT'.
 pattern ATTACHMENT_STORE_OP_DONT_CARE = AttachmentStoreOp 1
--- | 'ATTACHMENT_STORE_OP_NONE_QCOM' specifies that the contents within the
--- render area were not written during rendering, and /may/ not be written
--- to memory. If the attachment was written to during the renderpass, the
--- contents of the attachment will be undefined inside the render area.
-pattern ATTACHMENT_STORE_OP_NONE_QCOM = AttachmentStoreOp 1000301000
+-- | 'ATTACHMENT_STORE_OP_NONE_EXT' specifies the contents within the render
+-- area are not modified after rendering. However, if the attachment was
+-- written to during the render pass, the contents of the attachment will
+-- be undefined inside the render area.
+pattern ATTACHMENT_STORE_OP_NONE_EXT  = AttachmentStoreOp 1000301000
 {-# complete ATTACHMENT_STORE_OP_STORE,
              ATTACHMENT_STORE_OP_DONT_CARE,
-             ATTACHMENT_STORE_OP_NONE_QCOM :: AttachmentStoreOp #-}
+             ATTACHMENT_STORE_OP_NONE_EXT :: AttachmentStoreOp #-}
 
 conNameAttachmentStoreOp :: String
 conNameAttachmentStoreOp = "AttachmentStoreOp"
@@ -67,7 +67,7 @@
 showTableAttachmentStoreOp =
   [ (ATTACHMENT_STORE_OP_STORE    , "STORE")
   , (ATTACHMENT_STORE_OP_DONT_CARE, "DONT_CARE")
-  , (ATTACHMENT_STORE_OP_NONE_QCOM, "NONE_QCOM")
+  , (ATTACHMENT_STORE_OP_NONE_EXT , "NONE_EXT")
   ]
 
 instance Show AttachmentStoreOp where
diff --git a/src/Vulkan/Core10/Event.hs b/src/Vulkan/Core10/Event.hs
--- a/src/Vulkan/Core10/Event.hs
+++ b/src/Vulkan/Core10/Event.hs
@@ -87,7 +87,7 @@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', then the implementation
 --     does not support
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-events events>,
---     and 'createEvent' /must/ not be used.
+--     and 'createEvent' /must/ not be used
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -1307,14 +1307,14 @@
 --     'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR'::@imageView2DOn3DImage@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', @flags@ /must/ not
 --     contain
---     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT'.
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT'
 --
 -- -   #VUID-VkImageCreateInfo-multisampleArrayImage-04460# If the
 --     @VK_KHR_portability_subset@ extension is enabled, and
 --     'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR'::@multisampleArrayImage@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', and @samples@ is not
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT', then
---     @arrayLayers@ /must/ be @1@.
+--     @arrayLayers@ /must/ be @1@
 --
 -- -   #VUID-VkImageCreateInfo-pNext-04737# If a
 --     'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'
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
@@ -1098,7 +1098,7 @@
 --     'Vulkan.Core10.Enums.Format.Format' in @format@ /must/ not contain a
 --     different number of components, or a different number of bits in
 --     each component, than the format of the 'Vulkan.Core10.Handles.Image'
---     in @image@.
+--     in @image@
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -175,7 +175,7 @@
 --     as returned by
 --     'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceMemoryProperties'
 --     for the 'Vulkan.Core10.Handles.PhysicalDevice' that @device@ was
---     created from.
+--     created from
 --
 -- -   #VUID-vkAllocateMemory-pAllocateInfo-01714#
 --     @pAllocateInfo->memoryTypeIndex@ /must/ be less than
@@ -183,18 +183,18 @@
 --     as returned by
 --     'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceMemoryProperties'
 --     for the 'Vulkan.Core10.Handles.PhysicalDevice' that @device@ was
---     created from.
+--     created from
 --
 -- -   #VUID-vkAllocateMemory-deviceCoherentMemory-02790# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-deviceCoherentMemory deviceCoherentMemory>
 --     feature is not enabled, @pAllocateInfo->memoryTypeIndex@ /must/ not
 --     identify a memory type supporting
---     'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD'.
+--     'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_DEVICE_COHERENT_BIT_AMD'
 --
 -- -   #VUID-vkAllocateMemory-maxMemoryAllocationCount-04101# There /must/
 --     be less than
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxMemoryAllocationCount@
---     device memory allocations currently allocated on the device.
+--     device memory allocations currently allocated on the device
 --
 -- == Valid Usage (Implicit)
 --
@@ -877,7 +877,7 @@
 --     or
 --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationMemoryAllocateInfoNV'
 --     structure with either its @image@ or @buffer@ member set to a value
---     other than 'Vulkan.Core10.APIConstants.NULL_HANDLE'.
+--     other than 'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- -   #VUID-VkMemoryAllocateInfo-pNext-00640# If the @pNext@ chain
 --     includes a
@@ -900,21 +900,21 @@
 --     created by the Vulkan API, and the external handle type is
 --     'Vulkan.Extensions.VK_KHR_external_memory_capabilities.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR',
 --     then the values of @allocationSize@ and @memoryTypeIndex@ /must/
---     match those specified when the payload being imported was created.
+--     match those specified when the payload being imported was created
 --
 -- -   #VUID-VkMemoryAllocateInfo-None-00643# If the parameters define an
 --     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
---     allocated.
+--     allocated
 --
 -- -   #VUID-VkMemoryAllocateInfo-None-00644# If the parameters define an
 --     import operation and the external handle specified was created by
 --     the Vulkan API, the list of physical devices that comprise the
 --     logical device passed to 'allocateMemory' /must/ match the list of
 --     physical devices that comprise the logical device on which the
---     payload was originally allocated.
+--     payload was originally allocated
 --
 -- -   #VUID-VkMemoryAllocateInfo-memoryTypeIndex-00645# If the parameters
 --     define an import operation and the external handle is an NT handle
@@ -929,13 +929,13 @@
 --     or
 --     'Vulkan.Extensions.VK_KHR_external_memory_capabilities.EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_WIN32_KMT_BIT_KHR',
 --     then the values of @allocationSize@ and @memoryTypeIndex@ /must/
---     match those specified when the payload being imported was created.
+--     match those specified when the payload being imported was created
 --
 -- -   #VUID-VkMemoryAllocateInfo-allocationSize-00647# If the parameters
 --     define an import operation and the external handle type is
 --     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_D3D12_HEAP_BIT',
 --     @allocationSize@ /must/ match the size specified when creating the
---     Direct3D 12 heap from which the payload was extracted.
+--     Direct3D 12 heap from which the payload was extracted
 --
 -- -   #VUID-VkMemoryAllocateInfo-memoryTypeIndex-00648# If the parameters
 --     define an import operation and the external handle is a POSIX file
@@ -1121,7 +1121,7 @@
 --     memory type from the @memoryTypeBits@ field of the
 --     'Vulkan.Extensions.VK_FUCHSIA_external_memory.MemoryZirconHandlePropertiesFUCHSIA'
 --     structure populated by a call to
---     'Vulkan.Extensions.VK_FUCHSIA_external_memory.getMemoryZirconHandlePropertiesFUCHSIA'.
+--     'Vulkan.Extensions.VK_FUCHSIA_external_memory.getMemoryZirconHandlePropertiesFUCHSIA'
 --
 -- -   #VUID-VkMemoryAllocateInfo-allocationSize-04750# If the parameters
 --     define an import operation and the external handle type is
@@ -1129,11 +1129,11 @@
 --     the value of @allocationSize@ /must/ be greater than @0@ and /must/
 --     be less than or equal to the size of the VMO as determined by
 --     @zx_vmo_get_size@(@handle@) where @handle@ is the VMO handle to the
---     imported external memory.
+--     imported external memory
 --
 -- -   #VUID-VkMemoryAllocateInfo-allocationSize-06231# @allocationSize@
 --     /must/ be less than
---     'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties'::@maxMemoryAllocationSize@.
+--     'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties'::@maxMemoryAllocationSize@
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -1119,7 +1119,7 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirv-spec Khronos SPIR-V Specification>
 --     after applying the specializations provided in
 --     @pSpecializationInfo@, if any, and then converting all
---     specialization constants into fixed constants.
+--     specialization constants into fixed constants
 --
 -- == Valid Usage (Implicit)
 --
@@ -1491,7 +1491,7 @@
 -- -   #VUID-VkVertexInputBindingDescription-stride-04456# If the
 --     @VK_KHR_portability_subset@ extension is enabled, @stride@ /must/ be
 --     a multiple of, and at least as large as,
---     'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR'::@minVertexInputBindingStrideAlignment@.
+--     'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR'::@minVertexInputBindingStrideAlignment@
 --
 -- == Valid Usage (Implicit)
 --
@@ -1587,7 +1587,7 @@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', the sum of @offset@ plus
 --     the size of the vertex attribute data described by @format@ /must/
 --     not be greater than @stride@ in the 'VertexInputBindingDescription'
---     referenced in @binding@.
+--     referenced in @binding@
 --
 -- == Valid Usage (Implicit)
 --
@@ -1835,7 +1835,7 @@
 --     the @VK_KHR_portability_subset@ extension is enabled, and
 --     'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR'::@triangleFans@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', @topology@ /must/ not be
---     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_FAN'.
+--     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_FAN'
 --
 -- == Valid Usage (Implicit)
 --
@@ -2258,7 +2258,7 @@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', and
 --     @rasterizerDiscardEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE',
 --     @polygonMode@ /must/ not be
---     'Vulkan.Core10.Enums.PolygonMode.POLYGON_MODE_POINT'.
+--     'Vulkan.Core10.Enums.PolygonMode.POLYGON_MODE_POINT'
 --
 -- == Valid Usage (Implicit)
 --
@@ -2736,7 +2736,7 @@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', @srcColorBlendFactor@
 --     /must/ not be
 --     'Vulkan.Core10.Enums.BlendFactor.BLEND_FACTOR_CONSTANT_ALPHA' or
---     'Vulkan.Core10.Enums.BlendFactor.BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA'.
+--     'Vulkan.Core10.Enums.BlendFactor.BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA'
 --
 -- -   #VUID-VkPipelineColorBlendAttachmentState-constantAlphaColorBlendFactors-04455#
 --     If the @VK_KHR_portability_subset@ extension is enabled, and
@@ -2744,7 +2744,7 @@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', @dstColorBlendFactor@
 --     /must/ not be
 --     'Vulkan.Core10.Enums.BlendFactor.BLEND_FACTOR_CONSTANT_ALPHA' or
---     'Vulkan.Core10.Enums.BlendFactor.BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA'.
+--     'Vulkan.Core10.Enums.BlendFactor.BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA'
 --
 -- == Valid Usage (Implicit)
 --
@@ -3247,7 +3247,7 @@
 --     'PipelineRasterizationStateCreateInfo'::@cullMode@ is
 --     'Vulkan.Core10.Enums.CullModeFlagBits.CULL_MODE_NONE', the value of
 --     @reference@ in each of the 'StencilOpState' structs in @front@ and
---     @back@ /must/ be the same.
+--     @back@ /must/ be the same
 --
 -- == Valid Usage (Implicit)
 --
@@ -4399,7 +4399,7 @@
 --     is not enabled,
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV'::@shadingRateType@
 --     /must/ be equal to
---     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV'.
+--     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV'
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04570# If the
 --     pipeline is being created with
@@ -4413,7 +4413,7 @@
 --     is not enabled,
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV'::@shadingRate@
 --     /must/ be equal to
---     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV'.
+--     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV'
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04571# If the
 --     pipeline is being created with
@@ -4473,7 +4473,7 @@
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV',
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV',
 --     or
---     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV'.
+--     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV'
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-None-04575# If the pipeline is
 --     being created with
@@ -4485,7 +4485,7 @@
 --     is not enabled,
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV'::@shadingRate@
 --     /must/ not be equal to
---     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV'.
+--     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV'
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03578# All
 --     elements of the @pDynamicStates@ member of @pDynamicState@ /must/
diff --git a/src/Vulkan/Core10/Query.hs b/src/Vulkan/Core10/Query.hs
--- a/src/Vulkan/Core10/Query.hs
+++ b/src/Vulkan/Core10/Query.hs
@@ -384,7 +384,7 @@
 --     then @stride@ /must/ be large enough to contain
 --     'Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR'::@counterIndexCount@
 --     used to create @queryPool@ times the size of
---     'Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterResultKHR'.
+--     'Vulkan.Extensions.VK_KHR_performance_query.PerformanceCounterResultKHR'
 --
 -- -   #VUID-vkGetQueryPoolResults-firstQuery-00816# The sum of
 --     @firstQuery@ and @queryCount@ /must/ be less than or equal to the
diff --git a/src/Vulkan/Core10/Sampler.hs b/src/Vulkan/Core10/Sampler.hs
--- a/src/Vulkan/Core10/Sampler.hs
+++ b/src/Vulkan/Core10/Sampler.hs
@@ -109,7 +109,7 @@
 --     be less than
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxSamplerAllocationCount@
 --     'Vulkan.Core10.Handles.Sampler' objects currently created on the
---     device.
+--     device
 --
 -- == Valid Usage (Implicit)
 --
@@ -319,7 +319,7 @@
 --     @VK_KHR_portability_subset@ extension is enabled, and
 --     'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR'::@samplerMipLodBias@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', @mipLodBias@ /must/ be
---     zero.
+--     zero
 --
 -- -   #VUID-VkSamplerCreateInfo-maxLod-01973# @maxLod@ /must/ be greater
 --     than or equal to @minLod@
@@ -471,7 +471,7 @@
 --     'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT'::@format@
 --     is not 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED',
 --     'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT'::@customBorderColor@
---     /must/ be within the range of values representable in @format@.
+--     /must/ be within the range of values representable in @format@
 --
 -- -   #VUID-VkSamplerCreateInfo-None-04012# The maximum number of samplers
 --     with custom border colors which /can/ be simultaneously created on a
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs
@@ -421,41 +421,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDispatchBase-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatchBase-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -464,7 +464,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDispatchBase-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -473,7 +473,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDispatchBase-commandBuffer-02712# If @commandBuffer@ is a
 --     protected command buffer, any resource written to by the
diff --git a/src/Vulkan/Core12/Enums/DriverId.hs b/src/Vulkan/Core12/Enums/DriverId.hs
--- a/src/Vulkan/Core12/Enums/DriverId.hs
+++ b/src/Vulkan/Core12/Enums/DriverId.hs
@@ -16,6 +16,7 @@
                                               , DRIVER_ID_MOLTENVK
                                               , DRIVER_ID_COREAVI_PROPRIETARY
                                               , DRIVER_ID_JUICE_PROPRIETARY
+                                              , DRIVER_ID_VERISILICON_PROPRIETARY
                                               , ..
                                               )) where
 
@@ -85,6 +86,8 @@
 pattern DRIVER_ID_COREAVI_PROPRIETARY       = DriverId 15
 -- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_JUICE_PROPRIETARY"
 pattern DRIVER_ID_JUICE_PROPRIETARY         = DriverId 16
+-- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_VERISILICON_PROPRIETARY"
+pattern DRIVER_ID_VERISILICON_PROPRIETARY   = DriverId 17
 {-# complete DRIVER_ID_AMD_PROPRIETARY,
              DRIVER_ID_AMD_OPEN_SOURCE,
              DRIVER_ID_MESA_RADV,
@@ -100,7 +103,8 @@
              DRIVER_ID_MESA_LLVMPIPE,
              DRIVER_ID_MOLTENVK,
              DRIVER_ID_COREAVI_PROPRIETARY,
-             DRIVER_ID_JUICE_PROPRIETARY :: DriverId #-}
+             DRIVER_ID_JUICE_PROPRIETARY,
+             DRIVER_ID_VERISILICON_PROPRIETARY :: DriverId #-}
 
 conNameDriverId :: String
 conNameDriverId = "DriverId"
@@ -126,6 +130,7 @@
   , (DRIVER_ID_MOLTENVK                 , "MOLTENVK")
   , (DRIVER_ID_COREAVI_PROPRIETARY      , "COREAVI_PROPRIETARY")
   , (DRIVER_ID_JUICE_PROPRIETARY        , "JUICE_PROPRIETARY")
+  , (DRIVER_ID_VERISILICON_PROPRIETARY  , "VERISILICON_PROPRIETARY")
   ]
 
 instance Show DriverId where
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs
@@ -181,7 +181,9 @@
 -- -   #VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-02651#
 --     If @pDepthStencilResolveAttachment@ is not @NULL@ and does not have
 --     the value 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' then it
---     /must/ have a format whose features contain
+--     /must/ have an image format whose
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>
+--     contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'
 --
 -- -   #VUID-VkSubpassDescriptionDepthStencilResolve-pDepthStencilResolveAttachment-03181#
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
@@ -209,41 +209,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawIndirectCount-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -252,7 +252,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -261,7 +261,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-renderPass-02684# The current render
 --     pass /must/ be
@@ -878,41 +878,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04474#
 --     If the
@@ -922,7 +922,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-sparseImageInt64Atomics-04475#
 --     If the
@@ -932,7 +932,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-renderPass-02684# The current
 --     render pass /must/ be
diff --git a/src/Vulkan/Extensions.hs b/src/Vulkan/Extensions.hs
--- a/src/Vulkan/Extensions.hs
+++ b/src/Vulkan/Extensions.hs
@@ -66,6 +66,7 @@
                           , module Vulkan.Extensions.VK_EXT_index_type_uint8
                           , module Vulkan.Extensions.VK_EXT_inline_uniform_block
                           , module Vulkan.Extensions.VK_EXT_line_rasterization
+                          , module Vulkan.Extensions.VK_EXT_load_store_op_none
                           , module Vulkan.Extensions.VK_EXT_memory_budget
                           , module Vulkan.Extensions.VK_EXT_memory_priority
                           , module Vulkan.Extensions.VK_EXT_metal_surface
@@ -316,6 +317,7 @@
 import Vulkan.Extensions.VK_EXT_index_type_uint8
 import Vulkan.Extensions.VK_EXT_inline_uniform_block
 import Vulkan.Extensions.VK_EXT_line_rasterization
+import Vulkan.Extensions.VK_EXT_load_store_op_none
 import Vulkan.Extensions.VK_EXT_memory_budget
 import Vulkan.Extensions.VK_EXT_memory_priority
 import Vulkan.Extensions.VK_EXT_metal_surface
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs
--- a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs
+++ b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs
@@ -2181,7 +2181,7 @@
 -- == Valid Usage
 --
 -- -   #VUID-PFN_vkDebugUtilsMessengerCallbackEXT-None-04769# The callback
---     /must/ not make calls to any Vulkan commands.
+--     /must/ not make calls to any Vulkan commands
 --
 -- = See Also
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs
--- a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs
+++ b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs
@@ -241,7 +241,7 @@
 -- -   #VUID-vkCmdSetDiscardRectangleEXT-viewportScissor2D-04788# If this
 --     command is recorded in a secondary command buffer with
 --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV'::@viewportScissor2D@
---     enabled, then this function /must/ not be called.
+--     enabled, then this function /must/ not be called
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs
--- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs
+++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs
@@ -489,7 +489,7 @@
 -- -   #VUID-vkCmdSetViewportWithCountEXT-commandBuffer-04819#
 --     @commandBuffer@ /must/ not have
 --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV'::@viewportScissor2D@
---     enabled.
+--     enabled
 --
 -- == Valid Usage (Implicit)
 --
@@ -591,7 +591,7 @@
 -- -   #VUID-vkCmdSetScissorWithCountEXT-commandBuffer-04820#
 --     @commandBuffer@ /must/ not have
 --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV'::@viewportScissor2D@
---     enabled.
+--     enabled
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs b/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs
--- a/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs
+++ b/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs
@@ -383,8 +383,9 @@
 --
 -- == Valid Usage
 --
--- -   [[VUID-{refpage}-pSurfaceInfo-06210]] @pSurfaceInfo->surface@ /must/
---     be supported by @physicalDevice@, as reported by
+-- -   #VUID-vkGetPhysicalDeviceSurfacePresentModes2EXT-pSurfaceInfo-06210#
+--     @pSurfaceInfo->surface@ /must/ be supported by @physicalDevice@, as
+--     reported by
 --     'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'
 --     or an equivalent platform-specific mechanism
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs b/src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs
@@ -0,0 +1,112 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_load_store_op_none - device extension
+--
+-- == VK_EXT_load_store_op_none
+--
+-- [__Name String__]
+--     @VK_EXT_load_store_op_none@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     401
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+-- [__Contact__]
+--
+--     -   Shahbaz Youssefi
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_load_store_op_none:%20&body=@syoussefi%20 >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-06-06
+--
+-- [__Contributors__]
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Bill Licea-Kane, Qualcomm Technologies, Inc.
+--
+--     -   Tobias Hector, AMD
+--
+-- == Description
+--
+-- This extension incorporates
+-- 'Vulkan.Core10.Enums.AttachmentStoreOp.ATTACHMENT_STORE_OP_NONE_EXT'
+-- from <VK_QCOM_render_pass_store_ops.html VK_QCOM_render_pass_store_ops>,
+-- enabling applications to avoid unnecessary synchronization when an
+-- attachment is not written during a render pass.
+--
+-- Additionally,
+-- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_EXT' is
+-- introduced to avoid unnecessary synchronization when an attachment is
+-- not used during a render pass at all. In combination with
+-- 'Vulkan.Core10.Enums.AttachmentStoreOp.ATTACHMENT_STORE_OP_NONE_EXT',
+-- this is useful as an alternative to preserve attachments in applications
+-- that cannot decide if an attachment will be used in a render pass until
+-- after the necessary pipelines have been created.
+--
+-- == New Enum Constants
+--
+-- -   'EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME'
+--
+-- -   'EXT_LOAD_STORE_OP_NONE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp':
+--
+--     -   'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_EXT'
+--
+-- -   Extending 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp':
+--
+--     -   'Vulkan.Core10.Enums.AttachmentStoreOp.ATTACHMENT_STORE_OP_NONE_EXT'
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-06-06 (Shahbaz Youssefi)
+--
+--     -   Initial revision, based on VK_QCOM_render_pass_store_ops.
+--
+--     -   Added VK_ATTACHMENT_LOAD_OP_NONE_EXT.
+--
+-- = See Also
+--
+-- No cross-references are available
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_load_store_op_none 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_load_store_op_none  ( EXT_LOAD_STORE_OP_NONE_SPEC_VERSION
+                                                    , pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION
+                                                    , EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME
+                                                    , pattern EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME
+                                                    ) where
+
+import Data.String (IsString)
+
+type EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION"
+pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION :: forall a . Integral a => a
+pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION = 1
+
+
+type EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none"
+
+-- No documentation found for TopLevel "VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME"
+pattern EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_EXT_load_store_op_none"
+
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
@@ -363,41 +363,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawMultiEXT-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMultiEXT-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -406,7 +406,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -415,7 +415,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-renderPass-02684# The current render pass
 --     /must/ be
@@ -992,41 +992,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1035,7 +1035,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1044,7 +1044,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-renderPass-02684# The current render
 --     pass /must/ be
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
@@ -545,6 +545,10 @@
 --     with a @usage@ value containing
 --     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFORM_FEEDBACK_COUNTER_BUFFER_BIT_EXT'
 --
+-- -   #VUID-vkCmdBeginTransformFeedbackEXT-None-06233# A valid graphics
+--     pipeline /must/ be bound to
+--     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
+--
 -- -   #VUID-vkCmdBeginTransformFeedbackEXT-None-04128# The last
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader stage>
 --     of the bound graphics pipeline /must/ have been declared with the
@@ -1356,41 +1360,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04474#
 --     If the
@@ -1400,7 +1404,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-sparseImageInt64Atomics-04475#
 --     If the
@@ -1410,7 +1414,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-renderPass-02684# The current
 --     render pass /must/ be
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
@@ -508,7 +508,7 @@
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE', the sum of @offset@ plus
 --     the size of the vertex attribute data described by @format@ /must/
 --     not be greater than @stride@ in the
---     'VertexInputBindingDescription2EXT' referenced in @binding@.
+--     'VertexInputBindingDescription2EXT' referenced in @binding@
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
@@ -271,7 +271,7 @@
                                           --
                                           -- #VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-04773#
                                           -- @handleType@ /must/ be
-                                          -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA'.
+                                          -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA'
                                           --
                                           -- #VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-parameter#
                                           -- @handleType@ /must/ be a valid
@@ -282,7 +282,7 @@
                                           -- resource.
                                           --
                                           -- #VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-zirconHandle-04774#
-                                          -- @zirconHandle@ must reference a valid VMO.
+                                          -- @zirconHandle@ must reference a valid VMO
                                           ("zirconHandle" ::: Zx_handle_t)
                                        -> io (MemoryZirconHandlePropertiesFUCHSIA)
 getMemoryZirconHandlePropertiesFUCHSIA device handleType zirconHandle = liftIO . evalContT $ do
@@ -304,10 +304,10 @@
 --
 -- -   #VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-04771#
 --     @handleType@ /must/ be
---     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA'.
+--     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA'
 --
 -- -   #VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handle-04772# @handle@
---     must be a valid VMO handle.
+--     must be a valid VMO handle
 --
 -- == Valid Usage (Implicit)
 --
@@ -447,12 +447,12 @@
     --
     -- #VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04775# @handleType@
     -- /must/ be
-    -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA'.
+    -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA'
     --
     -- #VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04776# @handleType@
     -- /must/ have been included in the @handleTypes@ field of the
     -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo'
-    -- structure when the external memory was allocated.
+    -- structure when the external memory was allocated
     --
     -- #VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-parameter#
     -- @handleType@ /must/ be a valid
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs b/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs
@@ -332,22 +332,22 @@
 -- -   #VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-04765#
 --     @handleType@ /must/ be a value included in the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-semaphore-handletypes-zircon-handle Handle Types Supported by >
---     table.
+--     table
 --
 -- -   #VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04766#
 --     @zirconHandle@ /must/ obey any requirements listed for @handleType@
 --     in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#external-semaphore-handle-types-compatibility external semaphore handle types compatibility>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#external-semaphore-handle-types-compatibility external semaphore handle types compatibility>
 --
 -- -   #VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04767#
 --     @zirconHandle@ /must/ have @ZX_RIGHTS_BASIC@ and @ZX_RIGHTS_SIGNAL@
---     rights.
+--     rights
 --
 -- -   #VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphoreType-04768#
 --     The
 --     'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo'::@semaphoreType@
 --     field /must/ not be
---     'Vulkan.Core12.Enums.SemaphoreType.SEMAPHORE_TYPE_TIMELINE'.
+--     'Vulkan.Core12.Enums.SemaphoreType.SEMAPHORE_TYPE_TIMELINE'
 --
 -- == Valid Usage (Implicit)
 --
@@ -463,7 +463,7 @@
 -- -   #VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04758#
 --     @handleType@ /must/ have been included in
 --     'Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore.ExportSemaphoreCreateInfo'::@handleTypes@
---     when @semaphore@’s current payload was created.
+--     when @semaphore@’s current payload was created
 --
 -- -   #VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04759#
 --     @semaphore@ /must/ not currently have its payload replaced by an
@@ -471,27 +471,27 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-semaphores-importing Importing Semaphore Payloads>
 --     unless that imported payload’s handle type was included in
 --     'Vulkan.Core11.Promoted_From_VK_KHR_external_semaphore_capabilities.ExternalSemaphoreProperties'::@exportFromImportedHandleTypes@
---     for @handleType@.
+--     for @handleType@
 --
 -- -   #VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04760# If
 --     @handleType@ refers to a handle type with copy payload transference
 --     semantics, as defined below in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-semaphores-importing Importing Semaphore Payloads>,
---     there /must/ be no queue waiting on @semaphore@.
+--     there /must/ be no queue waiting on @semaphore@
 --
 -- -   #VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04761# If
 --     @handleType@ refers to a handle type with copy payload transference
 --     semantics, @semaphore@ /must/ be signaled, or have an associated
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-semaphores-signaling semaphore signal operation>
---     pending execution.
+--     pending execution
 --
 -- -   #VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04762#
---     @handleType@ /must/ be defined as a Zircon event handle.
+--     @handleType@ /must/ be defined as a Zircon event handle
 --
 -- -   #VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04763#
 --     @semaphore@ /must/ have been created with a
 --     'Vulkan.Core12.Enums.SemaphoreType.SemaphoreType' of
---     'Vulkan.Core12.Enums.SemaphoreType.SEMAPHORE_TYPE_BINARY'.
+--     'Vulkan.Core12.Enums.SemaphoreType.SEMAPHORE_TYPE_BINARY'
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -15,7 +15,7 @@
 --     151
 --
 -- [__Revision__]
---     11
+--     12
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -39,6 +39,8 @@
 --
 -- [__Contributors__]
 --
+--     -   Samuel Bourasseau, Adobe
+--
 --     -   Matthäus Chajdas, AMD
 --
 --     -   Greg Grebe, AMD
@@ -1080,6 +1082,15 @@
 --     -   define sync for AS build inputs and indirect buffer
 --         (#2407,!4208)
 --
+-- -   Revision 12, 2021-08-06 (Samuel Bourasseau)
+--
+--     -   rename
+--         VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR to
+--         VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR (keep previous
+--         as alias).
+--
+--     -   Clarify description and add note.
+--
 -- = See Also
 --
 -- 'AabbPositionsKHR', 'AccelerationStructureBuildGeometryInfoKHR',
@@ -1149,6 +1160,7 @@
                                                         , buildAccelerationStructuresKHR
                                                         , getAccelerationStructureDeviceAddressKHR
                                                         , getAccelerationStructureBuildSizesKHR
+                                                        , pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR
                                                         , WriteDescriptorSetAccelerationStructureKHR(..)
                                                         , PhysicalDeviceAccelerationStructureFeaturesKHR(..)
                                                         , PhysicalDeviceAccelerationStructurePropertiesKHR(..)
@@ -1173,7 +1185,7 @@
                                                         , AccelerationStructureGeometryDataKHR(..)
                                                         , GeometryInstanceFlagsKHR
                                                         , GeometryInstanceFlagBitsKHR( GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR
-                                                                                     , GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR
+                                                                                     , GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR
                                                                                      , GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR
                                                                                      , GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR
                                                                                      , ..
@@ -1976,7 +1988,7 @@
 --
 -- -   #VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03742#
 --     @pInfo->src.deviceAddress@ /must/ be a valid device address for a
---     buffer bound to device memory.
+--     buffer bound to device memory
 --
 -- -   #VUID-vkCmdCopyMemoryToAccelerationStructureKHR-pInfo-03743#
 --     @pInfo->src.deviceAddress@ /must/ be aligned to @256@ bytes
@@ -2831,9 +2843,10 @@
 -- -   #VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03667# For each
 --     element of @pInfos@, if its @mode@ member is
 --     'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', its
---     @srcAccelerationStructure@ member /must/ have been built before with
---     'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR' set in
---     'AccelerationStructureBuildGeometryInfoKHR'::@flags@
+--     @srcAccelerationStructure@ member /must/ have previously been
+--     constructed with 'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR'
+--     set in 'AccelerationStructureBuildGeometryInfoKHR'::@flags@ in the
+--     build
 --
 -- -   #VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03668# For each
 --     element of @pInfos@, if its @mode@ member is
@@ -3396,9 +3409,10 @@
 -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03667# For
 --     each element of @pInfos@, if its @mode@ member is
 --     'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', its
---     @srcAccelerationStructure@ member /must/ have been built before with
---     'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR' set in
---     'AccelerationStructureBuildGeometryInfoKHR'::@flags@
+--     @srcAccelerationStructure@ member /must/ have previously been
+--     constructed with 'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR'
+--     set in 'AccelerationStructureBuildGeometryInfoKHR'::@flags@ in the
+--     build
 --
 -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pInfos-03668# For
 --     each element of @pInfos@, if its @mode@ member is
@@ -4041,9 +4055,10 @@
 -- -   #VUID-vkBuildAccelerationStructuresKHR-pInfos-03667# For each
 --     element of @pInfos@, if its @mode@ member is
 --     'BUILD_ACCELERATION_STRUCTURE_MODE_UPDATE_KHR', its
---     @srcAccelerationStructure@ member /must/ have been built before with
---     'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR' set in
---     'AccelerationStructureBuildGeometryInfoKHR'::@flags@
+--     @srcAccelerationStructure@ member /must/ have previously been
+--     constructed with 'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_KHR'
+--     set in 'AccelerationStructureBuildGeometryInfoKHR'::@flags@ in the
+--     build
 --
 -- -   #VUID-vkBuildAccelerationStructuresKHR-pInfos-03668# For each
 --     element of @pInfos@, if its @mode@ member is
@@ -4624,6 +4639,10 @@
   pure $ (pSizeInfo)
 
 
+-- No documentation found for TopLevel "VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR"
+pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR
+
+
 -- | VkWriteDescriptorSetAccelerationStructureKHR - Structure specifying
 -- acceleration structure descriptor information
 --
@@ -6259,7 +6278,7 @@
     --
     -- #VUID-VkAccelerationStructureVersionInfoKHR-pVersionData-parameter#
     -- @pVersionData@ /must/ be a valid pointer to an array of
-    -- @2@*'Vulkan.Core10.APIConstants.UUID_SIZE' @uint8_t@ values
+    -- \(2 \times \mathtt{VK\_UUID\_SIZE}\) @uint8_t@ values
     versionData :: ByteString }
   deriving (Typeable)
 #if defined(GENERIC_INSTANCES)
@@ -6306,13 +6325,13 @@
 --     'COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR'
 --
 -- -   #VUID-VkCopyAccelerationStructureInfoKHR-src-04963# The source
---     acceleration structure @src@ /must/ have been built prior to the
---     execution of this command
+--     acceleration structure @src@ /must/ have been constructed prior to
+--     the execution of this command
 --
 -- -   #VUID-VkCopyAccelerationStructureInfoKHR-src-03411# If @mode@ is
 --     'COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR', @src@ /must/ have
---     been built with
---     'BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR'
+--     been constructed with
+--     'BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR' in the build
 --
 -- -   #VUID-VkCopyAccelerationStructureInfoKHR-buffer-03718# The @buffer@
 --     used to create @src@ /must/ be bound to device memory
@@ -6411,8 +6430,8 @@
 -- == Valid Usage
 --
 -- -   #VUID-VkCopyAccelerationStructureToMemoryInfoKHR-src-04959# The
---     source acceleration structure @src@ /must/ have been built prior to
---     the execution of this command
+--     source acceleration structure @src@ /must/ have been constructed
+--     prior to the execution of this command
 --
 -- -   #VUID-VkCopyAccelerationStructureToMemoryInfoKHR-dst-03561# The
 --     memory pointed to by @dst@ /must/ be at least as large as the
@@ -6725,23 +6744,23 @@
 
 -- | 'GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR' disables face
 -- culling for this instance.
-pattern GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR    = GeometryInstanceFlagBitsKHR 0x00000001
--- | 'GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR' indicates
--- that the front face of the triangle for culling purposes is the face
--- that is counter clockwise in object space relative to the ray origin.
--- Because the facing is determined in object space, an instance transform
--- matrix does not change the winding, but a geometry transform does.
-pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR = GeometryInstanceFlagBitsKHR 0x00000002
+pattern GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR = GeometryInstanceFlagBitsKHR 0x00000001
+-- | 'GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR' indicates that the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#ray-traversal-culling-face facing determination>
+-- for geometry in this instance is inverted. Because the facing is
+-- determined in object space, an instance transform does not change the
+-- winding, but a geometry transform does.
+pattern GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR         = GeometryInstanceFlagBitsKHR 0x00000002
 -- | 'GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR' causes this instance to act as
 -- though 'GEOMETRY_OPAQUE_BIT_KHR' were specified on all geometries
 -- referenced by this instance. This behavior /can/ be overridden by the
 -- SPIR-V @NoOpaqueKHR@ ray flag.
-pattern GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR                    = GeometryInstanceFlagBitsKHR 0x00000004
+pattern GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR                 = GeometryInstanceFlagBitsKHR 0x00000004
 -- | 'GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR' causes this instance to act
 -- as though 'GEOMETRY_OPAQUE_BIT_KHR' were not specified on all geometries
 -- referenced by this instance. This behavior /can/ be overridden by the
 -- SPIR-V @OpaqueKHR@ ray flag.
-pattern GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR                 = GeometryInstanceFlagBitsKHR 0x00000008
+pattern GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR              = GeometryInstanceFlagBitsKHR 0x00000008
 
 conNameGeometryInstanceFlagBitsKHR :: String
 conNameGeometryInstanceFlagBitsKHR = "GeometryInstanceFlagBitsKHR"
@@ -6751,10 +6770,10 @@
 
 showTableGeometryInstanceFlagBitsKHR :: [(GeometryInstanceFlagBitsKHR, String)]
 showTableGeometryInstanceFlagBitsKHR =
-  [ (GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR   , "TRIANGLE_FACING_CULL_DISABLE_BIT_KHR")
-  , (GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR, "TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR")
-  , (GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR                   , "FORCE_OPAQUE_BIT_KHR")
-  , (GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR                , "FORCE_NO_OPAQUE_BIT_KHR")
+  [ (GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR, "TRIANGLE_FACING_CULL_DISABLE_BIT_KHR")
+  , (GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR        , "TRIANGLE_FLIP_FACING_BIT_KHR")
+  , (GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR                , "FORCE_OPAQUE_BIT_KHR")
+  , (GEOMETRY_INSTANCE_FORCE_NO_OPAQUE_BIT_KHR             , "FORCE_NO_OPAQUE_BIT_KHR")
   ]
 
 instance Show GeometryInstanceFlagBitsKHR where
@@ -7246,11 +7265,11 @@
                           AccelerationStructureCompatibilityKHR
 
 
-type KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11
+type KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 12
 
 -- No documentation found for TopLevel "VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION"
 pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION :: forall a . Integral a => a
-pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 11
+pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 12
 
 
 type KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure"
diff --git a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot
@@ -15,7 +15,7 @@
 --     151
 --
 -- [__Revision__]
---     11
+--     12
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -39,6 +39,8 @@
 --
 -- [__Contributors__]
 --
+--     -   Samuel Bourasseau, Adobe
+--
 --     -   Matthäus Chajdas, AMD
 --
 --     -   Greg Grebe, AMD
@@ -1079,6 +1081,15 @@
 --
 --     -   define sync for AS build inputs and indirect buffer
 --         (#2407,!4208)
+--
+-- -   Revision 12, 2021-08-06 (Samuel Bourasseau)
+--
+--     -   rename
+--         VK_GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR to
+--         VK_GEOMETRY_INSTANCE_TRIANGLE_FLIP_FACING_BIT_KHR (keep previous
+--         as alias).
+--
+--     -   Clarify description and add note.
 --
 -- = See Also
 --
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
@@ -2069,7 +2069,7 @@
 --     then for each element of @pRegions@, @srcSubresource.baseArrayLayer@
 --     and @dstSubresource.baseArrayLayer@ /must/ each be @0@, and
 --     @srcSubresource.layerCount@ and @dstSubresource.layerCount@ /must/
---     each be @1@.
+--     each be @1@
 --
 -- -   #VUID-VkBlitImageInfo2KHR-aspectMask-00241# For each element of
 --     @pRegions@, @srcSubresource.aspectMask@ /must/ specify aspects
@@ -2297,7 +2297,7 @@
 --     @pRegions@ contains
 --     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'
 --     in its @pNext@ chain, then @dstImage@ /must/ not have a
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>
 --
 -- -   #VUID-VkCopyBufferToImageInfo2KHR-pRegions-00171# @srcBuffer@ /must/
 --     be large enough to contain all buffer locations that are accessed
@@ -2376,7 +2376,7 @@
 --     element of @pRegions@, the @aspectMask@ member of @imageSubresource@
 --     /must/ not be
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'
 --
 -- -   #VUID-VkCopyBufferToImageInfo2KHR-pRegions-06223# For each element
 --     of @pRegions@ not containing
diff --git a/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs b/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs
@@ -695,13 +695,13 @@
 --     @waitSemaphoreValuesCount@ /must/ be the same value as
 --     'Vulkan.Core10.Queue.SubmitInfo'::@waitSemaphoreCount@, where
 --     'Vulkan.Core10.Queue.SubmitInfo' is in the @pNext@ chain of this
---     'D3D12FenceSubmitInfoKHR' structure.
+--     'D3D12FenceSubmitInfoKHR' structure
 --
 -- -   #VUID-VkD3D12FenceSubmitInfoKHR-signalSemaphoreValuesCount-00080#
 --     @signalSemaphoreValuesCount@ /must/ be the same value as
 --     'Vulkan.Core10.Queue.SubmitInfo'::@signalSemaphoreCount@, where
 --     'Vulkan.Core10.Queue.SubmitInfo' is in the @pNext@ chain of this
---     'D3D12FenceSubmitInfoKHR' structure.
+--     'D3D12FenceSubmitInfoKHR' structure
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs b/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs
--- a/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs
@@ -261,8 +261,9 @@
 --
 -- == Valid Usage
 --
--- -   [[VUID-{refpage}-pSurfaceInfo-06210]] @pSurfaceInfo->surface@ /must/
---     be supported by @physicalDevice@, as reported by
+-- -   #VUID-vkGetPhysicalDeviceSurfaceCapabilities2KHR-pSurfaceInfo-06210#
+--     @pSurfaceInfo->surface@ /must/ be supported by @physicalDevice@, as
+--     reported by
 --     'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'
 --     or an equivalent platform-specific mechanism
 --
@@ -359,8 +360,9 @@
 --
 -- == Valid Usage
 --
--- -   [[VUID-{refpage}-pSurfaceInfo-06210]] @pSurfaceInfo->surface@ /must/
---     be supported by @physicalDevice@, as reported by
+-- -   #VUID-vkGetPhysicalDeviceSurfaceFormats2KHR-pSurfaceInfo-06210#
+--     @pSurfaceInfo->surface@ /must/ be supported by @physicalDevice@, as
+--     reported by
 --     'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'
 --     or an equivalent platform-specific mechanism
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_incremental_present.hs b/src/Vulkan/Extensions/VK_KHR_incremental_present.hs
--- a/src/Vulkan/Extensions/VK_KHR_incremental_present.hs
+++ b/src/Vulkan/Extensions/VK_KHR_incremental_present.hs
@@ -385,7 +385,7 @@
 --     structure, /must/ be no greater than the @imageExtent@ member of the
 --     'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR'
 --     structure passed to
---     'Vulkan.Extensions.VK_KHR_swapchain.createSwapchainKHR'.
+--     'Vulkan.Extensions.VK_KHR_swapchain.createSwapchainKHR'
 --
 -- -   #VUID-VkRectLayerKHR-layer-01262# @layer@ /must/ be less than the
 --     @imageArrayLayers@ member of the
diff --git a/src/Vulkan/Extensions/VK_KHR_present_wait.hs b/src/Vulkan/Extensions/VK_KHR_present_wait.hs
--- a/src/Vulkan/Extensions/VK_KHR_present_wait.hs
+++ b/src/Vulkan/Extensions/VK_KHR_present_wait.hs
@@ -275,6 +275,10 @@
 -- -   #VUID-vkWaitForPresentKHR-swapchain-04997# @swapchain@ /must/ not be
 --     in the retired state
 --
+-- -   #VUID-vkWaitForPresentKHR-presentWait-06234# The
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-presentWait presentWait>
+--     feature /must/ be enabled
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkWaitForPresentKHR-device-parameter# @device@ /must/ be a
diff --git a/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs b/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs
--- a/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs
+++ b/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs
@@ -1051,41 +1051,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdTraceRaysKHR-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysKHR-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1094,7 +1094,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdTraceRaysKHR-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1103,7 +1103,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdTraceRaysKHR-None-03429# Any shader group handle
 --     referenced by this call /must/ have been queried from the currently
@@ -1926,41 +1926,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-sparseImageInt64Atomics-04474# If
 --     the
@@ -1970,7 +1970,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-sparseImageInt64Atomics-04475# If
 --     the
@@ -1980,7 +1980,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-None-03429# Any shader group handle
 --     referenced by this call /must/ have been queried from the currently
@@ -2764,8 +2764,7 @@
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03595# If the
 --     <VK_KHR_pipeline_library.html VK_KHR_pipeline_library> extension is
---     not enabled, @pLibraryInfo@ and @pLibraryInterface@ /must/ be
---     @NULL@.
+--     not enabled, @pLibraryInfo@ and @pLibraryInterface@ /must/ be @NULL@
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-flags-03470# If @flags@
 --     includes
diff --git a/src/Vulkan/Extensions/VK_KHR_surface.hs b/src/Vulkan/Extensions/VK_KHR_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_surface.hs
@@ -671,8 +671,8 @@
 --
 -- == Valid Usage
 --
--- -   [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by
---     @physicalDevice@, as reported by
+-- -   #VUID-vkGetPhysicalDeviceSurfaceCapabilitiesKHR-surface-06211#
+--     @surface@ /must/ be supported by @physicalDevice@, as reported by
 --     'getPhysicalDeviceSurfaceSupportKHR' or an equivalent
 --     platform-specific mechanism
 --
@@ -773,8 +773,8 @@
 --
 -- == Valid Usage
 --
--- -   [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by
---     @physicalDevice@, as reported by
+-- -   #VUID-vkGetPhysicalDeviceSurfaceFormatsKHR-surface-06211# @surface@
+--     /must/ be supported by @physicalDevice@, as reported by
 --     'getPhysicalDeviceSurfaceSupportKHR' or an equivalent
 --     platform-specific mechanism
 --
@@ -876,8 +876,8 @@
 --
 -- == Valid Usage
 --
--- -   [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by
---     @physicalDevice@, as reported by
+-- -   #VUID-vkGetPhysicalDeviceSurfacePresentModesKHR-surface-06211#
+--     @surface@ /must/ be supported by @physicalDevice@, as reported by
 --     'getPhysicalDeviceSurfaceSupportKHR' or an equivalent
 --     platform-specific mechanism
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_swapchain.hs b/src/Vulkan/Extensions/VK_KHR_swapchain.hs
--- a/src/Vulkan/Extensions/VK_KHR_swapchain.hs
+++ b/src/Vulkan/Extensions/VK_KHR_swapchain.hs
@@ -2223,8 +2223,8 @@
 --
 -- == Valid Usage
 --
--- -   [[VUID-{refpage}-surface-06211]] @surface@ /must/ be supported by
---     @physicalDevice@, as reported by
+-- -   #VUID-vkGetPhysicalDevicePresentRectanglesKHR-surface-06211#
+--     @surface@ /must/ be supported by @physicalDevice@, as reported by
 --     'Vulkan.Extensions.VK_KHR_surface.getPhysicalDeviceSurfaceSupportKHR'
 --     or an equivalent platform-specific mechanism
 --
@@ -2847,6 +2847,13 @@
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR'
 --     layout at the time the operation is executed on a
 --     'Vulkan.Core10.Handles.Device'
+--
+-- -   #VUID-VkPresentInfoKHR-pNext-06235# If a
+--     'Vulkan.Extensions.VK_KHR_present_id.PresentIdKHR' structure is
+--     included in the @pNext@ chain, and the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-presentId presentId>
+--     feature is not enabled, each @presentIds@ entry in that structure
+--     /must/ be NULL
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -726,7 +726,7 @@
 --     member of @pDependencyInfo@ /must/ be @0@
 --
 -- -   #VUID-vkCmdSetEvent2KHR-commandBuffer-03826# The current device mask
---     of @commandBuffer@ /must/ include exactly one physical device.
+--     of @commandBuffer@ /must/ include exactly one physical device
 --
 -- -   #VUID-vkCmdSetEvent2KHR-srcStageMask-03827# The @srcStageMask@
 --     member of any element of the @pMemoryBarriers@,
@@ -1943,7 +1943,7 @@
 --     create the command pool that @commandBuffer@ was allocated from
 --
 -- -   #VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03896# @dstOffset@ /must/
---     be less than or equal to the size of @dstBuffer@ minus @4@.
+--     be less than or equal to the size of @dstBuffer@ minus @4@
 --
 -- -   #VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03897# @dstBuffer@ /must/
 --     have been created with the
diff --git a/src/Vulkan/Extensions/VK_MVK_ios_surface.hs b/src/Vulkan/Extensions/VK_MVK_ios_surface.hs
--- a/src/Vulkan/Extensions/VK_MVK_ios_surface.hs
+++ b/src/Vulkan/Extensions/VK_MVK_ios_surface.hs
@@ -279,13 +279,13 @@
 -- -   #VUID-VkIOSSurfaceCreateInfoMVK-pView-04143# If @pView@ is a
 --     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer' object, it
 --     /must/ be a valid
---     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'.
+--     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'
 --
 -- -   #VUID-VkIOSSurfaceCreateInfoMVK-pView-01316# If @pView@ is a
 --     @UIView@ object, it /must/ be a valid @UIView@, /must/ be backed by
 --     a @CALayer@ object of type
 --     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer', and
---     'createIOSSurfaceMVK' /must/ be called on the main thread.
+--     'createIOSSurfaceMVK' /must/ be called on the main thread
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_MVK_macos_surface.hs b/src/Vulkan/Extensions/VK_MVK_macos_surface.hs
--- a/src/Vulkan/Extensions/VK_MVK_macos_surface.hs
+++ b/src/Vulkan/Extensions/VK_MVK_macos_surface.hs
@@ -282,13 +282,13 @@
 -- -   #VUID-VkMacOSSurfaceCreateInfoMVK-pView-04144# If @pView@ is a
 --     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer' object, it
 --     /must/ be a valid
---     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'.
+--     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer'
 --
 -- -   #VUID-VkMacOSSurfaceCreateInfoMVK-pView-01317# If @pView@ is an
 --     @NSView@ object, it /must/ be a valid @NSView@, /must/ be backed by
 --     a @CALayer@ object of type
 --     'Vulkan.Extensions.VK_EXT_metal_surface.CAMetalLayer', and
---     'createMacOSSurfaceMVK' /must/ be called on the main thread.
+--     'createMacOSSurfaceMVK' /must/ be called on the main thread
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -877,41 +877,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04474#
 --     If the
@@ -921,7 +921,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04475#
 --     If the
@@ -931,7 +931,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-renderPass-02684# The current
 --     render pass /must/ 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
@@ -310,14 +310,14 @@
 -- value for dynamic state that consists of multiple values (e.g. multiple
 -- viewports).
 --
--- -   With \(i\) being the index of the executed command buffer in the
+-- -   With i being the index of the executed command buffer in the
 --     @pCommandBuffers@ array of
---     'Vulkan.Core10.CommandBufferBuilding.cmdExecuteCommands', if
---     \(i > 0\) 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.
+--     'Vulkan.Core10.CommandBufferBuilding.cmdExecuteCommands', if i > 0
+--     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.
 --
 -- -   Otherwise, the tentatative inherited state is that of the primary
 --     command buffer at the point the
@@ -328,12 +328,12 @@
 -- -   If the provisional inherited state is an undefined value, then the
 --     state is not inherited.
 --
--- -   If the provisional inherited state is a viewport, with \(n\) being
---     its viewport index, then if \(n \ge\) @viewportDepthCount@, or if
---     either 'Vulkan.Core10.Pipeline.Viewport'::@minDepth@ or
+-- -   If the provisional inherited state is a viewport, with n being its
+--     viewport index, then if n ≥ @viewportDepthCount@, or if either
+--     'Vulkan.Core10.Pipeline.Viewport'::@minDepth@ or
 --     'Vulkan.Core10.Pipeline.Viewport'::@maxDepth@ are not equal to the
---     respective values of the \(n^{th}\) element of @pViewportDepths@,
---     then the state is not inherited.
+--     respective values of the nth element of @pViewportDepths@, then the
+--     state is not inherited.
 --
 -- -   If the provisional inherited state passes both checks, then it
 --     becomes the actual inherited state.
@@ -368,12 +368,12 @@
 --     then @pViewportDepths@ /must/ be a valid pointer to an array of
 --     @viewportDepthCount@ valid 'Vulkan.Core10.Pipeline.Viewport'
 --     structures, except any requirements on @x@, @y@, @width@, and
---     @height@ do not apply.
+--     @height@ do not apply
 --
 -- -   #VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04786#
 --     If @viewportScissor2D@ is 'Vulkan.Core10.FundamentalTypes.TRUE',
 --     then the command buffer /must/ be recorded with the
---     'Vulkan.Core10.Enums.CommandBufferUsageFlagBits.COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT'.
+--     'Vulkan.Core10.Enums.CommandBufferUsageFlagBits.COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT'
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -495,41 +495,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -538,7 +538,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -547,7 +547,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-renderPass-02684# The current render pass
 --     /must/ be
@@ -1074,41 +1074,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04474# If
 --     the
@@ -1118,7 +1118,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04475# If
 --     the
@@ -1128,7 +1128,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-renderPass-02684# The current
 --     render pass /must/ be
@@ -1700,41 +1700,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04474#
 --     If the
@@ -1744,7 +1744,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04475#
 --     If the
@@ -1754,7 +1754,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-renderPass-02684# The
 --     current render pass /must/ be
diff --git a/src/Vulkan/Extensions/VK_NV_ray_tracing.hs b/src/Vulkan/Extensions/VK_NV_ray_tracing.hs
--- a/src/Vulkan/Extensions/VK_NV_ray_tracing.hs
+++ b/src/Vulkan/Extensions/VK_NV_ray_tracing.hs
@@ -564,6 +564,7 @@
                                             , GeometryTypeKHR(..)
                                             , RayTracingShaderGroupTypeKHR(..)
                                             , MemoryRequirements2KHR
+                                            , pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR
                                             , SHADER_UNUSED_KHR
                                             , pattern SHADER_UNUSED_KHR
                                             ) where
@@ -723,8 +724,7 @@
 import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryInstanceFlagBitsKHR(GEOMETRY_INSTANCE_FORCE_OPAQUE_BIT_KHR))
 import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryInstanceFlagsKHR)
 import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryInstanceFlagBitsKHR(GEOMETRY_INSTANCE_TRIANGLE_FACING_CULL_DISABLE_BIT_KHR))
-import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryInstanceFlagsKHR)
-import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryInstanceFlagBitsKHR(GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR))
+import Vulkan.Extensions.VK_KHR_acceleration_structure (pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR)
 import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryFlagsKHR)
 import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryFlagBitsKHR(GEOMETRY_NO_DUPLICATE_ANY_HIT_INVOCATION_BIT_KHR))
 import Vulkan.Extensions.VK_KHR_acceleration_structure (GeometryFlagsKHR)
@@ -783,6 +783,7 @@
 import Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (RayTracingShaderGroupTypeKHR(..))
 import Vulkan.Core10.APIConstants (SHADER_UNUSED_KHR)
 import Vulkan.Extensions.VK_KHR_acceleration_structure (TransformMatrixKHR(..))
+import Vulkan.Extensions.VK_KHR_acceleration_structure (pattern GEOMETRY_INSTANCE_TRIANGLE_FRONT_COUNTERCLOCKWISE_BIT_KHR)
 import Vulkan.Core10.APIConstants (pattern SHADER_UNUSED_KHR)
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
@@ -1152,13 +1153,14 @@
 --     'Vulkan.Extensions.VK_KHR_acceleration_structure.COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR'
 --
 -- -   #VUID-vkCmdCopyAccelerationStructureNV-src-04963# The source
---     acceleration structure @src@ /must/ have been built prior to the
---     execution of this command
+--     acceleration structure @src@ /must/ have been constructed prior to
+--     the execution of this command
 --
 -- -   #VUID-vkCmdCopyAccelerationStructureNV-src-03411# If @mode@ is
 --     'Vulkan.Extensions.VK_KHR_acceleration_structure.COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR',
---     @src@ /must/ have been built with
+--     @src@ /must/ have been constructed with
 --     'Vulkan.Extensions.VK_KHR_acceleration_structure.BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR'
+--     in the build
 --
 -- -   #VUID-vkCmdCopyAccelerationStructureNV-buffer-03718# The @buffer@
 --     used to create @src@ /must/ be bound to device memory
@@ -1433,9 +1435,10 @@
 --     'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- -   #VUID-vkCmdBuildAccelerationStructureNV-update-02490# If @update@ is
---     'Vulkan.Core10.FundamentalTypes.TRUE', @src@ /must/ have been built
---     before with 'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV' set
---     in 'AccelerationStructureInfoNV'::@flags@
+--     'Vulkan.Core10.FundamentalTypes.TRUE', @src@ /must/ have previously
+--     been constructed with
+--     'BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV' set in
+--     'AccelerationStructureInfoNV'::@flags@ in the original build
 --
 -- -   #VUID-vkCmdBuildAccelerationStructureNV-update-02491# If @update@ is
 --     'Vulkan.Core10.FundamentalTypes.FALSE', the @size@ member of the
@@ -1781,41 +1784,41 @@
 --     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     image view’s format.
+--     image view’s format
 --
 -- -   #VUID-vkCmdTraceRaysNV-OpImageWrite-04469# If a
 --     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
 --     as a result of this command, then the @Type@ of the @Texel@ operand
 --     of that instruction /must/ have at least as many components as the
---     buffer view’s format.
+--     buffer view’s format
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
 --     is accessed as a result of this command, the @SampledType@ of the
 --     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64.
+--     64
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
 --     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
---     /must/ have a @Width@ of 32.
+--     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04474# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1824,7 +1827,7 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04475# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
@@ -1833,7 +1836,7 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
 --     flag /must/ not be accessed by atomic instructions through an
 --     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
---     command.
+--     command
 --
 -- -   #VUID-vkCmdTraceRaysNV-None-03429# Any shader group handle
 --     referenced by this call /must/ have been queried from the currently
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,12 +48,11 @@
 --
 -- This extension adds a new
 -- 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp'
--- 'Vulkan.Core10.Enums.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' 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.
 --
 -- Note
 --
@@ -62,9 +61,9 @@
 -- force an implementation to assume that the attachment was written and
 -- force an implementation to flush data to memory or to a higher level
 -- cache. The 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp'
--- 'Vulkan.Core10.Enums.AttachmentStoreOp.ATTACHMENT_STORE_OP_NONE_QCOM'
--- /may/ allow an implementation to assume that the attachment was not
--- written and allow an implementation to avoid such a flush..
+-- 'ATTACHMENT_STORE_OP_NONE_QCOM' /may/ allow an implementation to assume
+-- that the attachment was not written and allow an implementation to avoid
+-- such a flush..
 --
 -- == New Enum Constants
 --
@@ -74,7 +73,7 @@
 --
 -- -   Extending 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp':
 --
---     -   'Vulkan.Core10.Enums.AttachmentStoreOp.ATTACHMENT_STORE_OP_NONE_QCOM'
+--     -   'ATTACHMENT_STORE_OP_NONE_QCOM'
 --
 -- == Version History
 --
@@ -97,13 +96,18 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_QCOM_render_pass_store_ops  ( QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION
+module Vulkan.Extensions.VK_QCOM_render_pass_store_ops  ( pattern ATTACHMENT_STORE_OP_NONE_QCOM
+                                                        , QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION
                                                         , pattern QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION
                                                         , QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME
                                                         , pattern QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME
                                                         ) where
 
 import Data.String (IsString)
+import Vulkan.Core10.Enums.AttachmentStoreOp (AttachmentStoreOp(ATTACHMENT_STORE_OP_NONE_EXT))
+-- No documentation found for TopLevel "VK_ATTACHMENT_STORE_OP_NONE_QCOM"
+pattern ATTACHMENT_STORE_OP_NONE_QCOM = ATTACHMENT_STORE_OP_NONE_EXT
+
 
 type QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION = 2
 
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.11.5
+version:        3.12
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
@@ -318,6 +318,7 @@
       Vulkan.Extensions.VK_EXT_index_type_uint8
       Vulkan.Extensions.VK_EXT_inline_uniform_block
       Vulkan.Extensions.VK_EXT_line_rasterization
+      Vulkan.Extensions.VK_EXT_load_store_op_none
       Vulkan.Extensions.VK_EXT_memory_budget
       Vulkan.Extensions.VK_EXT_memory_priority
       Vulkan.Extensions.VK_EXT_metal_surface
