diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.24.1] - 2022-12-27
+- Bump API version to v1.3.236
+
 ## [3.24] - 2022-12-27
 - Bump API version to v1.3.235
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.24"
+version: "3.24.1"
 synopsis: Bindings to the Vulkan graphics API.
 description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category: Graphics
diff --git a/src/Vulkan/CStruct/Extends.hs b/src/Vulkan/CStruct/Extends.hs
--- a/src/Vulkan/CStruct/Extends.hs
+++ b/src/Vulkan/CStruct/Extends.hs
@@ -223,6 +223,8 @@
 import {-# SOURCE #-} Vulkan.Core10.Device (DeviceQueueCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_global_priority (DeviceQueueGlobalPriorityCreateInfoKHR)
 import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (DeviceQueueInfo2)
+import {-# SOURCE #-} Vulkan.Extensions.VK_LUNARG_direct_driver_loading (DirectDriverLoadingInfoLUNARG)
+import {-# SOURCE #-} Vulkan.Extensions.VK_LUNARG_direct_driver_loading (DirectDriverLoadingListLUNARG)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_directfb_surface (DirectFBSurfaceCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Core10.OtherTypes (DispatchIndirectCommand)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DisplayEventInfoEXT)
@@ -539,6 +541,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled (PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_multiview_per_view_attributes (PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX)
+import {-# SOURCE #-} Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports (PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_non_seamless_cube_map (PhysicalDeviceNonSeamlessCubeMapFeaturesEXT)
@@ -1153,6 +1156,7 @@
   Extends DeviceCreateInfo PhysicalDeviceFaultFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderCoreBuiltinsFeaturesARM = ()
   Extends DeviceCreateInfo PhysicalDeviceRayTracingInvocationReorderFeaturesNV = ()
+  Extends DeviceCreateInfo PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = ()
   Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoKHR = ()
   Extends EventCreateInfo ExportMetalObjectCreateInfoEXT = ()
   Extends EventCreateInfo ImportMetalSharedEventInfoEXT = ()
@@ -1220,6 +1224,7 @@
   Extends InstanceCreateInfo ValidationFeaturesEXT = ()
   Extends InstanceCreateInfo DebugUtilsMessengerCreateInfoEXT = ()
   Extends InstanceCreateInfo ExportMetalObjectCreateInfoEXT = ()
+  Extends InstanceCreateInfo DirectDriverLoadingListLUNARG = ()
   Extends MemoryAllocateInfo DedicatedAllocationMemoryAllocateInfoNV = ()
   Extends MemoryAllocateInfo ExportMemoryAllocateInfoNV = ()
   Extends MemoryAllocateInfo ImportMemoryWin32HandleInfoNV = ()
@@ -1383,6 +1388,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceFaultFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderCoreBuiltinsFeaturesARM = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceRayTracingInvocationReorderFeaturesNV = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = ()
   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()
   Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = ()
   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()
@@ -2080,6 +2086,8 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM -> go @PhysicalDeviceShaderCoreBuiltinsFeaturesARM
   STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV -> go @PhysicalDeviceRayTracingInvocationReorderFeaturesNV
   STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV -> go @PhysicalDeviceRayTracingInvocationReorderPropertiesNV
+  STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG -> go @DirectDriverLoadingListLUNARG
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM -> go @PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
   t -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("Unrecognized struct type: " <> show t) Nothing Nothing
  where
   go :: forall e . (Typeable e, FromCStruct e, ToCStruct e, Show e) => IO b
@@ -2546,6 +2554,8 @@
 {-# complete (::&) :: PhysicalDeviceShaderCoreBuiltinsFeaturesARM #-}
 {-# complete (::&) :: PhysicalDeviceRayTracingInvocationReorderFeaturesNV #-}
 {-# complete (::&) :: PhysicalDeviceRayTracingInvocationReorderPropertiesNV #-}
+{-# complete (::&) :: DirectDriverLoadingListLUNARG #-}
+{-# complete (::&) :: PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM #-}
 
 -- | View the head and tail of a 'Chain', see '::&'
 --
diff --git a/src/Vulkan/CStruct/Utils.hs b/src/Vulkan/CStruct/Utils.hs
--- a/src/Vulkan/CStruct/Utils.hs
+++ b/src/Vulkan/CStruct/Utils.hs
@@ -39,9 +39,9 @@
 import Foreign.Ptr (Ptr)
 import GHC.TypeNats (type(<=))
 import GHC.TypeNats (KnownNat)
+import GHC.TypeNats (Nat)
 import Data.Word (Word8)
 import Data.ByteString (ByteString)
-import GHC.TypeNats (Nat)
 import Data.Kind (Type)
 import Data.Vector (Vector)
 import qualified Data.Vector.Generic (Vector)
diff --git a/src/Vulkan/Core10/BufferView.hs b/src/Vulkan/Core10/BufferView.hs
--- a/src/Vulkan/Core10/BufferView.hs
+++ b/src/Vulkan/Core10/BufferView.hs
@@ -344,7 +344,7 @@
 --     includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT'
 --     structure, its @exportObjectType@ member /must/ be
---     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT'.
+--     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT'
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -413,7 +413,7 @@
 --     'Vulkan.Core10.FundamentalTypes.TRUE', then the value of
 --     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pMultisampleState@::@rasterizationSamples@
 --     /must/ be equal to
---     'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT'::@rasterizationSamples@.
+--     'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT'::@rasterizationSamples@
 --
 -- -   #VUID-vkCmdBindPipeline-pipelineBindPoint-06653# If
 --     @pipelineBindPoint@ is
@@ -2114,7 +2114,7 @@
 -- -   #VUID-vkCmdDraw-None-08119# If a descriptor is dynamically used with
 --     a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDraw-None-02700# A valid pipeline /must/ be bound to the
 --     pipeline bind point used by this command
@@ -2211,6 +2211,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDraw-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDraw-format-07753# If a 'Vulkan.Core10.Handles.ImageView'
+--     is accessed as a result of this command, then the image view’s
+--     @format@ /must/ match the numeric format from the @Sampled@ @Type@
+--     operand of the @OpTypeImage@ as described in the SPIR-V Sampled Type
+--     column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #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
@@ -2312,21 +2326,21 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDraw-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDraw-OpImageWeightedSampleQCOM-06978# If any command
 --     other than @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ not have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDraw-None-07288# Any shader invocation executed by this
 --     command /must/
@@ -2347,8 +2361,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDraw-None-02686# Every input attachment used by the
---     current subpass /must/ be bound to the pipeline via a descriptor set
+-- -   #VUID-vkCmdDraw-None-07748# If any shader statically accesses an
+--     input attachment, a valid descriptor /must/ be bound to the pipeline
+--     via a descriptor set
 --
 -- -   #VUID-vkCmdDraw-OpTypeImage-07468# If any shader executed by this
 --     pipeline accesses an @OpTypeImage@ variable with a @Dim@ operand of
@@ -2358,10 +2373,11 @@
 -- -   #VUID-vkCmdDraw-None-07469# Input attachment views accessed in a
 --     subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDraw-None-06537# Memory backing image subresources used
 --     as attachments in the current render pass /must/ not be written in
@@ -2688,28 +2704,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDraw-attachmentCount-06667# If the bound graphics
---     pipeline state was created with the
+-- -   #VUID-vkCmdDraw-None-07749# If the bound graphics pipeline state was
+--     created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDraw-attachmentCount-07750# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDraw-attachmentCount-06815# If the bound graphics
---     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDraw-None-07751# If the bound graphics pipeline state was
+--     created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDraw-pDepthAttachment-06181# If the current render pass
 --     instance was begun with
@@ -2895,7 +2913,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDraw-primitivesGeneratedQueryWithNonZeroStreams-06709# If
 --     the
@@ -2904,7 +2922,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDraw-None-07619# If the bound graphics pipeline state was
 --     created with the
@@ -3902,7 +3920,7 @@
 -- -   #VUID-vkCmdDrawIndexed-None-08119# If a descriptor is dynamically
 --     used with a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawIndexed-None-02700# A valid pipeline /must/ be bound
 --     to the pipeline bind point used by this command
@@ -4001,6 +4019,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawIndexed-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawIndexed-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawIndexed-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
@@ -4103,14 +4135,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawIndexed-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndexed-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -4118,7 +4150,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndexed-None-07288# Any shader invocation executed by
 --     this command /must/
@@ -4140,9 +4172,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawIndexed-None-02686# Every input attachment used by
---     the current subpass /must/ be bound to the pipeline via a descriptor
---     set
+-- -   #VUID-vkCmdDrawIndexed-None-07748# If any shader statically accesses
+--     an input attachment, a valid descriptor /must/ be bound to the
+--     pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawIndexed-OpTypeImage-07468# If any shader executed by
 --     this pipeline accesses an @OpTypeImage@ variable with a @Dim@
@@ -4153,10 +4185,11 @@
 -- -   #VUID-vkCmdDrawIndexed-None-07469# Input attachment views accessed
 --     in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawIndexed-None-06537# Memory backing image subresources
 --     used as attachments in the current render pass /must/ not be written
@@ -4483,28 +4516,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawIndexed-attachmentCount-06667# If the bound graphics
---     pipeline state was created with the
+-- -   #VUID-vkCmdDrawIndexed-None-07749# If the bound graphics pipeline
+--     state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawIndexed-attachmentCount-07750# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawIndexed-attachmentCount-06815# If the bound graphics
---     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawIndexed-None-07751# If the bound graphics pipeline
+--     state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-pDepthAttachment-06181# If the current render
 --     pass instance was begun with
@@ -4690,7 +4725,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawIndexed-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -4699,7 +4734,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawIndexed-None-07619# If the bound graphics pipeline
 --     state was created with the
@@ -5695,7 +5730,7 @@
 -- -   #VUID-vkCmdDrawIndirect-None-08119# If a descriptor is dynamically
 --     used with a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawIndirect-None-02700# A valid pipeline /must/ be bound
 --     to the pipeline bind point used by this command
@@ -5794,6 +5829,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawIndirect-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawIndirect-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawIndirect-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
@@ -5896,14 +5945,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawIndirect-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndirect-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -5911,7 +5960,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndirect-None-07288# Any shader invocation executed
 --     by this command /must/
@@ -5933,9 +5982,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawIndirect-None-02686# Every input attachment used by
---     the current subpass /must/ be bound to the pipeline via a descriptor
---     set
+-- -   #VUID-vkCmdDrawIndirect-None-07748# If any shader statically
+--     accesses an input attachment, a valid descriptor /must/ be bound to
+--     the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawIndirect-OpTypeImage-07468# If any shader executed by
 --     this pipeline accesses an @OpTypeImage@ variable with a @Dim@
@@ -5946,10 +5995,11 @@
 -- -   #VUID-vkCmdDrawIndirect-None-07469# Input attachment views accessed
 --     in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawIndirect-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -6277,28 +6327,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawIndirect-attachmentCount-06667# If the bound graphics
---     pipeline state was created with the
+-- -   #VUID-vkCmdDrawIndirect-None-07749# If the bound graphics pipeline
+--     state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawIndirect-attachmentCount-07750# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawIndirect-attachmentCount-06815# If the bound graphics
---     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawIndirect-None-07751# If the bound graphics pipeline
+--     state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-pDepthAttachment-06181# If the current
 --     render pass instance was begun with
@@ -6484,7 +6536,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawIndirect-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -6493,7 +6545,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawIndirect-None-07619# If the bound graphics pipeline
 --     state was created with the
@@ -7499,7 +7551,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-02700# A valid pipeline /must/
 --     be bound to the pipeline bind point used by this command
@@ -7598,6 +7650,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawIndexedIndirect-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawIndexedIndirect-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawIndexedIndirect-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
@@ -7700,14 +7766,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-OpImageWeightedSampleQCOM-06978# If
 --     any command other than @OpImageWeightedSampleQCOM@,
@@ -7715,7 +7781,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -7737,9 +7803,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawIndexedIndirect-None-02686# Every input attachment
---     used by the current subpass /must/ be bound to the pipeline via a
---     descriptor set
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-07748# If any shader statically
+--     accesses an input attachment, a valid descriptor /must/ be bound to
+--     the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -7750,10 +7816,11 @@
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-07469# Input attachment views
 --     accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -8081,28 +8148,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawIndexedIndirect-attachmentCount-06667# If the bound
---     graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-07749# If the bound graphics
+--     pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawIndexedIndirect-attachmentCount-07750# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawIndexedIndirect-attachmentCount-06815# If the bound
---     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-07751# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-pDepthAttachment-06181# If the
 --     current render pass instance was begun with
@@ -8288,7 +8357,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -8297,7 +8366,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-07619# If the bound graphics
 --     pipeline state was created with the
@@ -9303,7 +9372,7 @@
 -- -   #VUID-vkCmdDispatch-None-08119# If a descriptor is dynamically used
 --     with a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDispatch-None-02700# A valid pipeline /must/ be bound to
 --     the pipeline bind point used by this command
@@ -9402,6 +9471,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDispatch-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDispatch-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDispatch-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
@@ -9504,21 +9587,21 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDispatch-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDispatch-OpImageWeightedSampleQCOM-06978# If any command
 --     other than @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ not have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDispatch-None-07288# Any shader invocation executed by
 --     this command /must/
@@ -9810,7 +9893,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDispatchIndirect-None-02700# A valid pipeline /must/ be
 --     bound to the pipeline bind point used by this command
@@ -9909,6 +9992,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDispatchIndirect-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDispatchIndirect-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDispatchIndirect-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
@@ -10011,14 +10108,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDispatchIndirect-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDispatchIndirect-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -10026,7 +10123,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDispatchIndirect-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -10561,6 +10658,16 @@
 --     'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D', then for each element
 --     of @pRegions@, @dstOffset.z@ /must/ be @0@
 --
+-- -   #VUID-vkCmdCopyImage-srcImage-07743# If @srcImage@ and @dstImage@
+--     have a different 'Vulkan.Core10.Enums.ImageType.ImageType', one
+--     /must/ be 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D' and the
+--     other /must/ be 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D'
+--
+-- -   #VUID-vkCmdCopyImage-srcImage-07744# If @srcImage@ and @dstImage@
+--     have the same 'Vulkan.Core10.Enums.ImageType.ImageType', the
+--     @layerCount@ member of @srcSubresource@ and @dstSubresource@ in each
+--     element of @pRegions@ /must/ match
+--
 -- -   #VUID-vkCmdCopyImage-srcImage-01790# If @srcImage@ and @dstImage@
 --     are both of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D', then
 --     for each element of @pRegions@, @extent.depth@ /must/ be @1@
@@ -10710,6 +10817,9 @@
 --     'Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo'::@stencilUsage@
 --     used to create @dstImage@
 --
+-- -   #VUID-vkCmdCopyImage-srcImage-07745# @srcImage@ and @dstImage@
+--     /must/ have the same sample count
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdCopyImage-commandBuffer-parameter# @commandBuffer@ /must/
@@ -11329,80 +11439,21 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
 --     is not supported, @dstImage@ /must/ not be an unprotected image
 --
--- -   #VUID-vkCmdCopyBufferToImage-pRegions-06217# The image region
---     specified by each element of @pRegions@ /must/ be contained within
---     the specified @imageSubresource@ of @dstImage@
---
--- -   #VUID-vkCmdCopyBufferToImage-pRegions-00171# @srcBuffer@ /must/ be
---     large enough to contain all buffer locations that are accessed
---     according to
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-addressing Buffer and Image Addressing>,
---     for each element of @pRegions@
---
--- -   #VUID-vkCmdCopyBufferToImage-pRegions-00173# The union of all source
---     regions, and the union of all destination regions, specified by the
---     elements of @pRegions@, /must/ not overlap in memory
---
--- -   #VUID-vkCmdCopyBufferToImage-srcBuffer-00174# @srcBuffer@ /must/
---     have been created with
---     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_SRC_BIT'
---     usage flag
---
--- -   #VUID-vkCmdCopyBufferToImage-dstImage-01997# The
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-format-features format features>
---     of @dstImage@ /must/ contain
---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_TRANSFER_DST_BIT'
---
--- -   #VUID-vkCmdCopyBufferToImage-srcBuffer-00176# If @srcBuffer@ is
---     non-sparse then it /must/ be bound completely and contiguously to a
---     single 'Vulkan.Core10.Handles.DeviceMemory' object
---
--- -   #VUID-vkCmdCopyBufferToImage-dstImage-00177# @dstImage@ /must/ have
---     been created with
---     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'
---     usage flag
---
--- -   #VUID-vkCmdCopyBufferToImage-dstImage-00178# If @dstImage@ is
---     non-sparse then it /must/ be bound completely and contiguously to a
---     single 'Vulkan.Core10.Handles.DeviceMemory' object
---
--- -   #VUID-vkCmdCopyBufferToImage-dstImage-00179# @dstImage@ /must/ have
---     a sample count equal to
---     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'
---
--- -   #VUID-vkCmdCopyBufferToImage-dstImageLayout-00180# @dstImageLayout@
---     /must/ specify the layout of the image subresources of @dstImage@
---     specified in @pRegions@ at the time this command is executed on a
---     'Vulkan.Core10.Handles.Device'
---
--- -   #VUID-vkCmdCopyBufferToImage-dstImageLayout-01396# @dstImageLayout@
---     /must/ be
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL',
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL', or
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR'
---
--- -   #VUID-vkCmdCopyBufferToImage-imageSubresource-01701# The
---     @imageSubresource.mipLevel@ member of each element of @pRegions@
---     /must/ be less than the @mipLevels@ specified in
---     'Vulkan.Core10.Image.ImageCreateInfo' when @dstImage@ was created
---
--- -   #VUID-vkCmdCopyBufferToImage-imageSubresource-01702# The
---     @imageSubresource.baseArrayLayer@ + @imageSubresource.layerCount@ of
---     each element of @pRegions@ /must/ be less than or equal to the
---     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'
---     when @dstImage@ was created
+-- -   #VUID-vkCmdCopyBufferToImage-commandBuffer-07737# If the queue
+--     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
+--     @commandBuffer@ was allocated from does not support
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
+--     @bufferOffset@ member of any element of @pRegions@ /must/ be a
+--     multiple of @4@
 --
--- -   #VUID-vkCmdCopyBufferToImage-imageOffset-01793# The @imageOffset@
+-- -   #VUID-vkCmdCopyBufferToImage-imageOffset-07738# The @imageOffset@
 --     and @imageExtent@ members of each element of @pRegions@ /must/
 --     respect the image transfer granularity requirements of
 --     @commandBuffer@’s command pool’s queue family, as described in
 --     'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties'
 --
--- -   #VUID-vkCmdCopyBufferToImage-dstImage-02543# @dstImage@ /must/ not
---     have been created with @flags@ containing
---     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
---
--- -   #VUID-vkCmdCopyBufferToImage-commandBuffer-04477# If the queue
+-- -   #VUID-vkCmdCopyBufferToImage-commandBuffer-07739# If the queue
 --     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
 --     @commandBuffer@ was allocated from does not support
 --     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT', for each
@@ -11411,18 +11462,6 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'
 --
--- -   #VUID-vkCmdCopyBufferToImage-pRegions-06218# For each element of
---     @pRegions@, @imageOffset.x@ and (@imageExtent.width@ +
---     @imageOffset.x@) /must/ both be greater than or equal to @0@ and
---     less than or equal to the width of the specified @imageSubresource@
---     of @dstImage@
---
--- -   #VUID-vkCmdCopyBufferToImage-pRegions-06219# For each element of
---     @pRegions@, @imageOffset.y@ and (@imageExtent.height@ +
---     @imageOffset.y@) /must/ both be greater than or equal to @0@ and
---     less than or equal to the height of the specified @imageSubresource@
---     of @dstImage@
---
 -- -   #VUID-vkCmdCopyBufferToImage-bufferOffset-01558# If @dstImage@ does
 --     not have either a depth\/stencil or a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,
@@ -11509,17 +11548,24 @@
 --     @pRegions@, @imageSubresource.aspectMask@ /must/ specify aspects
 --     present in @dstImage@
 --
--- -   #VUID-vkCmdCopyBufferToImage-aspectMask-01560# If @dstImage@ has a
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-07740# If @dstImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion two planes>
 --     then for each element of @pRegions@, @imageSubresource.aspectMask@
 --     /must/ be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT'
+--
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-07741# If @dstImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion three planes>
+--     then for each element of @pRegions@, @imageSubresource.aspectMask@
+--     /must/ be
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',
 --     or
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     (with
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     valid only for image formats with three planes)
 --
 -- -   #VUID-vkCmdCopyBufferToImage-baseArrayLayer-00213# If @dstImage@ is
 --     of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D', for each
@@ -11532,18 +11578,89 @@
 --     and then multiplied by the texel block size of @dstImage@ /must/ be
 --     less than or equal to 231-1
 --
--- -   #VUID-vkCmdCopyBufferToImage-commandBuffer-04052# If the queue
---     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
---     @commandBuffer@ was allocated from does not support
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
---     @bufferOffset@ member of any element of @pRegions@ /must/ be a
---     multiple of @4@
---
 -- -   #VUID-vkCmdCopyBufferToImage-srcImage-04053# If @dstImage@ has a
 --     depth\/stencil format, the @bufferOffset@ member of any element of
 --     @pRegions@ /must/ be a multiple of @4@
 --
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-00171# @srcBuffer@ /must/ be
+--     large enough to contain all buffer locations that are accessed
+--     according to
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-addressing Buffer and Image Addressing>,
+--     for each element of @pRegions@
+--
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-00173# The union of all source
+--     regions, and the union of all destination regions, specified by the
+--     elements of @pRegions@, /must/ not overlap in memory
+--
+-- -   #VUID-vkCmdCopyBufferToImage-srcBuffer-00174# @srcBuffer@ /must/
+--     have been created with
+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_SRC_BIT'
+--     usage flag
+--
+-- -   #VUID-vkCmdCopyBufferToImage-dstImage-01997# The
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-format-features format features>
+--     of @dstImage@ /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_TRANSFER_DST_BIT'
+--
+-- -   #VUID-vkCmdCopyBufferToImage-srcBuffer-00176# If @srcBuffer@ is
+--     non-sparse then it /must/ be bound completely and contiguously to a
+--     single 'Vulkan.Core10.Handles.DeviceMemory' object
+--
+-- -   #VUID-vkCmdCopyBufferToImage-dstImage-00177# @dstImage@ /must/ have
+--     been created with
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'
+--     usage flag
+--
+-- -   #VUID-vkCmdCopyBufferToImage-dstImage-00178# If @dstImage@ is
+--     non-sparse then it /must/ be bound completely and contiguously to a
+--     single 'Vulkan.Core10.Handles.DeviceMemory' object
+--
+-- -   #VUID-vkCmdCopyBufferToImage-dstImage-00179# @dstImage@ /must/ have
+--     a sample count equal to
+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'
+--
+-- -   #VUID-vkCmdCopyBufferToImage-dstImageLayout-00180# @dstImageLayout@
+--     /must/ specify the layout of the image subresources of @dstImage@
+--     specified in @pRegions@ at the time this command is executed on a
+--     'Vulkan.Core10.Handles.Device'
+--
+-- -   #VUID-vkCmdCopyBufferToImage-dstImageLayout-01396# @dstImageLayout@
+--     /must/ be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL',
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL', or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR'
+--
+-- -   #VUID-vkCmdCopyBufferToImage-imageSubresource-01701# The
+--     @imageSubresource.mipLevel@ member of each element of @pRegions@
+--     /must/ be less than the @mipLevels@ specified in
+--     'Vulkan.Core10.Image.ImageCreateInfo' when @dstImage@ was created
+--
+-- -   #VUID-vkCmdCopyBufferToImage-imageSubresource-01702# The
+--     @imageSubresource.baseArrayLayer@ + @imageSubresource.layerCount@ of
+--     each element of @pRegions@ /must/ be less than or equal to the
+--     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'
+--     when @dstImage@ was created
+--
+-- -   #VUID-vkCmdCopyBufferToImage-dstImage-02543# @dstImage@ /must/ not
+--     have been created with @flags@ containing
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
+--
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-06217# The image region
+--     specified by each element of @pRegions@ /must/ be contained within
+--     the specified @imageSubresource@ of @dstImage@
+--
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-06218# For each element of
+--     @pRegions@, @imageOffset.x@ and (@imageExtent.width@ +
+--     @imageOffset.x@) /must/ both be greater than or equal to @0@ and
+--     less than or equal to the width of the specified @imageSubresource@
+--     of @dstImage@
+--
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-06219# For each element of
+--     @pRegions@, @imageOffset.y@ and (@imageExtent.height@ +
+--     @imageOffset.y@) /must/ both be greater than or equal to @0@ and
+--     less than or equal to the height of the specified @imageSubresource@
+--     of @dstImage@
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdCopyBufferToImage-commandBuffer-parameter#
@@ -11688,91 +11805,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
 --     is not supported, @dstBuffer@ /must/ not be an unprotected buffer
 --
--- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06220# The image region
---     specified by each element of @pRegions@ /must/ be contained within
---     the specified @imageSubresource@ of @srcImage@
---
--- -   #VUID-vkCmdCopyImageToBuffer-pRegions-00183# @dstBuffer@ /must/ be
---     large enough to contain all buffer locations that are accessed
---     according to
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-addressing Buffer and Image Addressing>,
---     for each element of @pRegions@
---
--- -   #VUID-vkCmdCopyImageToBuffer-pRegions-00184# The union of all source
---     regions, and the union of all destination regions, specified by the
---     elements of @pRegions@, /must/ not overlap in memory
---
--- -   #VUID-vkCmdCopyImageToBuffer-srcImage-00186# @srcImage@ /must/ have
---     been created with
---     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_SRC_BIT'
---     usage flag
---
--- -   #VUID-vkCmdCopyImageToBuffer-srcImage-01998# The
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-format-features format features>
---     of @srcImage@ /must/ contain
---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_TRANSFER_SRC_BIT'
---
--- -   #VUID-vkCmdCopyImageToBuffer-srcImage-00187# If @srcImage@ is
---     non-sparse then it /must/ be bound completely and contiguously to a
---     single 'Vulkan.Core10.Handles.DeviceMemory' object
---
--- -   #VUID-vkCmdCopyImageToBuffer-dstBuffer-00191# @dstBuffer@ /must/
---     have been created with
---     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_DST_BIT'
---     usage flag
---
--- -   #VUID-vkCmdCopyImageToBuffer-dstBuffer-00192# If @dstBuffer@ is
---     non-sparse then it /must/ be bound completely and contiguously to a
---     single 'Vulkan.Core10.Handles.DeviceMemory' object
---
--- -   #VUID-vkCmdCopyImageToBuffer-srcImage-00188# @srcImage@ /must/ have
---     a sample count equal to
---     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'
---
--- -   #VUID-vkCmdCopyImageToBuffer-srcImageLayout-00189# @srcImageLayout@
---     /must/ specify the layout of the image subresources of @srcImage@
---     specified in @pRegions@ at the time this command is executed on a
---     'Vulkan.Core10.Handles.Device'
---
--- -   #VUID-vkCmdCopyImageToBuffer-srcImageLayout-01397# @srcImageLayout@
---     /must/ be
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL',
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL', or
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR'
---
--- -   #VUID-vkCmdCopyImageToBuffer-imageSubresource-01703# The
---     @imageSubresource.mipLevel@ member of each element of @pRegions@
---     /must/ be less than the @mipLevels@ specified in
---     'Vulkan.Core10.Image.ImageCreateInfo' when @srcImage@ was created
---
--- -   #VUID-vkCmdCopyImageToBuffer-imageSubresource-01704# The
---     @imageSubresource.baseArrayLayer@ + @imageSubresource.layerCount@ of
---     each element of @pRegions@ /must/ be less than or equal to the
---     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'
---     when @srcImage@ was created
+-- -   #VUID-vkCmdCopyImageToBuffer-commandBuffer-07746# If the queue
+--     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
+--     @commandBuffer@ was allocated from does not support
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
+--     @bufferOffset@ member of any element of @pRegions@ /must/ be a
+--     multiple of @4@
 --
--- -   #VUID-vkCmdCopyImageToBuffer-imageOffset-01794# The @imageOffset@
+-- -   #VUID-vkCmdCopyImageToBuffer-imageOffset-07747# The @imageOffset@
 --     and @imageExtent@ members of each element of @pRegions@ /must/
 --     respect the image transfer granularity requirements of
 --     @commandBuffer@’s command pool’s queue family, as described in
 --     'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties'
 --
--- -   #VUID-vkCmdCopyImageToBuffer-srcImage-02544# @srcImage@ /must/ not
---     have been created with @flags@ containing
---     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
---
--- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06221# For each element of
---     @pRegions@, @imageOffset.x@ and (@imageExtent.width@ +
---     @imageOffset.x@) /must/ both be greater than or equal to @0@ and
---     less than or equal to the width of the specified @imageSubresource@
---     of @srcImage@
---
--- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06222# For each element of
---     @pRegions@, @imageOffset.y@ and (imageExtent.height +
---     @imageOffset.y@) /must/ both be greater than or equal to @0@ and
---     less than or equal to the height of the specified @imageSubresource@
---     of @srcImage@
---
 -- -   #VUID-vkCmdCopyImageToBuffer-bufferOffset-01558# If @srcImage@ does
 --     not have either a depth\/stencil or a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,
@@ -11859,17 +11905,24 @@
 --     @pRegions@, @imageSubresource.aspectMask@ /must/ specify aspects
 --     present in @srcImage@
 --
--- -   #VUID-vkCmdCopyImageToBuffer-aspectMask-01560# If @srcImage@ has a
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-07740# If @srcImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion two planes>
 --     then for each element of @pRegions@, @imageSubresource.aspectMask@
 --     /must/ be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT'
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-07741# If @srcImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion three planes>
+--     then for each element of @pRegions@, @imageSubresource.aspectMask@
+--     /must/ be
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',
 --     or
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     (with
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     valid only for image formats with three planes)
 --
 -- -   #VUID-vkCmdCopyImageToBuffer-baseArrayLayer-00213# If @srcImage@ is
 --     of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D', for each
@@ -11882,18 +11935,89 @@
 --     and then multiplied by the texel block size of @srcImage@ /must/ be
 --     less than or equal to 231-1
 --
--- -   #VUID-vkCmdCopyImageToBuffer-commandBuffer-04052# If the queue
---     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
---     @commandBuffer@ was allocated from does not support
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
---     @bufferOffset@ member of any element of @pRegions@ /must/ be a
---     multiple of @4@
---
 -- -   #VUID-vkCmdCopyImageToBuffer-srcImage-04053# If @srcImage@ has a
 --     depth\/stencil format, the @bufferOffset@ member of any element of
 --     @pRegions@ /must/ be a multiple of @4@
 --
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-00183# @dstBuffer@ /must/ be
+--     large enough to contain all buffer locations that are accessed
+--     according to
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies-buffers-images-addressing Buffer and Image Addressing>,
+--     for each element of @pRegions@
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-00184# The union of all source
+--     regions, and the union of all destination regions, specified by the
+--     elements of @pRegions@, /must/ not overlap in memory
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-srcImage-00186# @srcImage@ /must/ have
+--     been created with
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_SRC_BIT'
+--     usage flag
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-srcImage-01998# The
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-format-features format features>
+--     of @srcImage@ /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_TRANSFER_SRC_BIT'
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-srcImage-00187# If @srcImage@ is
+--     non-sparse then it /must/ be bound completely and contiguously to a
+--     single 'Vulkan.Core10.Handles.DeviceMemory' object
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-dstBuffer-00191# @dstBuffer@ /must/
+--     have been created with
+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_TRANSFER_DST_BIT'
+--     usage flag
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-dstBuffer-00192# If @dstBuffer@ is
+--     non-sparse then it /must/ be bound completely and contiguously to a
+--     single 'Vulkan.Core10.Handles.DeviceMemory' object
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-srcImage-00188# @srcImage@ /must/ have
+--     a sample count equal to
+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-srcImageLayout-00189# @srcImageLayout@
+--     /must/ specify the layout of the image subresources of @srcImage@
+--     specified in @pRegions@ at the time this command is executed on a
+--     'Vulkan.Core10.Handles.Device'
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-srcImageLayout-01397# @srcImageLayout@
+--     /must/ be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL',
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL', or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_SHARED_PRESENT_KHR'
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-imageSubresource-01703# The
+--     @imageSubresource.mipLevel@ member of each element of @pRegions@
+--     /must/ be less than the @mipLevels@ specified in
+--     'Vulkan.Core10.Image.ImageCreateInfo' when @srcImage@ was created
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-imageSubresource-01704# The
+--     @imageSubresource.baseArrayLayer@ + @imageSubresource.layerCount@ of
+--     each element of @pRegions@ /must/ be less than or equal to the
+--     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'
+--     when @srcImage@ was created
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-srcImage-02544# @srcImage@ /must/ not
+--     have been created with @flags@ containing
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06220# The image region
+--     specified by each element of @pRegions@ /must/ be contained within
+--     the specified @imageSubresource@ of @srcImage@
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06221# For each element of
+--     @pRegions@, @imageOffset.x@ and (@imageExtent.width@ +
+--     @imageOffset.x@) /must/ both be greater than or equal to @0@ and
+--     less than or equal to the width of the specified @imageSubresource@
+--     of @srcImage@
+--
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06222# For each element of
+--     @pRegions@, @imageOffset.y@ and (imageExtent.height +
+--     @imageOffset.y@) /must/ both be greater than or equal to @0@ and
+--     less than or equal to the height of the specified @imageSubresource@
+--     of @srcImage@
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdCopyImageToBuffer-commandBuffer-parameter#
@@ -13309,7 +13433,7 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdSetEvent-shadingRateImage-07318# If neither the
+-- -   #VUID-vkCmdSetEvent-stageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -13466,7 +13590,7 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdResetEvent-shadingRateImage-07318# If neither the
+-- -   #VUID-vkCmdResetEvent-stageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -13770,7 +13894,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdWaitEvents-shadingRateImage-07318# If neither the
+-- -   #VUID-vkCmdWaitEvents-srcStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -13818,7 +13942,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdWaitEvents-shadingRateImage-07318# If neither the
+-- -   #VUID-vkCmdWaitEvents-dstStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -14178,7 +14302,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdPipelineBarrier-shadingRateImage-07318# If neither the
+-- -   #VUID-vkCmdPipelineBarrier-srcStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -14226,7 +14350,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdPipelineBarrier-shadingRateImage-07318# If neither the
+-- -   #VUID-vkCmdPipelineBarrier-dstStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -15009,8 +15133,8 @@
 --
 -- -   #VUID-vkCmdResetQueryPool-commandBuffer-cmdpool# The
 --     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
---     allocated from /must/ support graphics, compute, decode, or encode
---     operations
+--     allocated from /must/ support graphics, compute, decode, encode, or
+--     opticalflow operations
 --
 -- -   #VUID-vkCmdResetQueryPool-renderpass# This command /must/ only be
 --     called outside of a render pass instance
@@ -15040,6 +15164,7 @@
 -- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
 -- |                                                                                                                            |                                                                                                                        |                                                                                                                             | Decode                                                                                                                |                                                                                                                                        |
 -- |                                                                                                                            |                                                                                                                        |                                                                                                                             | Encode                                                                                                                |                                                                                                                                        |
+-- |                                                                                                                            |                                                                                                                        |                                                                                                                             | Opticalflow                                                                                                           |                                                                                                                                        |
 -- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
 --
 -- = See Also
@@ -15178,7 +15303,7 @@
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_EXT'
 --
 -- -   #VUID-vkCmdWriteTimestamp-pipelineStage-07077# If the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader taskShader>
 --     feature is not enabled, @pipelineStage@ /must/ not be
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
@@ -15235,7 +15360,7 @@
 -- -   #VUID-vkCmdWriteTimestamp-commandBuffer-cmdpool# The
 --     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
 --     allocated from /must/ support transfer, graphics, compute, decode,
---     or encode operations
+--     encode, or opticalflow operations
 --
 -- -   #VUID-vkCmdWriteTimestamp-commonparent# Both of @commandBuffer@, and
 --     @queryPool@ /must/ have been created, allocated, or retrieved from
@@ -15260,6 +15385,7 @@
 -- |                                                                                                                            |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
 -- |                                                                                                                            |                                                                                                                        |                                                                                                                             | Decode                                                                                                                |                                                                                                                                        |
 -- |                                                                                                                            |                                                                                                                        |                                                                                                                             | Encode                                                                                                                |                                                                                                                                        |
+-- |                                                                                                                            |                                                                                                                        |                                                                                                                             | Opticalflow                                                                                                           |                                                                                                                                        |
 -- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
 --
 -- = See Also
@@ -15907,7 +16033,7 @@
 --     and either the
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
 --     or 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT'
---     usage bits.
+--     usage bits
 --
 -- -   #VUID-vkCmdBeginRenderPass-initialLayout-07001# If any of the
 --     @initialLayout@ or @finalLayout@ member of the
@@ -15920,7 +16046,7 @@
 --     specified in the @framebuffer@ member of @pRenderPassBegin@ /must/
 --     have been created with a @usage@ value the
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
---     usage bit.
+--     usage bit
 --
 -- == Valid Usage (Implicit)
 --
@@ -16153,7 +16279,7 @@
 -- -   #VUID-vkCmdEndRenderPass-None-07004# If 'cmdBeginQuery'* was called
 --     within a subpass of the render pass, the corresponding
 --     'cmdEndQuery'* /must/ have been called subsequently within the same
---     subpass.
+--     subpass
 --
 -- == Valid Usage (Implicit)
 --
@@ -17028,27 +17154,8 @@
 
 -- | VkImageCopy - Structure specifying an image copy operation
 --
--- == Valid Usage
---
--- -   #VUID-VkImageCopy-extent-00140# The number of slices of the @extent@
---     (for 3D) or layers of the @srcSubresource@ (for non-3D) /must/ match
---     the number of slices of the @extent@ (for 3D) or layers of the
---     @dstSubresource@ (for non-3D)
---
--- -   #VUID-VkImageCopy-extent-06668# @extent.width@ /must/ not be 0
---
--- -   #VUID-VkImageCopy-extent-06669# @extent.height@ /must/ not be 0
---
--- -   #VUID-VkImageCopy-extent-06670# @extent.depth@ /must/ not be 0
---
 -- == Valid Usage (Implicit)
 --
--- -   #VUID-VkImageCopy-srcSubresource-parameter# @srcSubresource@ /must/
---     be a valid 'ImageSubresourceLayers' structure
---
--- -   #VUID-VkImageCopy-dstSubresource-parameter# @dstSubresource@ /must/
---     be a valid 'ImageSubresourceLayers' structure
---
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
@@ -17058,11 +17165,15 @@
   { -- | @srcSubresource@ and @dstSubresource@ are 'ImageSubresourceLayers'
     -- structures specifying the image subresources of the images used for the
     -- source and destination image data, respectively.
+    --
+    -- #VUID-VkImageCopy-srcSubresource-parameter# @srcSubresource@ /must/ be a
+    -- valid 'ImageSubresourceLayers' structure
     srcSubresource :: ImageSubresourceLayers
   , -- | @srcOffset@ and @dstOffset@ select the initial @x@, @y@, and @z@ offsets
     -- in texels of the sub-regions of the source and destination image data.
     srcOffset :: Offset3D
-  , -- No documentation found for Nested "VkImageCopy" "dstSubresource"
+  , -- | #VUID-VkImageCopy-dstSubresource-parameter# @dstSubresource@ /must/ be a
+    -- valid 'ImageSubresourceLayers' structure
     dstSubresource :: ImageSubresourceLayers
   , -- No documentation found for Nested "VkImageCopy" "dstOffset"
     dstOffset :: Offset3D
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
@@ -1589,6 +1589,12 @@
 --     the @imageView@ member of each element of @pImageInfo@ /must/ have
 --     been created with the identity swizzle
 --
+-- -   #VUID-VkWriteDescriptorSet-descriptorType-07729# If @descriptorType@
+--     is
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',
+--     the @imageView@ member of each element of @pImageInfo@ /must/ have
+--     been created with exactly one aspect
+--
 -- -   #VUID-VkWriteDescriptorSet-descriptorType-00337# If @descriptorType@
 --     is
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE'
@@ -2447,7 +2453,7 @@
 --     then a
 --     'Vulkan.Extensions.VK_EXT_mutable_descriptor_type.MutableDescriptorTypeCreateInfoEXT'
 --     /must/ be present in the @pNext@ chain, and
---     @mutableDescriptorTypeListCount@ /must/ be greater than i.
+--     @mutableDescriptorTypeListCount@ /must/ be greater than i
 --
 -- -   #VUID-VkDescriptorSetLayoutCreateInfo-descriptorType-04594# If a
 --     binding has a @descriptorType@ value of
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
@@ -160,6 +160,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_multi_draw (PhysicalDeviceMultiDrawFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled (PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewFeatures)
+import {-# SOURCE #-} Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports (PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_non_seamless_cube_map (PhysicalDeviceNonSeamlessCubeMapFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_opacity_micromap (PhysicalDeviceOpacityMicromapFeaturesEXT)
@@ -903,6 +904,7 @@
 --     'Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT',
 --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',
+--     'Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports.PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM',
 --     'Vulkan.Extensions.VK_EXT_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_non_seamless_cube_map.PhysicalDeviceNonSeamlessCubeMapFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_opacity_micromap.PhysicalDeviceOpacityMicromapFeaturesEXT',
@@ -1056,6 +1058,7 @@
   getNext DeviceCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRayTracingInvocationReorderFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsFeaturesARM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFaultFeaturesEXT = Just f
diff --git a/src/Vulkan/Core10/DeviceInitialization.hs b/src/Vulkan/Core10/DeviceInitialization.hs
--- a/src/Vulkan/Core10/DeviceInitialization.hs
+++ b/src/Vulkan/Core10/DeviceInitialization.hs
@@ -144,6 +144,7 @@
 import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceProcAddr))
 import Vulkan.Core10.FundamentalTypes (DeviceSize)
 import Vulkan.Core10.Handles (Device_T)
+import {-# SOURCE #-} Vulkan.Extensions.VK_LUNARG_direct_driver_loading (DirectDriverLoadingListLUNARG)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_metal_objects (ExportMetalObjectCreateInfoEXT)
 import Vulkan.CStruct.Extends (Extends)
 import Vulkan.CStruct.Extends (Extendss)
@@ -1489,6 +1490,11 @@
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.createDebugUtilsMessengerEXT' to
 -- create persistent callback objects.
 --
+-- An application can add additional drivers by including the
+-- 'Vulkan.Extensions.VK_LUNARG_direct_driver_loading.DirectDriverLoadingListLUNARG'
+-- struct to the @pNext@ element of the 'InstanceCreateInfo' structure
+-- given to 'createInstance'.
+--
 -- == Valid Usage
 --
 -- -   #VUID-VkInstanceCreateInfo-pNext-04925# If the @pNext@ chain of
@@ -1509,13 +1515,20 @@
 --     structure, its @exportObjectType@ member /must/ be either
 --     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_DEVICE_BIT_EXT'
 --     or
---     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT'.
+--     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_COMMAND_QUEUE_BIT_EXT'
 --
 -- -   #VUID-VkInstanceCreateInfo-flags-06559# If @flags@ has the
 --     'Vulkan.Core10.Enums.InstanceCreateFlagBits.INSTANCE_CREATE_ENUMERATE_PORTABILITY_BIT_KHR'
 --     bit set, the list of enabled extensions in @ppEnabledExtensionNames@
 --     /must/ contain @VK_KHR_portability_enumeration@
 --
+-- -   #VUID-VkInstanceCreateInfo-pNext# If the @pNext@ chain of
+--     'InstanceCreateInfo' includes a
+--     'Vulkan.Extensions.VK_LUNARG_direct_driver_loading.DirectDriverLoadingListLUNARG'
+--     structure, the list of enabled extensions in
+--     @ppEnabledExtensionNames@ /must/ contain
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading VK_LUNARG_direct_driver_loading>
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkInstanceCreateInfo-sType-sType# @sType@ /must/ be
@@ -1526,6 +1539,7 @@
 --     @NULL@ or a pointer to a valid instance of
 --     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT',
 --     'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT',
+--     'Vulkan.Extensions.VK_LUNARG_direct_driver_loading.DirectDriverLoadingListLUNARG',
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT',
 --     'Vulkan.Extensions.VK_EXT_validation_features.ValidationFeaturesEXT',
 --     or 'Vulkan.Extensions.VK_EXT_validation_flags.ValidationFlagsEXT'
@@ -1600,6 +1614,7 @@
   getNext InstanceCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends InstanceCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @DirectDriverLoadingListLUNARG = Just f
     | Just Refl <- eqT @e @ExportMetalObjectCreateInfoEXT = Just f
     | Just Refl <- eqT @e @DebugUtilsMessengerCreateInfoEXT = Just f
     | Just Refl <- eqT @e @ValidationFeaturesEXT = Just f
diff --git a/src/Vulkan/Core10/Enums/AccessFlagBits.hs b/src/Vulkan/Core10/Enums/AccessFlagBits.hs
--- a/src/Vulkan/Core10/Enums/AccessFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/AccessFlagBits.hs
@@ -34,13 +34,13 @@
                                                            )
                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs b/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs
--- a/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                          )
                                                           ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs b/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs
@@ -11,13 +11,13 @@
                                                                        )
                                                  ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs b/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs
@@ -26,13 +26,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs b/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "BufferViewCreateFlags"
 module Vulkan.Core10.Enums.BufferViewCreateFlags  (BufferViewCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs b/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs
@@ -9,13 +9,13 @@
                                                                            )
                                                    ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs b/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                    )
                                                        ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs b/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs
@@ -8,13 +8,13 @@
                                                                                    )
                                                        ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs b/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs
@@ -8,13 +8,13 @@
                                                                                  )
                                                       ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs b/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                )
                                                      ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/CullModeFlagBits.hs b/src/Vulkan/Core10/Enums/CullModeFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CullModeFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CullModeFlagBits.hs
@@ -9,13 +9,13 @@
                                                                )
                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/DependencyFlagBits.hs b/src/Vulkan/Core10/Enums/DependencyFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DependencyFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DependencyFlagBits.hs
@@ -9,13 +9,13 @@
                                                                    )
                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs b/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs
@@ -8,13 +8,13 @@
                                                                                        )
                                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs b/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs
--- a/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs
+++ b/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "DescriptorPoolResetFlags"
 module Vulkan.Core10.Enums.DescriptorPoolResetFlags  (DescriptorPoolResetFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs b/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs
@@ -10,13 +10,13 @@
                                                                                                  )
                                                               ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs b/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "DeviceCreateFlags"
 module Vulkan.Core10.Enums.DeviceCreateFlags  (DeviceCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs b/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                  )
                                                       ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs b/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs b/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs b/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs
--- a/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs
@@ -32,13 +32,13 @@
                                                                          )
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs b/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                  )
                                                       ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs b/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
@@ -17,13 +17,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs b/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs
@@ -24,13 +24,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs b/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs
@@ -19,13 +19,13 @@
                                                                    )
                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs b/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs
@@ -8,13 +8,13 @@
                                                                              )
                                                     ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/InstanceCreateFlagBits.hs b/src/Vulkan/Core10/Enums/InstanceCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/InstanceCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/InstanceCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                            )
                                                    ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs b/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs
--- a/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs
@@ -7,13 +7,13 @@
                                                                    )
                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/MemoryMapFlags.hs b/src/Vulkan/Core10/Enums/MemoryMapFlags.hs
--- a/src/Vulkan/Core10/Enums/MemoryMapFlags.hs
+++ b/src/Vulkan/Core10/Enums/MemoryMapFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "MemoryMapFlags"
 module Vulkan.Core10.Enums.MemoryMapFlags  (MemoryMapFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs b/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs
--- a/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs
@@ -14,13 +14,13 @@
                                                                            )
                                                    ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                      )
                                                         ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                                          )
                                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
@@ -35,13 +35,13 @@
                                                                            )
                                                    ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlagBits.hs
@@ -7,13 +7,13 @@
                                                                                                              )
                                                                     ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PipelineDynamicStateCreateFlags"
 module Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags  (PipelineDynamicStateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PipelineInputAssemblyStateCreateFlags"
 module Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags  (PipelineInputAssemblyStateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                        )
                                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PipelineMultisampleStateCreateFlags"
 module Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags  (PipelineMultisampleStateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PipelineRasterizationStateCreateFlags"
 module Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags  (PipelineRasterizationStateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineShaderStageCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineShaderStageCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineShaderStageCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineShaderStageCreateFlagBits.hs
@@ -7,13 +7,13 @@
                                                                                                  )
                                                               ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs
@@ -32,13 +32,13 @@
                                                                          )
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PipelineTessellationStateCreateFlags"
 module Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags  (PipelineTessellationStateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PipelineVertexInputStateCreateFlags"
 module Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags  (PipelineVertexInputStateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PipelineViewportStateCreateFlags"
 module Vulkan.Core10.Enums.PipelineViewportStateCreateFlags  (PipelineViewportStateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs b/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs
@@ -6,13 +6,13 @@
                                                                        )
                                                  ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs b/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs
@@ -18,13 +18,13 @@
                                                                                            )
                                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs b/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "QueryPoolCreateFlags"
 module Vulkan.Core10.Enums.QueryPoolCreateFlags  (QueryPoolCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs b/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs
@@ -9,13 +9,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/QueueFlagBits.hs b/src/Vulkan/Core10/Enums/QueueFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueueFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueueFlagBits.hs
@@ -11,13 +11,13 @@
                                                          )
                                           ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs b/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                )
                                                      ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs b/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs
@@ -12,13 +12,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs b/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs
@@ -10,13 +10,13 @@
                                                                          )
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs b/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "SemaphoreCreateFlags"
 module Vulkan.Core10.Enums.SemaphoreCreateFlags  (SemaphoreCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/ShaderModuleCreateFlags.hs b/src/Vulkan/Core10/Enums/ShaderModuleCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/ShaderModuleCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/ShaderModuleCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "ShaderModuleCreateFlags"
 module Vulkan.Core10.Enums.ShaderModuleCreateFlags  (ShaderModuleCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs b/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs
@@ -22,13 +22,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs b/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs
@@ -8,13 +8,13 @@
                                                                                  )
                                                       ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs b/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs
@@ -6,13 +6,13 @@
                                                                                )
                                                      ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs b/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs
--- a/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs
@@ -9,13 +9,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core10/Enums/StructureType.hs b/src/Vulkan/Core10/Enums/StructureType.hs
--- a/src/Vulkan/Core10/Enums/StructureType.hs
+++ b/src/Vulkan/Core10/Enums/StructureType.hs
@@ -55,6 +55,7 @@
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM
                                                         , STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC
                                                         , STRUCTURE_TYPE_TILE_PROPERTIES_QCOM
@@ -73,6 +74,8 @@
                                                         , STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG
+                                                        , STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG
                                                         , STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT
                                                         , STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT
                                                         , STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT
@@ -835,6 +838,8 @@
 -- 'Vulkan.Core10.Device.DeviceQueueCreateInfo',
 -- 'Vulkan.Extensions.VK_KHR_global_priority.DeviceQueueGlobalPriorityCreateInfoKHR',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.DeviceQueueInfo2',
+-- 'Vulkan.Extensions.VK_LUNARG_direct_driver_loading.DirectDriverLoadingInfoLUNARG',
+-- 'Vulkan.Extensions.VK_LUNARG_direct_driver_loading.DirectDriverLoadingListLUNARG',
 -- 'Vulkan.Extensions.VK_EXT_directfb_surface.DirectFBSurfaceCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_display_control.DisplayEventInfoEXT',
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayModeCreateInfoKHR',
@@ -1107,6 +1112,7 @@
 -- 'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',
 -- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',
+-- 'Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports.PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties',
 -- 'Vulkan.Extensions.VK_EXT_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_non_seamless_cube_map.PhysicalDeviceNonSeamlessCubeMapFeaturesEXT',
@@ -1596,6 +1602,9 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV = StructureType 1000490000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM = StructureType 1000488000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC"
 pattern STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC = StructureType 1000485001
 
@@ -1650,6 +1659,12 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT = StructureType 1000462000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG"
+pattern STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG = StructureType 1000459001
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG"
+pattern STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG = StructureType 1000459000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT"
 pattern STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT = StructureType 1000458003
 
@@ -3515,6 +3530,7 @@
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_EXT
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM
   , STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC
   , STRUCTURE_TYPE_TILE_PROPERTIES_QCOM
@@ -3533,6 +3549,8 @@
   , STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_MODULE_IDENTIFIER_CREATE_INFO_EXT
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_PROPERTIES_EXT
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
+  , STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG
+  , STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG
   , STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT
   , STRUCTURE_TYPE_RENDER_PASS_CREATION_FEEDBACK_CREATE_INFO_EXT
   , STRUCTURE_TYPE_RENDER_PASS_CREATION_CONTROL_EXT
@@ -4356,6 +4374,10 @@
     , "PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV"
     )
   ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM
+    , "PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM"
+    )
+  ,
     ( STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC
     , "AMIGO_PROFILING_SUBMIT_INFO_SEC"
     )
@@ -4426,6 +4448,14 @@
   ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT
     , "PHYSICAL_DEVICE_SHADER_MODULE_IDENTIFIER_FEATURES_EXT"
+    )
+  ,
+    ( STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG
+    , "DIRECT_DRIVER_LOADING_LIST_LUNARG"
+    )
+  ,
+    ( STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG
+    , "DIRECT_DRIVER_LOADING_INFO_LUNARG"
     )
   ,
     ( STRUCTURE_TYPE_RENDER_PASS_SUBPASS_FEEDBACK_CREATE_INFO_EXT
diff --git a/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs b/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
@@ -13,13 +13,13 @@
                                                                                    )
                                                        ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
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
@@ -514,7 +514,7 @@
 -- -   #VUID-VkEventCreateInfo-pNext-06790# If the @pNext@ chain includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT'
 --     structure, its @exportObjectType@ member /must/ be
---     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT'.
+--     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT'
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Core10/FundamentalTypes.hs b/src/Vulkan/Core10/FundamentalTypes.hs
--- a/src/Vulkan/Core10/FundamentalTypes.hs
+++ b/src/Vulkan/Core10/FundamentalTypes.hs
@@ -515,6 +515,7 @@
 -- 'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',
 -- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',
+-- 'Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports.PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM',
 -- 'Vulkan.Extensions.VK_EXT_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_non_seamless_cube_map.PhysicalDeviceNonSeamlessCubeMapFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_opacity_micromap.PhysicalDeviceOpacityMicromapFeaturesEXT',
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
@@ -1473,18 +1473,18 @@
 --     'Vulkan.Core10.Handles.Image' is to be used to import memory from a
 --     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA', a
 --     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'
---     structure /must/ be chained to @pNext@.
+--     structure /must/ be chained to @pNext@
 --
 -- -   #VUID-VkImageCreateInfo-multisampledRenderToSingleSampled-06882# If
 --     the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multisampledRenderToSingleSampled multisampledRenderToSingleSampled>
 --     feature is not enabled, @flags@ /must/ not contain
---     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT'.
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT'
 --
 -- -   #VUID-VkImageCreateInfo-flags-06883# If @flags@ contains
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT',
 --     @samples@ /must/ be
---     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'.
+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'
 --
 -- -   #VUID-VkImageCreateInfo-pNext-06743# If the @pNext@ chain includes a
 --     'Vulkan.Extensions.VK_EXT_image_compression_control.ImageCompressionControlEXT'
@@ -1532,7 +1532,7 @@
 --     structure, its @exportObjectType@ member /must/ be either
 --     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT'
 --     or
---     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT'.
+--     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_IOSURFACE_BIT_EXT'
 --
 -- -   #VUID-VkImageCreateInfo-pNext-06784# If the @pNext@ chain includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ImportMetalTextureInfoEXT'
@@ -1540,14 +1540,14 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',
 --     or
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
 --
 -- -   #VUID-VkImageCreateInfo-pNext-06785# If the @pNext@ chain includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ImportMetalTextureInfoEXT'
 --     structure and the image does not have a multi-planar format, then
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ImportMetalTextureInfoEXT'::@plane@
 --     /must/ be
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
 --
 -- -   #VUID-VkImageCreateInfo-pNext-06786# If the @pNext@ chain includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ImportMetalTextureInfoEXT'
@@ -1555,7 +1555,7 @@
 --     planes, then
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ImportMetalTextureInfoEXT'::@plane@
 --     /must/ not be
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -1225,7 +1225,7 @@
 --     includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT'
 --     structure, its @exportObjectType@ member /must/ be
---     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT'.
+--     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_TEXTURE_BIT_EXT'
 --
 -- -   #VUID-VkImageViewCreateInfo-pNext-06944# If the @pNext@ chain
 --     includes
@@ -1279,7 +1279,7 @@
 --     'Vulkan.Extensions.VK_QCOM_image_processing.ImageViewSampleWeightCreateInfoQCOM'
 --     structure and @viewType@ is
 --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_1D_ARRAY', then
---     @subresourceRange.layerCount@ /must/ be equal to @2@.
+--     @subresourceRange.layerCount@ /must/ be equal to @2@
 --
 -- -   #VUID-VkImageViewCreateInfo-pNext-06952# If the @pNext@ chain
 --     includes
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
@@ -999,7 +999,7 @@
 --     chain /must/ include a
 --     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'
 --     structure with either its @image@ or @buffer@ field set to a value
---     other than 'Vulkan.Core10.APIConstants.NULL_HANDLE'.
+--     other than 'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- -   #VUID-VkMemoryAllocateInfo-image-06384# If the parameters define an
 --     import operation from an
@@ -1027,7 +1027,7 @@
 --     @memoryTypeIndex@ /must/ be from
 --     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA'
 --     as retrieved by
---     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA'.
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA'
 --
 -- -   #VUID-VkMemoryAllocateInfo-pNext-00639# If the @pNext@ chain
 --     includes a
@@ -1304,7 +1304,7 @@
 --     includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT'
 --     structure, its @exportObjectType@ member /must/ be
---     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT'.
+--     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_BUFFER_BIT_EXT'
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Core10/OtherTypes.hs b/src/Vulkan/Core10/OtherTypes.hs
--- a/src/Vulkan/Core10/OtherTypes.hs
+++ b/src/Vulkan/Core10/OtherTypes.hs
@@ -719,7 +719,7 @@
 --     or 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT'
 --     usage bits, and the
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
---     usage bit.
+--     usage bit
 --
 -- -   #VUID-VkImageMemoryBarrier-attachmentFeedbackLoopLayout-07313# If
 --     the
diff --git a/src/Vulkan/Core10/Pass.hs b/src/Vulkan/Core10/Pass.hs
--- a/src/Vulkan/Core10/Pass.hs
+++ b/src/Vulkan/Core10/Pass.hs
@@ -1768,7 +1768,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkSubpassDependency-shadingRateImage-07318# If neither the
+-- -   #VUID-VkSubpassDependency-srcStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -1816,7 +1816,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkSubpassDependency-shadingRateImage-07318# If neither the
+-- -   #VUID-VkSubpassDependency-dstStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -2393,7 +2393,7 @@
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#renderpass-fragmentdensitymapoffsets fragment density map offsets>
 --     other than (0,0), each element of @pAttachments@ /must/ have been
 --     created with a @flags@ value including
---     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM'
 --
 -- -   #VUID-VkFramebufferCreateInfo-pAttachments-00880# If @flags@ does
 --     not include
@@ -2756,7 +2756,7 @@
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT' /must/
 --     have been created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT'
---     in their 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@.
+--     in their 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@
 --
 -- -   #VUID-VkFramebufferCreateInfo-samples-07009# If
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#subpass-multisampledrendertosinglesampled multisampled-render-to-single-sampled>
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
@@ -4365,7 +4365,7 @@
 --     'Vulkan.Core10.FundamentalTypes.TRUE', then the
 --     @rasterizationSamples@ member of @pMultisampleState@ /must/ be equal
 --     to
---     'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT'::@rasterizationSamples@.
+--     'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT'::@rasterizationSamples@
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-subpass-01411# If the pipeline is
 --     being created with
@@ -6399,6 +6399,32 @@
 -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-07401# @flags@ /must/ not
 --     include
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT'
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07730# If the
+--     pipeline is being created with
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,
+--     and no element of the @pDynamicStates@ member of @pDynamicState@ is
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT' or
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT',
+--     and if
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-per-view-viewports multiviewPerViewViewports>
+--     is enabled, then the index of the most significant bit in each
+--     element of
+--     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'::@pViewMasks@
+--     /must/ be less than @pViewportState@::@viewportCount@
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07731# If the
+--     pipeline is being created with
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,
+--     and no element of the @pDynamicStates@ member of @pDynamicState@ is
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR' or
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT',
+--     and if
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-per-view-viewports multiviewPerViewViewports>
+--     is enabled, then the index of the most significant bit in each
+--     element of
+--     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'::@pViewMasks@
+--     /must/ be less than @pViewportState@::@scissorCount@
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Core10/Queue.hs b/src/Vulkan/Core10/Queue.hs
--- a/src/Vulkan/Core10/Queue.hs
+++ b/src/Vulkan/Core10/Queue.hs
@@ -654,7 +654,7 @@
 --     feature is not enabled, @pWaitDstStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkSubmitInfo-shadingRateImage-07318# If neither the
+-- -   #VUID-VkSubmitInfo-pWaitDstStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
diff --git a/src/Vulkan/Core10/QueueSemaphore.hs b/src/Vulkan/Core10/QueueSemaphore.hs
--- a/src/Vulkan/Core10/QueueSemaphore.hs
+++ b/src/Vulkan/Core10/QueueSemaphore.hs
@@ -246,7 +246,7 @@
 --     includes a
 --     'Vulkan.Extensions.VK_EXT_metal_objects.ExportMetalObjectCreateInfoEXT'
 --     structure, its @exportObjectType@ member /must/ be
---     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT'.
+--     'Vulkan.Extensions.VK_EXT_metal_objects.EXPORT_METAL_OBJECT_TYPE_METAL_SHARED_EVENT_BIT_EXT'
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -521,7 +521,7 @@
 -- -   #VUID-VkSamplerCreateInfo-flags-06964# If @flags@ includes
 --     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM',
 --     then @minFilter@ and @magFilter@ /must/ be
---     'Vulkan.Core10.Enums.Filter.FILTER_NEAREST'.
+--     'Vulkan.Core10.Enums.Filter.FILTER_NEAREST'
 --
 -- -   #VUID-VkSamplerCreateInfo-flags-06965# If @flags@ includes
 --     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM',
@@ -544,7 +544,7 @@
 --     and if @addressModeU@ or @addressModeV@ is
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER',
 --     then @borderColor@ /must/ be
---     'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_TRANSPARENT_BLACK'.
+--     'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_TRANSPARENT_BLACK'
 --
 -- -   #VUID-VkSamplerCreateInfo-flags-06969# If @flags@ includes
 --     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM',
diff --git a/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs b/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs
--- a/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs
+++ b/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "CommandPoolTrimFlags"
 module Vulkan.Core11.Enums.CommandPoolTrimFlags  (CommandPoolTrimFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs b/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs
--- a/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs
+++ b/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "DescriptorUpdateTemplateCreateFlags"
 module Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags  (DescriptorUpdateTemplateCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs
@@ -7,13 +7,13 @@
                                                                                        )
                                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs
@@ -9,13 +9,13 @@
                                                                                              )
                                                             ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs
@@ -8,13 +8,13 @@
                                                                                          )
                                                           ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs
@@ -18,13 +18,13 @@
                                                                                                )
                                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs
@@ -7,13 +7,13 @@
                                                                                                )
                                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs
@@ -12,13 +12,13 @@
                                                                                                      )
                                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs b/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs
--- a/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs
@@ -6,13 +6,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs b/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs
--- a/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs
@@ -8,13 +8,13 @@
                                                                            )
                                                    ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs
@@ -9,13 +9,13 @@
                                                                                  )
                                                       ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs b/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs
--- a/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs
@@ -6,13 +6,13 @@
                                                                              )
                                                     ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs
@@ -14,13 +14,13 @@
                                                                              )
                                                     ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs
--- a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs
+++ b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs
@@ -47,7 +47,7 @@
 -- property.
 --
 -- If @supportedOperations@ includes
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subgroup-quad ,>
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-subgroup-quad >,
 -- or
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupUniformControlFlow shaderSubgroupUniformControlFlow>
 -- is enabled, @subgroupSize@ /must/ be greater than or equal to 4.
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs
@@ -599,6 +599,13 @@
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
 --     bit set
 --
+-- -   #VUID-VkBindImageMemoryInfo-image-07736# If @image@ was created with
+--     the
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
+--     bit set, then the @pNext@ chain /must/ include a
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo'
+--     structure
+--
 -- -   #VUID-VkBindImageMemoryInfo-pNext-01619# If the @pNext@ chain
 --     includes a
 --     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo'
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
@@ -435,7 +435,7 @@
 -- -   #VUID-vkCmdDispatchBase-None-08119# If a descriptor is dynamically
 --     used with a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDispatchBase-None-02700# A valid pipeline /must/ be bound
 --     to the pipeline bind point used by this command
@@ -534,6 +534,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDispatchBase-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDispatchBase-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDispatchBase-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
@@ -636,14 +650,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDispatchBase-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDispatchBase-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -651,7 +665,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDispatchBase-None-07288# Any shader invocation executed
 --     by this command /must/
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_physical_device_properties2.hs
@@ -206,6 +206,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled (PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NVX_multiview_per_view_attributes (PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX)
+import {-# SOURCE #-} Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports (PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_non_seamless_cube_map (PhysicalDeviceNonSeamlessCubeMapFeaturesEXT)
@@ -848,6 +849,7 @@
   getNext PhysicalDeviceFeatures2{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRayTracingInvocationReorderFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderCoreBuiltinsFeaturesARM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFaultFeaturesEXT = Just f
diff --git a/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs b/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs
--- a/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs
+++ b/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs
@@ -9,13 +9,13 @@
                                                                                  )
                                                       ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
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
@@ -23,6 +23,7 @@
                                               , DRIVER_ID_SAMSUNG_PROPRIETARY
                                               , DRIVER_ID_MESA_VENUS
                                               , DRIVER_ID_MESA_DOZEN
+                                              , DRIVER_ID_MESA_NVK
                                               , ..
                                               )) where
 
@@ -132,6 +133,9 @@
 -- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_MESA_DOZEN"
 pattern DRIVER_ID_MESA_DOZEN = DriverId 23
 
+-- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_MESA_NVK"
+pattern DRIVER_ID_MESA_NVK = DriverId 24
+
 {-# COMPLETE
   DRIVER_ID_AMD_PROPRIETARY
   , DRIVER_ID_AMD_OPEN_SOURCE
@@ -155,7 +159,8 @@
   , DRIVER_ID_MESA_PANVK
   , DRIVER_ID_SAMSUNG_PROPRIETARY
   , DRIVER_ID_MESA_VENUS
-  , DRIVER_ID_MESA_DOZEN ::
+  , DRIVER_ID_MESA_DOZEN
+  , DRIVER_ID_MESA_NVK ::
     DriverId
   #-}
 
@@ -202,6 +207,7 @@
   , (DRIVER_ID_SAMSUNG_PROPRIETARY, "SAMSUNG_PROPRIETARY")
   , (DRIVER_ID_MESA_VENUS, "MESA_VENUS")
   , (DRIVER_ID_MESA_DOZEN, "MESA_DOZEN")
+  , (DRIVER_ID_MESA_NVK, "MESA_NVK")
   ]
 
 instance Show DriverId where
diff --git a/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs b/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs
--- a/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs
+++ b/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs
@@ -10,13 +10,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs b/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs
--- a/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs
+++ b/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs
@@ -6,13 +6,13 @@
                                                                          )
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs
@@ -379,7 +379,7 @@
 --     and either the
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
 --     or 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT'
---     usage bits.
+--     usage bits
 --
 -- -   #VUID-vkCmdBeginRenderPass2-initialLayout-07003# If any of the
 --     @initialLayout@ or @finalLayout@ member of the
@@ -392,7 +392,7 @@
 --     specified in the @framebuffer@ member of @pRenderPassBegin@ /must/
 --     have been created with a @usage@ value the
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
---     usage bit.
+--     usage bit
 --
 -- == Valid Usage (Implicit)
 --
@@ -634,7 +634,7 @@
 --     'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery'* was called
 --     within a subpass of the render pass, the corresponding
 --     'Vulkan.Core10.CommandBufferBuilding.cmdEndQuery'* /must/ have been
---     called subsequently within the same subpass.
+--     called subsequently within the same subpass
 --
 -- == Valid Usage (Implicit)
 --
@@ -1882,7 +1882,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkSubpassDependency2-shadingRateImage-07318# If neither the
+-- -   #VUID-VkSubpassDependency2-srcStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -1930,7 +1930,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkSubpassDependency2-shadingRateImage-07318# If neither the
+-- -   #VUID-VkSubpassDependency2-dstStageMask-07318# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
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
@@ -211,7 +211,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-02700# A valid pipeline /must/ be
 --     bound to the pipeline bind point used by this command
@@ -310,6 +310,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawIndirectCount-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawIndirectCount-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawIndirectCount-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
@@ -412,14 +426,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawIndirectCount-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndirectCount-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -427,7 +441,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -449,9 +463,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawIndirectCount-None-02686# Every input attachment used
---     by the current subpass /must/ be bound to the pipeline via a
---     descriptor set
+-- -   #VUID-vkCmdDrawIndirectCount-None-07748# If any shader statically
+--     accesses an input attachment, a valid descriptor /must/ be bound to
+--     the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawIndirectCount-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -462,10 +476,11 @@
 -- -   #VUID-vkCmdDrawIndirectCount-None-07469# Input attachment views
 --     accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -793,28 +808,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawIndirectCount-attachmentCount-06667# If the bound
---     graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawIndirectCount-None-07749# If the bound graphics
+--     pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawIndirectCount-attachmentCount-07750# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawIndirectCount-attachmentCount-06815# If the bound
---     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawIndirectCount-None-07751# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-pDepthAttachment-06181# If the current
 --     render pass instance was begun with
@@ -1000,7 +1017,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawIndirectCount-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -1009,7 +1026,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-07619# If the bound graphics
 --     pipeline state was created with the
@@ -2056,7 +2073,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-02700# A valid pipeline
 --     /must/ be bound to the pipeline bind point used by this command
@@ -2155,6 +2172,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-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
@@ -2259,14 +2290,14 @@
 --     If @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-OpImageWeightedSampleQCOM-06977#
 --     If @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-OpImageWeightedSampleQCOM-06978#
 --     If any command other than @OpImageWeightedSampleQCOM@,
@@ -2274,7 +2305,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07288# Any shader
 --     invocation executed by this command /must/
@@ -2296,9 +2327,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawIndexedIndirectCount-None-02686# Every input
---     attachment used by the current subpass /must/ be bound to the
---     pipeline via a descriptor set
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07748# If any shader
+--     statically accesses an input attachment, a valid descriptor /must/
+--     be bound to the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -2309,10 +2340,11 @@
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07469# Input attachment
 --     views accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -2641,28 +2673,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawIndexedIndirectCount-attachmentCount-06667# If the
---     bound graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07749# If the bound
+--     graphics pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-attachmentCount-07750# If the
+--     bound graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawIndexedIndirectCount-attachmentCount-06815# If the
---     bound graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07751# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-pDepthAttachment-06181# If the
 --     current render pass instance was begun with
@@ -2848,7 +2882,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -2857,7 +2891,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07619# If the bound
 --     graphics pipeline state was created with the
diff --git a/src/Vulkan/Core13/Enums/AccessFlags2.hs b/src/Vulkan/Core13/Enums/AccessFlags2.hs
--- a/src/Vulkan/Core13/Enums/AccessFlags2.hs
+++ b/src/Vulkan/Core13/Enums/AccessFlags2.hs
@@ -65,13 +65,13 @@
                                                           )
                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs b/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs
--- a/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs
+++ b/src/Vulkan/Core13/Enums/FormatFeatureFlags2.hs
@@ -70,13 +70,13 @@
                                                                         )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Enums/PipelineCreationFeedbackFlagBits.hs b/src/Vulkan/Core13/Enums/PipelineCreationFeedbackFlagBits.hs
--- a/src/Vulkan/Core13/Enums/PipelineCreationFeedbackFlagBits.hs
+++ b/src/Vulkan/Core13/Enums/PipelineCreationFeedbackFlagBits.hs
@@ -11,13 +11,13 @@
                                                                                                )
                                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Enums/PipelineStageFlags2.hs b/src/Vulkan/Core13/Enums/PipelineStageFlags2.hs
--- a/src/Vulkan/Core13/Enums/PipelineStageFlags2.hs
+++ b/src/Vulkan/Core13/Enums/PipelineStageFlags2.hs
@@ -71,13 +71,13 @@
                                                                         )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Enums/PrivateDataSlotCreateFlags.hs b/src/Vulkan/Core13/Enums/PrivateDataSlotCreateFlags.hs
--- a/src/Vulkan/Core13/Enums/PrivateDataSlotCreateFlags.hs
+++ b/src/Vulkan/Core13/Enums/PrivateDataSlotCreateFlags.hs
@@ -2,13 +2,13 @@
 -- No documentation found for Chapter "PrivateDataSlotCreateFlags"
 module Vulkan.Core13.Enums.PrivateDataSlotCreateFlags  (PrivateDataSlotCreateFlags(..)) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Enums/RenderingFlagBits.hs b/src/Vulkan/Core13/Enums/RenderingFlagBits.hs
--- a/src/Vulkan/Core13/Enums/RenderingFlagBits.hs
+++ b/src/Vulkan/Core13/Enums/RenderingFlagBits.hs
@@ -12,13 +12,13 @@
                                                                  )
                                               ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Enums/SubmitFlagBits.hs b/src/Vulkan/Core13/Enums/SubmitFlagBits.hs
--- a/src/Vulkan/Core13/Enums/SubmitFlagBits.hs
+++ b/src/Vulkan/Core13/Enums/SubmitFlagBits.hs
@@ -7,13 +7,13 @@
                                                            )
                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Enums/ToolPurposeFlagBits.hs b/src/Vulkan/Core13/Enums/ToolPurposeFlagBits.hs
--- a/src/Vulkan/Core13/Enums/ToolPurposeFlagBits.hs
+++ b/src/Vulkan/Core13/Enums/ToolPurposeFlagBits.hs
@@ -17,13 +17,13 @@
                                                                      )
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import GHC.Show (showString)
 import Numeric (showHex)
 import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Foreign.Storable (Storable)
 import GHC.Read (Read(readPrec))
 import GHC.Show (Show(showsPrec))
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_copy_commands2.hs
@@ -440,6 +440,30 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
 --     is not supported, @dstImage@ /must/ not be an unprotected image
 --
+-- -   #VUID-vkCmdCopyBufferToImage2-commandBuffer-07737# If the queue
+--     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
+--     @commandBuffer@ was allocated from does not support
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
+--     @bufferOffset@ member of any element of
+--     @pCopyBufferToImageInfo->pRegions@ /must/ be a multiple of @4@
+--
+-- -   #VUID-vkCmdCopyBufferToImage2-imageOffset-07738# The @imageOffset@
+--     and @imageExtent@ members of each element of
+--     @pCopyBufferToImageInfo->pRegions@ /must/ respect the image transfer
+--     granularity requirements of @commandBuffer@’s command pool’s queue
+--     family, as described in
+--     'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties'
+--
+-- -   #VUID-vkCmdCopyBufferToImage2-commandBuffer-07739# If the queue
+--     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
+--     @commandBuffer@ was allocated from does not support
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT', for each
+--     element of @pCopyBufferToImageInfo->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'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdCopyBufferToImage2-commandBuffer-parameter#
@@ -544,6 +568,21 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
 --     is not supported, @dstBuffer@ /must/ not be an unprotected buffer
 --
+-- -   #VUID-vkCmdCopyImageToBuffer2-commandBuffer-07746# If the queue
+--     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
+--     @commandBuffer@ was allocated from does not support
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
+--     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
+--     @bufferOffset@ member of any element of
+--     @pCopyImageToBufferInfo->pRegions@ /must/ be a multiple of @4@
+--
+-- -   #VUID-vkCmdCopyImageToBuffer2-imageOffset-07747# The @imageOffset@
+--     and @imageExtent@ members of each element of
+--     @pCopyImageToBufferInfo->pRegions@ /must/ respect the image transfer
+--     granularity requirements of @commandBuffer@’s command pool’s queue
+--     family, as described in
+--     'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdCopyImageToBuffer2-commandBuffer-parameter#
@@ -793,36 +832,8 @@
 
 -- | VkImageCopy2 - Structure specifying an image copy operation
 --
--- == Valid Usage
---
--- -   #VUID-VkImageCopy2-extent-00140# The number of slices of the
---     @extent@ (for 3D) or layers of the @srcSubresource@ (for non-3D)
---     /must/ match the number of slices of the @extent@ (for 3D) or layers
---     of the @dstSubresource@ (for non-3D)
---
--- -   #VUID-VkImageCopy2-extent-06668# @extent.width@ /must/ not be 0
---
--- -   #VUID-VkImageCopy2-extent-06669# @extent.height@ /must/ not be 0
---
--- -   #VUID-VkImageCopy2-extent-06670# @extent.depth@ /must/ not be 0
---
 -- == Valid Usage (Implicit)
 --
--- -   #VUID-VkImageCopy2-sType-sType# @sType@ /must/ be
---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_COPY_2'
---
--- -   #VUID-VkImageCopy2-pNext-pNext# @pNext@ /must/ be @NULL@
---
--- -   #VUID-VkImageCopy2-srcSubresource-parameter# @srcSubresource@ /must/
---     be a valid
---     'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'
---     structure
---
--- -   #VUID-VkImageCopy2-dstSubresource-parameter# @dstSubresource@ /must/
---     be a valid
---     'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'
---     structure
---
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
@@ -836,11 +847,17 @@
     -- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers' structures
     -- specifying the image subresources of the images used for the source and
     -- destination image data, respectively.
+    --
+    -- #VUID-VkImageCopy2-srcSubresource-parameter# @srcSubresource@ /must/ be
+    -- a valid 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'
+    -- structure
     srcSubresource :: ImageSubresourceLayers
   , -- | @srcOffset@ and @dstOffset@ select the initial @x@, @y@, and @z@ offsets
     -- in texels of the sub-regions of the source and destination image data.
     srcOffset :: Offset3D
-  , -- No documentation found for Nested "VkImageCopy2" "dstSubresource"
+  , -- | #VUID-VkImageCopy2-dstSubresource-parameter# @dstSubresource@ /must/ be
+    -- a valid 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers'
+    -- structure
     dstSubresource :: ImageSubresourceLayers
   , -- No documentation found for Nested "VkImageCopy2" "dstOffset"
     dstOffset :: Offset3D
@@ -1659,6 +1676,16 @@
 --     'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D', then for each element
 --     of @pRegions@, @dstOffset.z@ /must/ be @0@
 --
+-- -   #VUID-VkCopyImageInfo2-srcImage-07743# If @srcImage@ and @dstImage@
+--     have a different 'Vulkan.Core10.Enums.ImageType.ImageType', one
+--     /must/ be 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D' and the
+--     other /must/ be 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D'
+--
+-- -   #VUID-VkCopyImageInfo2-srcImage-07744# If @srcImage@ and @dstImage@
+--     have the same 'Vulkan.Core10.Enums.ImageType.ImageType', the
+--     @layerCount@ member of @srcSubresource@ and @dstSubresource@ in each
+--     element of @pRegions@ /must/ match
+--
 -- -   #VUID-VkCopyImageInfo2-srcImage-01790# If @srcImage@ and @dstImage@
 --     are both of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D', then
 --     for each element of @pRegions@, @extent.depth@ /must/ be @1@
@@ -1808,6 +1835,9 @@
 --     'Vulkan.Core12.Promoted_From_VK_EXT_separate_stencil_usage.ImageStencilUsageCreateInfo'::@stencilUsage@
 --     used to create @dstImage@
 --
+-- -   #VUID-VkCopyImageInfo2-srcImage-07745# @srcImage@ and @dstImage@
+--     /must/ have the same sample count
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkCopyImageInfo2-sType-sType# @sType@ /must/ be
@@ -2352,25 +2382,10 @@
 --     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'
 --     when @dstImage@ was created
 --
--- -   #VUID-VkCopyBufferToImageInfo2-imageOffset-01793# The @imageOffset@
---     and @imageExtent@ members of each element of @pRegions@ /must/
---     respect the image transfer granularity requirements of
---     @commandBuffer@’s command pool’s queue family, as described in
---     'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties'
---
 -- -   #VUID-VkCopyBufferToImageInfo2-dstImage-02543# @dstImage@ /must/ not
 --     have been created with @flags@ containing
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
 --
--- -   #VUID-VkCopyBufferToImageInfo2-commandBuffer-04477# If the queue
---     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
---     @commandBuffer@ was allocated from does not support
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT', for each
---     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'
---
 -- -   #VUID-VkCopyBufferToImageInfo2-pRegions-06223# For each element of
 --     @pRegions@ not containing
 --     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'
@@ -2474,17 +2489,24 @@
 --     @pRegions@, @imageSubresource.aspectMask@ /must/ specify aspects
 --     present in @dstImage@
 --
--- -   #VUID-VkCopyBufferToImageInfo2-aspectMask-01560# If @dstImage@ has a
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,
+-- -   #VUID-VkCopyBufferToImageInfo2-pRegions-07740# If @dstImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion two planes>
 --     then for each element of @pRegions@, @imageSubresource.aspectMask@
 --     /must/ be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT'
+--
+-- -   #VUID-VkCopyBufferToImageInfo2-pRegions-07741# If @dstImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion three planes>
+--     then for each element of @pRegions@, @imageSubresource.aspectMask@
+--     /must/ be
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',
 --     or
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     (with
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     valid only for image formats with three planes)
 --
 -- -   #VUID-VkCopyBufferToImageInfo2-baseArrayLayer-00213# If @dstImage@
 --     is of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D', for each
@@ -2497,14 +2519,6 @@
 --     and then multiplied by the texel block size of @dstImage@ /must/ be
 --     less than or equal to 231-1
 --
--- -   #VUID-VkCopyBufferToImageInfo2-commandBuffer-04052# If the queue
---     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
---     @commandBuffer@ was allocated from does not support
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
---     @bufferOffset@ member of any element of @pRegions@ /must/ be a
---     multiple of @4@
---
 -- -   #VUID-VkCopyBufferToImageInfo2-srcImage-04053# If @dstImage@ has a
 --     depth\/stencil format, the @bufferOffset@ member of any element of
 --     @pRegions@ /must/ be a multiple of @4@
@@ -2702,12 +2716,6 @@
 --     @arrayLayers@ specified in 'Vulkan.Core10.Image.ImageCreateInfo'
 --     when @srcImage@ was created
 --
--- -   #VUID-VkCopyImageToBufferInfo2-imageOffset-01794# The @imageOffset@
---     and @imageExtent@ members of each element of @pRegions@ /must/
---     respect the image transfer granularity requirements of
---     @commandBuffer@’s command pool’s queue family, as described in
---     'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties'
---
 -- -   #VUID-VkCopyImageToBufferInfo2-srcImage-02544# @srcImage@ /must/ not
 --     have been created with @flags@ containing
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
@@ -2815,17 +2823,24 @@
 --     @pRegions@, @imageSubresource.aspectMask@ /must/ specify aspects
 --     present in @srcImage@
 --
--- -   #VUID-VkCopyImageToBufferInfo2-aspectMask-01560# If @srcImage@ has a
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar format>,
+-- -   #VUID-VkCopyImageToBufferInfo2-pRegions-07740# If @srcImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion two planes>
 --     then for each element of @pRegions@, @imageSubresource.aspectMask@
 --     /must/ be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT'
+--
+-- -   #VUID-VkCopyImageToBufferInfo2-pRegions-07741# If @srcImage@ has a
+--     'Vulkan.Core10.Enums.Format.Format' with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion three planes>
+--     then for each element of @pRegions@, @imageSubresource.aspectMask@
+--     /must/ be
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',
 --     or
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     (with
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
---     valid only for image formats with three planes)
 --
 -- -   #VUID-VkCopyImageToBufferInfo2-baseArrayLayer-00213# If @srcImage@
 --     is of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D', for each
@@ -2837,14 +2852,6 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-compatibility-classes texel block extent width>
 --     and then multiplied by the texel block size of @srcImage@ /must/ be
 --     less than or equal to 231-1
---
--- -   #VUID-VkCopyImageToBufferInfo2-commandBuffer-04052# If the queue
---     family used to create the 'Vulkan.Core10.Handles.CommandPool' which
---     @commandBuffer@ was allocated from does not support
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
---     'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT', the
---     @bufferOffset@ member of any element of @pRegions@ /must/ be a
---     multiple of @4@
 --
 -- -   #VUID-VkCopyImageToBufferInfo2-srcImage-04053# If @srcImage@ has a
 --     depth\/stencil format, the @bufferOffset@ member of any element of
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs
@@ -232,7 +232,7 @@
 --     'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery'* was called
 --     within the render pass, the corresponding
 --     'Vulkan.Core10.CommandBufferBuilding.cmdEndQuery'* /must/ have been
---     called subsequently within the same subpass.
+--     called subsequently within the same subpass
 --
 -- == Valid Usage (Implicit)
 --
@@ -430,7 +430,7 @@
 --     that is either
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT' or
 --     equal to
---     'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT'::@rasterizationSamples@.
+--     'Vulkan.Extensions.VK_EXT_multisampled_render_to_single_sampled.MultisampledRenderToSingleSampledInfoEXT'::@rasterizationSamples@
 --
 -- -   #VUID-VkRenderingInfo-imageView-06859# If
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#subpass-multisampledrendertosinglesampled multisampled-render-to-single-sampled>
@@ -441,7 +441,7 @@
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT' /must/
 --     have been created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_BIT_EXT'
---     in their 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@.
+--     in their 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@
 --
 -- -   #VUID-VkRenderingInfo-pNext-06077# If the @pNext@ chain does not
 --     contain
@@ -644,6 +644,43 @@
 --     or
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL'
 --
+-- -   #VUID-VkRenderingInfo-pDepthAttachment-07732# If @pDepthAttachment@
+--     is not @NULL@ and @pDepthAttachment->imageView@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @pDepthAttachment->layout@
+--     /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL'
+--     or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL'
+--
+-- -   #VUID-VkRenderingInfo-pDepthAttachment-07733# If @pDepthAttachment@
+--     is not @NULL@, @pDepthAttachment->imageView@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', and
+--     @pDepthAttachment->resolveMode@ is not
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',
+--     @pDepthAttachment->resolveImageLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_STENCIL_ATTACHMENT_OPTIMAL'
+--     or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL'
+--
+-- -   #VUID-VkRenderingInfo-pStencilAttachment-07734# If
+--     @pStencilAttachment@ is not @NULL@ and
+--     @pStencilAttachment->imageView@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',
+--     @pStencilAttachment->layout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL'
+--     or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL'
+--
+-- -   #VUID-VkRenderingInfo-pStencilAttachment-07735# If
+--     @pStencilAttachment@ is not @NULL@, @pStencilAttachment->imageView@
+--     is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and
+--     @pStencilAttachment->resolveMode@ is not
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',
+--     @pStencilAttachment->resolveImageLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_OPTIMAL'
+--     or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL'
+--
 -- -   #VUID-VkRenderingInfo-pDepthAttachment-06102# If @pDepthAttachment@
 --     is not @NULL@ and @pDepthAttachment->imageView@ is not
 --     'Vulkan.Core10.APIConstants.NULL_HANDLE',
@@ -998,10 +1035,14 @@
 -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE', and
 -- @resolveImageView@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
 -- values in @resolveImageView@ within the render area become undefined
--- once rendering begins. At the end of rendering, the color values written
--- to each pixel location in @imageView@ will be resolved according to
--- @resolveMode@ and stored into the the same location in
--- @resolveImageView@.
+-- once rendering begins. Only values in the aspect corresponding to the
+-- use of this attachment become undefined (the depth aspect if this
+-- attachment is used as 'RenderingInfo'::@pDepthAttachment@, and the
+-- stencil aspect if it is used as @pStencilAttachment@).
+--
+-- At the end of rendering, the values written to each pixel location in
+-- @imageView@ will be resolved according to @resolveMode@ and stored into
+-- the the same location in @resolveImageView@.
 --
 -- Note
 --
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
@@ -326,7 +326,7 @@
 --     /must/ not call 'getDeviceImageMemoryRequirements' with a
 --     'Vulkan.Core10.Image.ImageCreateInfo' whose @pNext@ chain includes a
 --     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID'
---     structure with non-zero @externalFormat@.
+--     structure with non-zero @externalFormat@
 --
 -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06417# If
 --     @pCreateInfo@::@format@ specifies a /multi-planar/ format and
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
@@ -387,7 +387,7 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdResetEvent2-shadingRateImage-07316# If neither the
+-- -   #VUID-vkCmdResetEvent2-stageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -1271,7 +1271,7 @@
 --     feature is not enabled, @stage@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdWriteTimestamp2-shadingRateImage-07316# If neither the
+-- -   #VUID-vkCmdWriteTimestamp2-stage-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -1461,7 +1461,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkMemoryBarrier2-shadingRateImage-07316# If neither the
+-- -   #VUID-VkMemoryBarrier2-srcStageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -1845,7 +1845,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkMemoryBarrier2-shadingRateImage-07316# If neither the
+-- -   #VUID-VkMemoryBarrier2-dstStageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -2409,7 +2409,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkImageMemoryBarrier2-shadingRateImage-07316# If neither the
+-- -   #VUID-VkImageMemoryBarrier2-srcStageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -2793,7 +2793,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkImageMemoryBarrier2-shadingRateImage-07316# If neither the
+-- -   #VUID-VkImageMemoryBarrier2-dstStageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -3432,7 +3432,7 @@
 --     or 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT'
 --     usage bits, and the
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
---     usage bit.
+--     usage bit
 --
 -- -   #VUID-VkImageMemoryBarrier2-attachmentFeedbackLoopLayout-07313# If
 --     the
@@ -3736,7 +3736,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkBufferMemoryBarrier2-shadingRateImage-07316# If neither the
+-- -   #VUID-VkBufferMemoryBarrier2-srcStageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -4120,7 +4120,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkBufferMemoryBarrier2-shadingRateImage-07316# If neither the
+-- -   #VUID-VkBufferMemoryBarrier2-dstStageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -4836,7 +4836,7 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-VkSemaphoreSubmitInfo-shadingRateImage-07316# If neither the
+-- -   #VUID-VkSemaphoreSubmitInfo-stageMask-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
diff --git a/src/Vulkan/Extensions.hs b/src/Vulkan/Extensions.hs
--- a/src/Vulkan/Extensions.hs
+++ b/src/Vulkan/Extensions.hs
@@ -246,6 +246,7 @@
                           , module Vulkan.Extensions.VK_KHR_xcb_surface
                           , module Vulkan.Extensions.VK_KHR_xlib_surface
                           , module Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory
+                          , module Vulkan.Extensions.VK_LUNARG_direct_driver_loading
                           , module Vulkan.Extensions.VK_MVK_ios_surface
                           , module Vulkan.Extensions.VK_MVK_macos_surface
                           , module Vulkan.Extensions.VK_NN_vi_surface
@@ -296,6 +297,7 @@
                           , module Vulkan.Extensions.VK_NV_win32_keyed_mutex
                           , module Vulkan.Extensions.VK_QCOM_fragment_density_map_offset
                           , module Vulkan.Extensions.VK_QCOM_image_processing
+                          , module Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports
                           , module Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve
                           , module Vulkan.Extensions.VK_QCOM_render_pass_store_ops
                           , module Vulkan.Extensions.VK_QCOM_render_pass_transform
@@ -552,6 +554,7 @@
 import Vulkan.Extensions.VK_KHR_xcb_surface
 import Vulkan.Extensions.VK_KHR_xlib_surface
 import Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory
+import Vulkan.Extensions.VK_LUNARG_direct_driver_loading
 import Vulkan.Extensions.VK_MVK_ios_surface
 import Vulkan.Extensions.VK_MVK_macos_surface
 import Vulkan.Extensions.VK_NN_vi_surface
@@ -602,6 +605,7 @@
 import Vulkan.Extensions.VK_NV_win32_keyed_mutex
 import Vulkan.Extensions.VK_QCOM_fragment_density_map_offset
 import Vulkan.Extensions.VK_QCOM_image_processing
+import Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports
 import Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve
 import Vulkan.Extensions.VK_QCOM_render_pass_store_ops
 import Vulkan.Extensions.VK_QCOM_render_pass_transform
diff --git a/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs b/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs
--- a/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs
+++ b/src/Vulkan/Extensions/VK_AMD_buffer_marker.hs
@@ -198,7 +198,7 @@
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_MESH_SHADER_BIT_EXT'
 --
 -- -   #VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-07077# If the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader task shaders>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-taskShader taskShader>
 --     feature is not enabled, @pipelineStage@ /must/ not be
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_EXT'
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs b/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs
--- a/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs
+++ b/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs
@@ -198,9 +198,8 @@
 -- -   #VUID-vkSetLocalDimmingAMD-swapChain-parameter# @swapChain@ /must/
 --     be a valid 'Vulkan.Extensions.Handles.SwapchainKHR' handle
 --
--- -   #VUID-vkSetLocalDimmingAMD-commonparent# Both of @device@, and
---     @swapChain@ /must/ have been created, allocated, or retrieved from
---     the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkSetLocalDimmingAMD-swapChain-parent# @swapChain@ /must/ have
+--     been created, allocated, or retrieved from @device@
 --
 -- == Valid Usage
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs b/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs
--- a/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs
+++ b/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs
@@ -110,6 +110,8 @@
                                                            , pattern AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME
                                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -123,8 +125,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs b/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs
@@ -105,6 +105,8 @@
                                                          , pattern AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME
                                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -118,8 +120,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs b/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs
--- a/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs
+++ b/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs
@@ -166,7 +166,7 @@
 -- -   #VUID-VkSamplerBorderColorComponentMappingCreateInfoEXT-borderColorSwizzle-06437#
 --     The
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-borderColorSwizzle borderColorSwizzle>
---     feature /must/ be enabled.
+--     feature /must/ be enabled
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs b/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs
--- a/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs
+++ b/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs
@@ -176,6 +176,8 @@
                                                        , pattern EXT_CONDITIONAL_RENDERING_EXTENSION_NAME
                                                        ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -197,8 +199,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
--- a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
+++ b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
@@ -174,6 +174,8 @@
                                                             , pattern EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME
                                                             ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -189,8 +191,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CFloat)
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_report.hs b/src/Vulkan/Extensions/VK_EXT_debug_report.hs
--- a/src/Vulkan/Extensions/VK_EXT_debug_report.hs
+++ b/src/Vulkan/Extensions/VK_EXT_debug_report.hs
@@ -392,6 +392,8 @@
                                               , DebugReportCallbackEXT(..)
                                               ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -421,8 +423,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CChar)
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
@@ -528,6 +528,8 @@
                                              , DebugUtilsMessengerEXT(..)
                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.CStruct.Utils (FixedArray)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
@@ -563,8 +565,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Type.Equality ((:~:)(Refl))
 import Data.Typeable (Typeable)
diff --git a/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs b/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs
--- a/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs
+++ b/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs
@@ -116,6 +116,8 @@
                                                    , pattern EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME
                                                    ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -129,8 +131,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs b/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs
--- a/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs
+++ b/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs
@@ -847,7 +847,7 @@
 --
 -- -   #VUID-vkCmdBindDescriptorBuffersEXT-pBindingInfos-08055# For any
 --     element of @pBindingInfos@, @usage@ /must/ match the buffer from
---     which @address@ was queried.
+--     which @address@ was queried
 --
 -- == Valid Usage (Implicit)
 --
@@ -1934,7 +1934,7 @@
     -- @uniformTexelBufferDescriptorSize@ indicates the size in bytes of a
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'
     -- descriptor if the
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>
     -- feature is not enabled.
     uniformTexelBufferDescriptorSize :: Word64
   , -- | #limits-robustUniformTexelBufferDescriptorSize#
@@ -1942,14 +1942,14 @@
     -- a
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'
     -- descriptor if the
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>
     -- feature is enabled.
     robustUniformTexelBufferDescriptorSize :: Word64
   , -- | #limits-storageTexelBufferDescriptorSize#
     -- @storageTexelBufferDescriptorSize@ indicates the size in bytes of a
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'
     -- descriptor if the
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>
     -- feature is not enabled.
     storageTexelBufferDescriptorSize :: Word64
   , -- | #limits-robustStorageTexelBufferDescriptorSize#
@@ -1957,7 +1957,7 @@
     -- a
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'
     -- descriptor if the
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>
     -- feature is enabled.
     robustStorageTexelBufferDescriptorSize :: Word64
   , -- | #limits-uniformBufferDescriptorSize# @uniformBufferDescriptorSize@
@@ -1969,7 +1969,7 @@
     -- @robustUniformBufferDescriptorSize@ indicates the size in bytes of a
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER'
     -- descriptor if the
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>
     -- feature is enabled.
     robustUniformBufferDescriptorSize :: Word64
   , -- | #limits-storageBufferDescriptorSize# @storageBufferDescriptorSize@
@@ -1981,7 +1981,7 @@
     -- @robustStorageBufferDescriptorSize@ indicates the size in bytes of a
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER'
     -- descriptor if the
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess robustBufferAccess>
     -- feature is enabled.
     robustStorageBufferDescriptorSize :: Word64
   , -- | #limits-inputAttachmentDescriptorSize# @inputAttachmentDescriptorSize@
diff --git a/src/Vulkan/Extensions/VK_EXT_device_address_binding_report.hs b/src/Vulkan/Extensions/VK_EXT_device_address_binding_report.hs
--- a/src/Vulkan/Extensions/VK_EXT_device_address_binding_report.hs
+++ b/src/Vulkan/Extensions/VK_EXT_device_address_binding_report.hs
@@ -246,6 +246,8 @@
                                                                , DebugUtilsMessageTypeFlagsEXT
                                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -260,8 +262,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs b/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs
--- a/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs
+++ b/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs
@@ -258,6 +258,8 @@
                                                       , pattern EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME
                                                       ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -272,8 +274,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs b/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs
--- a/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs
+++ b/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs
@@ -104,6 +104,8 @@
                                                   , SurfaceKHR(..)
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -129,8 +131,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
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
@@ -139,6 +139,8 @@
                                                     , pattern EXT_DISCARD_RECTANGLES_EXTENSION_NAME
                                                     ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -164,8 +166,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_display_control.hs b/src/Vulkan/Extensions/VK_EXT_display_control.hs
--- a/src/Vulkan/Extensions/VK_EXT_display_control.hs
+++ b/src/Vulkan/Extensions/VK_EXT_display_control.hs
@@ -516,9 +516,8 @@
 -- -   #VUID-vkGetSwapchainCounterEXT-pCounterValue-parameter#
 --     @pCounterValue@ /must/ be a valid pointer to a @uint64_t@ value
 --
--- -   #VUID-vkGetSwapchainCounterEXT-commonparent# Both of @device@, and
---     @swapchain@ /must/ have been created, allocated, or retrieved from
---     the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkGetSwapchainCounterEXT-swapchain-parent# @swapchain@ /must/
+--     have been created, allocated, or retrieved from @device@
 --
 -- == Return Codes
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs b/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs
--- a/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs
+++ b/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs
@@ -119,6 +119,8 @@
                                                          , SurfaceTransformFlagsKHR
                                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -141,8 +143,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
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
@@ -574,18 +574,6 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-02674#
---     @swapchain@ /must/ not be in the retired state
---
--- -   #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-02675#
---     @swapchain@ /must/ be a swapchain created with a
---     'SurfaceFullScreenExclusiveInfoEXT' structure, with
---     @fullScreenExclusive@ set to
---     'FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT'
---
--- -   #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-02676#
---     @swapchain@ /must/ not currently have exclusive full-screen access
---
 -- A return value of 'Vulkan.Core10.Enums.Result.SUCCESS' indicates that
 -- the @swapchain@ successfully acquired exclusive full-screen access. The
 -- swapchain will retain this exclusivity until either the application
@@ -603,19 +591,6 @@
 -- 'Vulkan.Core10.Enums.Result.ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT'
 -- has been returned by a swapchain command.
 --
--- == Valid Usage (Implicit)
---
--- -   #VUID-vkAcquireFullScreenExclusiveModeEXT-device-parameter# @device@
---     /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
---
--- -   #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-parameter#
---     @swapchain@ /must/ be a valid
---     'Vulkan.Extensions.Handles.SwapchainKHR' handle
---
--- -   #VUID-vkAcquireFullScreenExclusiveModeEXT-commonparent# Both of
---     @device@, and @swapchain@ /must/ have been created, allocated, or
---     retrieved from the same 'Vulkan.Core10.Handles.Instance'
---
 -- == Return Codes
 --
 -- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]
@@ -639,9 +614,30 @@
 acquireFullScreenExclusiveModeEXT :: forall io
                                    . (MonadIO io)
                                   => -- | @device@ is the device associated with @swapchain@.
+                                     --
+                                     -- #VUID-vkAcquireFullScreenExclusiveModeEXT-device-parameter# @device@
+                                     -- /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
                                      Device
                                   -> -- | @swapchain@ is the swapchain to acquire exclusive full-screen access
                                      -- for.
+                                     --
+                                     -- #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-02674# @swapchain@
+                                     -- /must/ not be in the retired state
+                                     --
+                                     -- #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-02675# @swapchain@
+                                     -- /must/ be a swapchain created with a 'SurfaceFullScreenExclusiveInfoEXT'
+                                     -- structure, with @fullScreenExclusive@ set to
+                                     -- 'FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT'
+                                     --
+                                     -- #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-02676# @swapchain@
+                                     -- /must/ not currently have exclusive full-screen access
+                                     --
+                                     -- #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-parameter#
+                                     -- @swapchain@ /must/ be a valid 'Vulkan.Extensions.Handles.SwapchainKHR'
+                                     -- handle
+                                     --
+                                     -- #VUID-vkAcquireFullScreenExclusiveModeEXT-swapchain-parent# @swapchain@
+                                     -- /must/ have been created, allocated, or retrieved from @device@
                                      SwapchainKHR
                                   -> io ()
 acquireFullScreenExclusiveModeEXT device swapchain = liftIO $ do
diff --git a/src/Vulkan/Extensions/VK_EXT_graphics_pipeline_library.hs b/src/Vulkan/Extensions/VK_EXT_graphics_pipeline_library.hs
--- a/src/Vulkan/Extensions/VK_EXT_graphics_pipeline_library.hs
+++ b/src/Vulkan/Extensions/VK_EXT_graphics_pipeline_library.hs
@@ -167,6 +167,8 @@
                                                            , pattern EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME
                                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -180,8 +182,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
--- a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
+++ b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
@@ -209,9 +209,9 @@
 -- -   #VUID-vkSetHdrMetadataEXT-swapchainCount-arraylength#
 --     @swapchainCount@ /must/ be greater than @0@
 --
--- -   #VUID-vkSetHdrMetadataEXT-commonparent# Both of @device@, and the
---     elements of @pSwapchains@ /must/ have been created, allocated, or
---     retrieved from the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkSetHdrMetadataEXT-pSwapchains-parent# Each element of
+--     @pSwapchains@ /must/ have been created, allocated, or retrieved from
+--     @device@
 --
 -- = See Also
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_headless_surface.hs b/src/Vulkan/Extensions/VK_EXT_headless_surface.hs
--- a/src/Vulkan/Extensions/VK_EXT_headless_surface.hs
+++ b/src/Vulkan/Extensions/VK_EXT_headless_surface.hs
@@ -112,6 +112,8 @@
                                                   , SurfaceKHR(..)
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -137,8 +139,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_EXT_image_compression_control.hs b/src/Vulkan/Extensions/VK_EXT_image_compression_control.hs
--- a/src/Vulkan/Extensions/VK_EXT_image_compression_control.hs
+++ b/src/Vulkan/Extensions/VK_EXT_image_compression_control.hs
@@ -195,6 +195,8 @@
                                                            , pattern EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME
                                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -218,8 +220,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Type.Equality ((:~:)(Refl))
 import Data.Typeable (Typeable)
diff --git a/src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs b/src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs
--- a/src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs
+++ b/src/Vulkan/Extensions/VK_EXT_image_view_min_lod.hs
@@ -249,11 +249,11 @@
 --
 -- -   #VUID-VkImageViewMinLodCreateInfoEXT-minLod-06455# If the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-minLod minLod>
---     feature is not enabled, @minLod@ /must/ be @0.0@.
+--     feature is not enabled, @minLod@ /must/ be @0.0@
 --
 -- -   #VUID-VkImageViewMinLodCreateInfoEXT-minLod-06456# @minLod@ /must/
 --     be less or equal to the index of the last mipmap level accessible to
---     the view.
+--     the view
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs b/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs
--- a/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs
+++ b/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs
@@ -499,7 +499,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-02700# A valid pipeline /must/ be
 --     bound to the pipeline bind point used by this command
@@ -598,6 +598,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMeshTasksEXT-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMeshTasksEXT-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMeshTasksEXT-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
@@ -700,14 +714,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -715,7 +729,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -737,9 +751,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMeshTasksEXT-None-02686# Every input attachment used
---     by the current subpass /must/ be bound to the pipeline via a
---     descriptor set
+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-07748# If any shader statically
+--     accesses an input attachment, a valid descriptor /must/ be bound to
+--     the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -750,10 +764,11 @@
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-07469# Input attachment views
 --     accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -1081,28 +1096,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMeshTasksEXT-attachmentCount-06667# If the bound
---     graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-07749# If the bound graphics
+--     pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMeshTasksEXT-attachmentCount-07750# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMeshTasksEXT-attachmentCount-06815# If the bound
---     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-07751# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-pDepthAttachment-06181# If the current
 --     render pass instance was begun with
@@ -1288,7 +1305,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -1297,7 +1314,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-07619# If the bound graphics
 --     pipeline state was created with the
@@ -2240,7 +2257,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-02700# A valid pipeline
 --     /must/ be bound to the pipeline bind point used by this command
@@ -2339,6 +2356,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-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
@@ -2443,14 +2474,14 @@
 --     If @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageWeightedSampleQCOM-06977#
 --     If @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-OpImageWeightedSampleQCOM-06978#
 --     If any command other than @OpImageWeightedSampleQCOM@,
@@ -2458,7 +2489,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07288# Any shader
 --     invocation executed by this command /must/
@@ -2480,9 +2511,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-02686# Every input
---     attachment used by the current subpass /must/ be bound to the
---     pipeline via a descriptor set
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07748# If any shader
+--     statically accesses an input attachment, a valid descriptor /must/
+--     be bound to the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -2493,10 +2524,11 @@
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07469# Input attachment
 --     views accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -2825,28 +2857,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-attachmentCount-06667# If the
---     bound graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07749# If the bound
+--     graphics pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-attachmentCount-07750# If the
+--     bound graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-attachmentCount-06815# If the
---     bound graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07751# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-pDepthAttachment-06181# If the
 --     current render pass instance was begun with
@@ -3032,7 +3066,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -3041,7 +3075,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07619# If the bound
 --     graphics pipeline state was created with the
@@ -3972,7 +4006,7 @@
 --     is dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02700# A valid
 --     pipeline /must/ be bound to the pipeline bind point used by this
@@ -4072,6 +4106,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-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
@@ -4176,14 +4224,14 @@
 --     If @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageWeightedSampleQCOM-06977#
 --     If @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpImageWeightedSampleQCOM-06978#
 --     If any command other than @OpImageWeightedSampleQCOM@,
@@ -4191,7 +4239,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07288# Any shader
 --     invocation executed by this command /must/
@@ -4213,9 +4261,9 @@
 --     'Vulkan.Core10.Handles.Pipeline' bound to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-02686# Every input
---     attachment used by the current subpass /must/ be bound to the
---     pipeline via a descriptor set
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07748# If any shader
+--     statically accesses an input attachment, a valid descriptor /must/
+--     be bound to the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-OpTypeImage-07468# If any
 --     shader executed by this pipeline accesses an @OpTypeImage@ variable
@@ -4226,10 +4274,12 @@
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07469# Input
 --     attachment views accessed in a subpass /must/ be created with the
 --     same 'Vulkan.Core10.Enums.Format.Format' as the corresponding
---     subpass definition be created with a
---     'Vulkan.Core10.Handles.ImageView' that is an attachment in the
---     currently bound 'Vulkan.Core10.Handles.Framebuffer' at an index that
---     corresponds to a valid input attachment in the current subpass
+--     subpass definition, and be created with a
+--     'Vulkan.Core10.Handles.ImageView' that is compatible with the
+--     attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-06537# Memory backing
 --     image subresources used as attachments in the current render pass
@@ -4558,28 +4608,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-attachmentCount-06667# If
---     the bound graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07749# If the bound
+--     graphics pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-attachmentCount-07750# If
+--     the bound graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-attachmentCount-06815# If
---     the bound graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07751# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-pDepthAttachment-06181# If
 --     the current render pass instance was begun with
@@ -4765,7 +4817,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -4774,7 +4826,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07619# If the bound
 --     graphics pipeline state was created with the
diff --git a/src/Vulkan/Extensions/VK_EXT_metal_objects.hs b/src/Vulkan/Extensions/VK_EXT_metal_objects.hs
--- a/src/Vulkan/Extensions/VK_EXT_metal_objects.hs
+++ b/src/Vulkan/Extensions/VK_EXT_metal_objects.hs
@@ -234,6 +234,8 @@
                                                , MTLSharedEvent_id
                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -257,8 +259,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Type.Equality ((:~:)(Refl))
 import Data.Typeable (Typeable)
@@ -424,7 +424,7 @@
 --     @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo' structure in
---     the 'Vulkan.Core10.DeviceInitialization.createInstance' command.
+--     the 'Vulkan.Core10.DeviceInitialization.createInstance' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06792# If the @pNext@ chain
 --     includes a 'ExportMetalCommandQueueInfoEXT' structure, the
@@ -433,7 +433,7 @@
 --     @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo' structure in
---     the 'Vulkan.Core10.DeviceInitialization.createInstance' command.
+--     the 'Vulkan.Core10.DeviceInitialization.createInstance' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06793# If the @pNext@ chain
 --     includes a 'ExportMetalBufferInfoEXT' structure, the
@@ -443,12 +443,12 @@
 --     @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.Memory.MemoryAllocateInfo' structure in the
---     'Vulkan.Core10.Memory.allocateMemory' command.
+--     'Vulkan.Core10.Memory.allocateMemory' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06794# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, exactly one of its
 --     @image@, @imageView@, or @bufferView@ members /must/ not be
---     'Vulkan.Core10.APIConstants.NULL_HANDLE'.
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06795# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, and its @image@
@@ -458,7 +458,7 @@
 --     @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.Image.ImageCreateInfo' structure in the
---     'Vulkan.Core10.Image.createImage' command.
+--     'Vulkan.Core10.Image.createImage' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06796# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, and its
@@ -469,7 +469,7 @@
 --     @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.ImageView.ImageViewCreateInfo' structure in the
---     'Vulkan.Core10.ImageView.createImageView' command.
+--     'Vulkan.Core10.ImageView.createImageView' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06797# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, and its
@@ -480,7 +480,7 @@
 --     @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.BufferView.BufferViewCreateInfo' structure in the
---     'Vulkan.Core10.BufferView.createBufferView' command.
+--     'Vulkan.Core10.BufferView.createBufferView' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06798# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, and if either its
@@ -489,13 +489,13 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',
 --     or
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT'
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06799# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, and if the
 --     'Vulkan.Core10.Handles.Image' in its @image@ member does not have a
 --     multi-planar format, then its @plane@ member /must/ be
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06800# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, and if the
@@ -508,7 +508,7 @@
 --     includes a 'ExportMetalTextureInfoEXT' structure, and if the
 --     'Vulkan.Core10.Handles.ImageView' in its @imageView@ member does not
 --     have a multi-planar format, then its @plane@ member /must/ be
---     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'.
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06802# If the @pNext@ chain
 --     includes a 'ExportMetalTextureInfoEXT' structure, and if the
@@ -524,12 +524,12 @@
 --     the @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.Image.ImageCreateInfo' structure in the
---     'Vulkan.Core10.Image.createImage' command.
+--     'Vulkan.Core10.Image.createImage' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06804# If the @pNext@ chain
 --     includes a 'ExportMetalSharedEventInfoEXT' structure, exactly one of
 --     its @semaphore@ or @event@ members /must/ not be
---     'Vulkan.Core10.APIConstants.NULL_HANDLE'.
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06805# If the @pNext@ chain
 --     includes a 'ExportMetalSharedEventInfoEXT' structure, and its
@@ -540,7 +540,7 @@
 --     @exportObjectType@ member of a 'ExportMetalObjectCreateInfoEXT'
 --     structure in the @pNext@ chain of the
 --     'Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo' structure in the
---     'Vulkan.Core10.QueueSemaphore.createSemaphore' command.
+--     'Vulkan.Core10.QueueSemaphore.createSemaphore' command
 --
 -- -   #VUID-VkExportMetalObjectsInfoEXT-pNext-06806# If the @pNext@ chain
 --     includes a 'ExportMetalSharedEventInfoEXT' structure, and its
@@ -550,7 +550,7 @@
 --     in the @exportObjectType@ member of a
 --     'ExportMetalObjectCreateInfoEXT' structure in the @pNext@ chain of
 --     the 'Vulkan.Core10.Event.EventCreateInfo' structure in the
---     'Vulkan.Core10.Event.createEvent' command.
+--     'Vulkan.Core10.Event.createEvent' command
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_metal_surface.hs b/src/Vulkan/Extensions/VK_EXT_metal_surface.hs
--- a/src/Vulkan/Extensions/VK_EXT_metal_surface.hs
+++ b/src/Vulkan/Extensions/VK_EXT_metal_surface.hs
@@ -102,6 +102,8 @@
                                                , SurfaceKHR(..)
                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -127,8 +129,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
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
@@ -364,7 +364,7 @@
 -- -   #VUID-vkCmdDrawMultiEXT-None-08119# If a descriptor is dynamically
 --     used with a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-02700# A valid pipeline /must/ be bound
 --     to the pipeline bind point used by this command
@@ -463,6 +463,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMultiEXT-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMultiEXT-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMultiEXT-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
@@ -565,14 +579,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMultiEXT-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMultiEXT-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -580,7 +594,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-07288# Any shader invocation executed
 --     by this command /must/
@@ -602,9 +616,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMultiEXT-None-02686# Every input attachment used by
---     the current subpass /must/ be bound to the pipeline via a descriptor
---     set
+-- -   #VUID-vkCmdDrawMultiEXT-None-07748# If any shader statically
+--     accesses an input attachment, a valid descriptor /must/ be bound to
+--     the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMultiEXT-OpTypeImage-07468# If any shader executed by
 --     this pipeline accesses an @OpTypeImage@ variable with a @Dim@
@@ -615,10 +629,11 @@
 -- -   #VUID-vkCmdDrawMultiEXT-None-07469# Input attachment views accessed
 --     in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -946,28 +961,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMultiEXT-attachmentCount-06667# If the bound graphics
---     pipeline state was created with the
+-- -   #VUID-vkCmdDrawMultiEXT-None-07749# If the bound graphics pipeline
+--     state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMultiEXT-attachmentCount-07750# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMultiEXT-attachmentCount-06815# If the bound graphics
---     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMultiEXT-None-07751# If the bound graphics pipeline
+--     state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-pDepthAttachment-06181# If the current
 --     render pass instance was begun with
@@ -1153,7 +1170,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMultiEXT-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -1162,7 +1179,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-07619# If the bound graphics pipeline
 --     state was created with the
@@ -2168,7 +2185,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-02700# A valid pipeline /must/
 --     be bound to the pipeline bind point used by this command
@@ -2267,6 +2284,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-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
@@ -2369,14 +2400,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-OpImageWeightedSampleQCOM-06978# If
 --     any command other than @OpImageWeightedSampleQCOM@,
@@ -2384,7 +2415,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -2406,9 +2437,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMultiIndexedEXT-None-02686# Every input attachment
---     used by the current subpass /must/ be bound to the pipeline via a
---     descriptor set
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07748# If any shader statically
+--     accesses an input attachment, a valid descriptor /must/ be bound to
+--     the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -2419,10 +2450,11 @@
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07469# Input attachment views
 --     accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -2750,28 +2782,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMultiIndexedEXT-attachmentCount-06667# If the bound
---     graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07749# If the bound graphics
+--     pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-attachmentCount-07750# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMultiIndexedEXT-attachmentCount-06815# If the bound
---     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07751# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-pDepthAttachment-06181# If the
 --     current render pass instance was begun with
@@ -2957,7 +2991,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -2966,7 +3000,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07619# If the bound graphics
 --     pipeline state was created with the
diff --git a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs
--- a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs
+++ b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs
@@ -470,6 +470,8 @@
                                                   , AccelerationStructureCompatibilityKHR(..)
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -504,8 +506,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CChar)
@@ -754,9 +754,16 @@
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-pipeline-stages pipeline stage>
 -- and an
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-access-types access type>
--- of 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_MICROMAP_READ_BIT_EXT' or
--- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_MICROMAP_WRITE_BIT_EXT'.
--- Similarly for accesses to 'MicromapBuildInfoEXT'::@dstMicromap@.
+-- of ('Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_MICROMAP_READ_BIT_EXT' |
+-- 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_MICROMAP_WRITE_BIT_EXT').
+-- Accesses to 'MicromapBuildInfoEXT'::@dstMicromap@ /must/ be
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-dependencies synchronized>
+-- with the
+-- 'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_MICROMAP_BUILD_BIT_EXT'
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-pipeline-stages pipeline stage>
+-- and an
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-access-types access type>
+-- of 'Vulkan.Core13.Enums.AccessFlags2.ACCESS_2_MICROMAP_WRITE_BIT_EXT'.
 --
 -- Accesses to other input buffers as identified by any used values of
 -- 'MicromapBuildInfoEXT'::@data@ or
@@ -2341,7 +2348,7 @@
 --
 -- -   #VUID-VkMicromapBuildInfoEXT-pUsageCounts-07516# Only one of
 --     @pUsageCounts@ or @ppUsageCounts@ /can/ be a valid pointer, the
---     other /must/ be @NULL@.
+--     other /must/ be @NULL@
 --
 -- -   #VUID-VkMicromapBuildInfoEXT-type-07517# If @type@ is
 --     'MICROMAP_TYPE_OPACITY_MICROMAP_EXT' the @format@ member of
@@ -3065,7 +3072,7 @@
 -- -   #VUID-VkMicromapUsageEXT-format-07519# If the 'MicromapTypeEXT' of
 --     the micromap is 'MICROMAP_TYPE_OPACITY_MICROMAP_EXT' then @format@
 --     /must/ be 'OPACITY_MICROMAP_FORMAT_2_STATE_EXT' or
---     'OPACITY_MICROMAP_FORMAT_4_STATE_EXT'.
+--     'OPACITY_MICROMAP_FORMAT_4_STATE_EXT'
 --
 -- -   #VUID-VkMicromapUsageEXT-format-07520# If the 'MicromapTypeEXT' of
 --     the micromap is 'MICROMAP_TYPE_OPACITY_MICROMAP_EXT' and @format@ is
@@ -3146,7 +3153,7 @@
 -- -   #VUID-VkMicromapTriangleEXT-format-07522# If the 'MicromapTypeEXT'
 --     of the micromap is 'MICROMAP_TYPE_OPACITY_MICROMAP_EXT' then
 --     @format@ /must/ be 'OPACITY_MICROMAP_FORMAT_2_STATE_EXT' or
---     'OPACITY_MICROMAP_FORMAT_4_STATE_EXT'.
+--     'OPACITY_MICROMAP_FORMAT_4_STATE_EXT'
 --
 -- -   #VUID-VkMicromapTriangleEXT-format-07523# If the 'MicromapTypeEXT'
 --     of the micromap is 'MICROMAP_TYPE_OPACITY_MICROMAP_EXT' and @format@
@@ -3409,7 +3416,7 @@
 --
 -- -   #VUID-VkAccelerationStructureTrianglesOpacityMicromapEXT-pUsageCounts-07335#
 --     Only one of @pUsageCounts@ or @ppUsageCounts@ /can/ be a valid
---     pointer, the other /must/ be @NULL@.
+--     pointer, the other /must/ be @NULL@
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -253,6 +253,8 @@
                                                     , pattern EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME
                                                     ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -277,8 +279,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
@@ -1008,7 +1008,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     and the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-primitivesGeneratedQueryWithNonZeroStreams primitivesGeneratedQueryWithNonZeroStreams>
---     feature is not enabled, the @index@ parameter /must/ be zero.
+--     feature is not enabled, the @index@ parameter /must/ be zero
 --
 -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-06692# If the @queryType@
 --     used to create @queryPool@ was not
@@ -1551,7 +1551,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-02700# A valid pipeline
 --     /must/ be bound to the pipeline bind point used by this command
@@ -1650,6 +1650,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-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
@@ -1754,14 +1768,14 @@
 --     If @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-OpImageWeightedSampleQCOM-06977#
 --     If @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-OpImageWeightedSampleQCOM-06978#
 --     If any command other than @OpImageWeightedSampleQCOM@,
@@ -1769,7 +1783,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07288# Any shader
 --     invocation executed by this command /must/
@@ -1791,9 +1805,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-02686# Every input
---     attachment used by the current subpass /must/ be bound to the
---     pipeline via a descriptor set
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07748# If any shader
+--     statically accesses an input attachment, a valid descriptor /must/
+--     be bound to the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -1804,10 +1818,11 @@
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07469# Input attachment
 --     views accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -2136,28 +2151,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawIndirectByteCountEXT-attachmentCount-06667# If the
---     bound graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07749# If the bound
+--     graphics pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-attachmentCount-07750# If the
+--     bound graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawIndirectByteCountEXT-attachmentCount-06815# If the
---     bound graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07751# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-pDepthAttachment-06181# If the
 --     current render pass instance was begun with
@@ -2343,7 +2360,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -2352,7 +2369,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07619# If the bound
 --     graphics pipeline state was created with the
diff --git a/src/Vulkan/Extensions/VK_EXT_validation_cache.hs b/src/Vulkan/Extensions/VK_EXT_validation_cache.hs
--- a/src/Vulkan/Extensions/VK_EXT_validation_cache.hs
+++ b/src/Vulkan/Extensions/VK_EXT_validation_cache.hs
@@ -141,6 +141,8 @@
                                                   , ValidationCacheEXT(..)
                                                   ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -173,8 +175,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CChar)
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
@@ -244,6 +244,8 @@
                                                        , Zx_handle_t
                                                        ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -272,8 +274,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
@@ -623,7 +623,7 @@
 --     'BufferCollectionBufferCreateInfoFUCHSIA' chained to their
 --     'Vulkan.Core10.Image.ImageCreateInfo' or
 --     'Vulkan.Core10.Buffer.BufferCreateInfo' structures respectively,
---     /may/ outlive @collection@.
+--     /may/ outlive @collection@
 --
 -- == Valid Usage (Implicit)
 --
@@ -717,7 +717,7 @@
 --     calling 'getBufferCollectionPropertiesFUCHSIA', the constraints on
 --     the buffer collection /must/ have been set by either
 --     'setBufferCollectionImageConstraintsFUCHSIA' or
---     'setBufferCollectionBufferConstraintsFUCHSIA'.
+--     'setBufferCollectionBufferConstraintsFUCHSIA'
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs b/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs
@@ -102,6 +102,8 @@
                                                        , SurfaceKHR(..)
                                                        ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -127,8 +129,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs b/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs
--- a/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs
+++ b/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs
@@ -128,6 +128,8 @@
                                                            , SurfaceKHR(..)
                                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -153,8 +155,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs b/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs
--- a/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs
+++ b/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs
@@ -216,9 +216,8 @@
 --     @pDisplayTimingProperties@ /must/ be a valid pointer to a
 --     'RefreshCycleDurationGOOGLE' structure
 --
--- -   #VUID-vkGetRefreshCycleDurationGOOGLE-commonparent# Both of
---     @device@, and @swapchain@ /must/ have been created, allocated, or
---     retrieved from the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkGetRefreshCycleDurationGOOGLE-swapchain-parent# @swapchain@
+--     /must/ have been created, allocated, or retrieved from @device@
 --
 -- == Host Synchronization
 --
@@ -309,9 +308,9 @@
 --     /must/ be a valid pointer to an array of @pPresentationTimingCount@
 --     'PastPresentationTimingGOOGLE' structures
 --
--- -   #VUID-vkGetPastPresentationTimingGOOGLE-commonparent# Both of
---     @device@, and @swapchain@ /must/ have been created, allocated, or
---     retrieved from the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkGetPastPresentationTimingGOOGLE-swapchain-parent#
+--     @swapchain@ /must/ have been created, allocated, or retrieved from
+--     @device@
 --
 -- == Host Synchronization
 --
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs
--- a/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs
+++ b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs
@@ -661,7 +661,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02700# A valid pipeline /must/
 --     be bound to the pipeline bind point used by this command
@@ -760,6 +760,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdSubpassShadingHUAWEI-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
@@ -864,14 +878,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdSubpassShadingHUAWEI-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdSubpassShadingHUAWEI-OpImageWeightedSampleQCOM-06978# If
 --     any command other than @OpImageWeightedSampleQCOM@,
@@ -879,7 +893,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdSubpassShadingHUAWEI-None-07288# Any shader invocation
 --     executed by this command /must/
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
@@ -1265,6 +1265,10 @@
                                                         , DebugReportObjectTypeEXT(..)
                                                         ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
+import Data.Bits (shiftL)
+import Data.Bits (shiftR)
 import Vulkan.CStruct.Utils (FixedArray)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
@@ -1274,8 +1278,6 @@
 import Control.Monad.IO.Class (liftIO)
 import Data.Bits ((.&.))
 import Data.Bits ((.|.))
-import Data.Bits (shiftL)
-import Data.Bits (shiftR)
 import Data.Typeable (eqT)
 import Foreign.Marshal.Alloc (allocaBytes)
 import Foreign.Marshal.Alloc (callocBytes)
@@ -1308,8 +1310,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Type.Equality ((:~:)(Refl))
 import Data.Typeable (Typeable)
@@ -2844,13 +2844,25 @@
 -- and an
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-access-types access type>
 -- of
--- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'
--- or
--- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR'.
--- Similarly for accesses to each
+-- ('Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'
+-- |
+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR').
+-- Accesses to each
 -- 'AccelerationStructureBuildGeometryInfoKHR'::@srcAccelerationStructure@
 -- and
--- 'AccelerationStructureBuildGeometryInfoKHR'::@dstAccelerationStructure@.
+-- 'AccelerationStructureBuildGeometryInfoKHR'::@dstAccelerationStructure@
+-- /must/ be
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-dependencies synchronized>
+-- with the
+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR'
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-pipeline-stages pipeline stage>
+-- and an
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#synchronization-access-types access type>
+-- of
+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'
+-- or
+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR',
+-- as appropriate.
 --
 -- Accesses to other input buffers as identified by any used values of
 -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureGeometryMotionTrianglesDataNV'::@vertexData@,
@@ -5670,7 +5682,7 @@
 --     'BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_UPDATE_EXT' bit
 --     set then it /must/ not have the
 --     'BUILD_ACCELERATION_STRUCTURE_ALLOW_OPACITY_MICROMAP_DATA_UPDATE_EXT'
---     bit set.
+--     bit set
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_android_surface.hs b/src/Vulkan/Extensions/VK_KHR_android_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_android_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_android_surface.hs
@@ -170,6 +170,8 @@
                                                  , SurfaceKHR(..)
                                                  ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -195,8 +197,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_KHR_display.hs b/src/Vulkan/Extensions/VK_KHR_display.hs
--- a/src/Vulkan/Extensions/VK_KHR_display.hs
+++ b/src/Vulkan/Extensions/VK_KHR_display.hs
@@ -545,6 +545,8 @@
                                          , SurfaceTransformFlagsKHR
                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -574,8 +576,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CChar)
diff --git a/src/Vulkan/Extensions/VK_KHR_performance_query.hs b/src/Vulkan/Extensions/VK_KHR_performance_query.hs
--- a/src/Vulkan/Extensions/VK_KHR_performance_query.hs
+++ b/src/Vulkan/Extensions/VK_KHR_performance_query.hs
@@ -534,6 +534,8 @@
                                                    , pattern KHR_PERFORMANCE_QUERY_EXTENSION_NAME
                                                    ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.CStruct.Utils (FixedArray)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
@@ -567,8 +569,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CChar)
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
@@ -298,9 +298,8 @@
 -- -   #VUID-vkWaitForPresentKHR-swapchain-parameter# @swapchain@ /must/ be
 --     a valid 'Vulkan.Extensions.Handles.SwapchainKHR' handle
 --
--- -   #VUID-vkWaitForPresentKHR-commonparent# Both of @device@, and
---     @swapchain@ /must/ have been created, allocated, or retrieved from
---     the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkWaitForPresentKHR-swapchain-parent# @swapchain@ /must/ have
+--     been created, allocated, or retrieved from @device@
 --
 -- == Host Synchronization
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs b/src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs
--- a/src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs
+++ b/src/Vulkan/Extensions/VK_KHR_ray_tracing_maintenance1.hs
@@ -435,7 +435,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdTraceRaysIndirect2KHR-None-02700# A valid pipeline /must/
 --     be bound to the pipeline bind point used by this command
@@ -534,6 +534,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdTraceRaysIndirect2KHR-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdTraceRaysIndirect2KHR-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdTraceRaysIndirect2KHR-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
@@ -638,14 +652,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdTraceRaysIndirect2KHR-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysIndirect2KHR-OpImageWeightedSampleQCOM-06978# If
 --     any command other than @OpImageWeightedSampleQCOM@,
@@ -653,7 +667,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysIndirect2KHR-None-07288# Any shader invocation
 --     executed by this command /must/
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
@@ -1057,7 +1057,7 @@
 -- -   #VUID-vkCmdTraceRaysKHR-None-08119# If a descriptor is dynamically
 --     used with a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdTraceRaysKHR-None-02700# A valid pipeline /must/ be bound
 --     to the pipeline bind point used by this command
@@ -1156,6 +1156,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdTraceRaysKHR-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdTraceRaysKHR-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdTraceRaysKHR-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
@@ -1258,14 +1272,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdTraceRaysKHR-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysKHR-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -1273,7 +1287,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysKHR-None-07288# Any shader invocation executed
 --     by this command /must/
@@ -1681,9 +1695,17 @@
   "dynamic" mkVkGetRayTracingCaptureReplayShaderGroupHandlesKHR
   :: FunPtr (Ptr Device_T -> Pipeline -> Word32 -> Word32 -> CSize -> Ptr () -> IO Result) -> Ptr Device_T -> Pipeline -> Word32 -> Word32 -> CSize -> Ptr () -> IO Result
 
--- | vkGetRayTracingCaptureReplayShaderGroupHandlesKHR - Query ray tracing
--- capture replay pipeline shader group handles
+-- | vkGetRayTracingCaptureReplayShaderGroupHandlesKHR - Query opaque capture
+-- replay data for pipeline shader group handles
 --
+-- = Description
+--
+-- Once queried, this opaque data /can/ be provided at pipeline creation
+-- time (in a subsequent execution), using
+-- 'RayTracingShaderGroupCreateInfoKHR'::@pShaderGroupCaptureReplayHandle@,
+-- as described in
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#ray-tracing-capture-replay Ray Tracing Capture Replay>.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkGetRayTracingCaptureReplayShaderGroupHandlesKHR-pipeline-04620#
@@ -2174,7 +2196,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-None-02700# A valid pipeline /must/
 --     be bound to the pipeline bind point used by this command
@@ -2273,6 +2295,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdTraceRaysIndirectKHR-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdTraceRaysIndirectKHR-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-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
@@ -2377,14 +2413,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-OpImageWeightedSampleQCOM-06978# If
 --     any command other than @OpImageWeightedSampleQCOM@,
@@ -2392,7 +2428,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -2970,7 +3006,10 @@
     -- 'Vulkan.Core10.APIConstants.SHADER_UNUSED_KHR' otherwise.
     intersectionShader :: Word32
   , -- | @pShaderGroupCaptureReplayHandle@ is @NULL@ or a pointer to replay
-    -- information for this shader group. Ignored if
+    -- information for this shader group queried from
+    -- 'getRayTracingCaptureReplayShaderGroupHandlesKHR', as described in
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#ray-tracing-capture-replay Ray Tracing Capture Replay>.
+    -- Ignored if
     -- 'PhysicalDeviceRayTracingPipelineFeaturesKHR'::@rayTracingPipelineShaderGroupHandleCaptureReplay@
     -- is 'Vulkan.Core10.FundamentalTypes.FALSE'.
     shaderGroupCaptureReplayHandle :: Ptr ()
diff --git a/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs b/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs
--- a/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs
@@ -289,9 +289,8 @@
 -- -   #VUID-vkGetSwapchainStatusKHR-swapchain-parameter# @swapchain@
 --     /must/ be a valid 'Vulkan.Extensions.Handles.SwapchainKHR' handle
 --
--- -   #VUID-vkGetSwapchainStatusKHR-commonparent# Both of @device@, and
---     @swapchain@ /must/ have been created, allocated, or retrieved from
---     the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkGetSwapchainStatusKHR-swapchain-parent# @swapchain@ /must/
+--     have been created, allocated, or retrieved from @device@
 --
 -- == Host Synchronization
 --
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
@@ -431,6 +431,8 @@
                                          , SurfaceKHR(..)
                                          ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -458,8 +460,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
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
@@ -1121,6 +1121,8 @@
                                            , SurfaceTransformFlagsKHR
                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.CStruct.Utils (FixedArray)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
@@ -1152,8 +1154,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Type.Equality ((:~:)(Refl))
 import Data.Typeable (Typeable)
@@ -1565,10 +1565,9 @@
 --     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid
 --     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure
 --
--- -   #VUID-vkDestroySwapchainKHR-commonparent# Both of @device@, and
---     @swapchain@ that are valid handles of non-ignored parameters /must/
---     have been created, allocated, or retrieved from the same
---     'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkDestroySwapchainKHR-swapchain-parent# If @swapchain@ is a
+--     valid handle, it /must/ have been created, allocated, or retrieved
+--     from @device@
 --
 -- == Host Synchronization
 --
@@ -1648,9 +1647,8 @@
 --     valid pointer to an array of @pSwapchainImageCount@
 --     'Vulkan.Core10.Handles.Image' handles
 --
--- -   #VUID-vkGetSwapchainImagesKHR-commonparent# Both of @device@, and
---     @swapchain@ /must/ have been created, allocated, or retrieved from
---     the same 'Vulkan.Core10.Handles.Instance'
+-- -   #VUID-vkGetSwapchainImagesKHR-swapchain-parent# @swapchain@ /must/
+--     have been created, allocated, or retrieved from @device@
 --
 -- == Return Codes
 --
@@ -1810,6 +1808,9 @@
 -- -   #VUID-vkAcquireNextImageKHR-pImageIndex-parameter# @pImageIndex@
 --     /must/ be a valid pointer to a @uint32_t@ value
 --
+-- -   #VUID-vkAcquireNextImageKHR-swapchain-parent# @swapchain@ /must/
+--     have been created, allocated, or retrieved from @device@
+--
 -- -   #VUID-vkAcquireNextImageKHR-semaphore-parent# If @semaphore@ is a
 --     valid handle, it /must/ have been created, allocated, or retrieved
 --     from @device@
@@ -1818,11 +1819,6 @@
 --     handle, it /must/ have been created, allocated, or retrieved from
 --     @device@
 --
--- -   #VUID-vkAcquireNextImageKHR-commonparent# Both of @device@, and
---     @swapchain@ that are valid handles of non-ignored parameters /must/
---     have been created, allocated, or retrieved from the same
---     'Vulkan.Core10.Handles.Instance'
---
 -- == Host Synchronization
 --
 -- -   Host access to @swapchain@ /must/ be externally synchronized
@@ -2756,10 +2752,6 @@
 --     @oldSwapchain@ /must/ be a valid
 --     'Vulkan.Extensions.Handles.SwapchainKHR' handle
 --
--- -   #VUID-VkSwapchainCreateInfoKHR-oldSwapchain-parent# If
---     @oldSwapchain@ is a valid handle, it /must/ have been created,
---     allocated, or retrieved from @surface@
---
 -- -   #VUID-VkSwapchainCreateInfoKHR-commonparent# Both of @oldSwapchain@,
 --     and @surface@ that are valid handles of non-ignored parameters
 --     /must/ have been created, allocated, or retrieved from the same
@@ -3093,8 +3085,7 @@
 -- -   #VUID-VkPresentInfoKHR-commonparent# Both of the elements of
 --     @pSwapchains@, and the elements of @pWaitSemaphores@ that are valid
 --     handles of non-ignored parameters /must/ have been created,
---     allocated, or retrieved from the same
---     'Vulkan.Core10.Handles.Instance'
+--     allocated, or retrieved from the same 'Vulkan.Core10.Handles.Device'
 --
 -- = See Also
 --
@@ -3514,7 +3505,7 @@
 -- -   #VUID-VkAcquireNextImageInfoKHR-commonparent# Each of @fence@,
 --     @semaphore@, and @swapchain@ that are valid handles of non-ignored
 --     parameters /must/ have been created, allocated, or retrieved from
---     the same 'Vulkan.Core10.Handles.Instance'
+--     the same 'Vulkan.Core10.Handles.Device'
 --
 -- == Host Synchronization
 --
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
@@ -692,8 +692,7 @@
 --     feature is not enabled, @stage@ /must/ not contain
 --     'Vulkan.Core13.Enums.PipelineStageFlags2.PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT'
 --
--- -   #VUID-vkCmdWriteBufferMarker2AMD-shadingRateImage-07316# If neither
---     the
+-- -   #VUID-vkCmdWriteBufferMarker2AMD-stage-07316# If neither the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage>
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
diff --git a/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs b/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs
@@ -199,6 +199,8 @@
                                                  , SurfaceKHR(..)
                                                  ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -224,8 +226,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_KHR_win32_surface.hs b/src/Vulkan/Extensions/VK_KHR_win32_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_win32_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_win32_surface.hs
@@ -225,6 +225,8 @@
                                                , SurfaceKHR(..)
                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -250,8 +252,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs b/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs
@@ -182,6 +182,8 @@
                                              , SurfaceKHR(..)
                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -207,8 +209,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs b/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs
@@ -182,6 +182,8 @@
                                               , SurfaceKHR(..)
                                               ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -207,8 +209,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_LUNARG_direct_driver_loading.hs b/src/Vulkan/Extensions/VK_LUNARG_direct_driver_loading.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_LUNARG_direct_driver_loading.hs
@@ -0,0 +1,399 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_LUNARG_direct_driver_loading - instance extension
+--
+-- == VK_LUNARG_direct_driver_loading
+--
+-- [__Name String__]
+--     @VK_LUNARG_direct_driver_loading@
+--
+-- [__Extension Type__]
+--     Instance extension
+--
+-- [__Registered Extension Number__]
+--     460
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires support for Vulkan 1.0
+--
+-- [__Contact__]
+--
+--     -   Charles Giessen
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_LUNARG_direct_driver_loading] @charles-lunarg%0A*Here describe the issue or question you have about the VK_LUNARG_direct_driver_loading extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_LUNARG_direct_driver_loading.adoc VK_LUNARG_direct_driver_loading>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2022-11-29
+--
+-- [__Contributors__]
+--
+--     -   Charles Giessen, LunarG
+--
+-- == Description
+--
+-- This extension provides a mechanism for applications to add drivers to
+-- the implementation. This allows drivers to be included with an
+-- application without requiring installation and is capable of being used
+-- in any execution environment, such as a process running with elevated
+-- privileges.
+--
+-- == New Structures
+--
+-- -   'DirectDriverLoadingInfoLUNARG'
+--
+-- -   Extending 'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo':
+--
+--     -   'DirectDriverLoadingListLUNARG'
+--
+-- == New Function Pointers
+--
+-- -   'PFN_vkGetInstanceProcAddr'
+--
+-- == New Enums
+--
+-- -   'DirectDriverLoadingModeLUNARG'
+--
+-- == New Bitmasks
+--
+-- -   'DirectDriverLoadingFlagsLUNARG'
+--
+-- == New Enum Constants
+--
+-- -   'LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME'
+--
+-- -   'LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG'
+--
+-- == Version History
+--
+-- -   Revision 1, 2022-11-29 (Charles Giessen)
+--
+--     -   Initial version
+--
+-- == See Also
+--
+-- 'PFN_vkGetInstanceProcAddr', 'DirectDriverLoadingFlagsLUNARG',
+-- 'DirectDriverLoadingInfoLUNARG', 'DirectDriverLoadingListLUNARG',
+-- 'DirectDriverLoadingModeLUNARG'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_LUNARG_direct_driver_loading  ( DirectDriverLoadingInfoLUNARG(..)
+                                                          , DirectDriverLoadingListLUNARG(..)
+                                                          , DirectDriverLoadingFlagsLUNARG(..)
+                                                          , DirectDriverLoadingModeLUNARG( DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG
+                                                                                         , DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG
+                                                                                         , ..
+                                                                                         )
+                                                          , PFN_vkGetInstanceProcAddr
+                                                          , FN_vkGetInstanceProcAddr
+                                                          , LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION
+                                                          , pattern LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION
+                                                          , LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME
+                                                          , pattern LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME
+                                                          ) where
+
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
+import Vulkan.Internal.Utils (enumReadPrec)
+import Vulkan.Internal.Utils (enumShowsPrec)
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import GHC.Show (showString)
+import GHC.Show (showsPrec)
+import Numeric (showHex)
+import Control.Monad.Trans.Class (lift)
+import Control.Monad.Trans.Cont (evalContT)
+import Data.Vector (generateM)
+import qualified Data.Vector (imapM_)
+import qualified Data.Vector (length)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero)
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.C.Types (CChar)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Data.Int (Int32)
+import Foreign.Ptr (FunPtr)
+import Foreign.Ptr (Ptr)
+import GHC.Read (Read(readPrec))
+import GHC.Show (Show(showsPrec))
+import Data.Word (Word32)
+import Data.Kind (Type)
+import Control.Monad.Trans.Cont (ContT(..))
+import Data.Vector (Vector)
+import Vulkan.CStruct.Utils (advancePtrBytes)
+import Vulkan.NamedType ((:::))
+import Vulkan.Core10.FundamentalTypes (Flags)
+import Vulkan.Core10.Handles (Instance_T)
+import Vulkan.Core10.FuncPointers (PFN_vkVoidFunction)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG))
+-- | VkDirectDriverLoadingInfoLUNARG - Structure specifying the information
+-- required to load an additional driver
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- 'PFN_vkGetInstanceProcAddr',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading VK_LUNARG_direct_driver_loading>,
+-- 'DirectDriverLoadingFlagsLUNARG', 'DirectDriverLoadingListLUNARG',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data DirectDriverLoadingInfoLUNARG = DirectDriverLoadingInfoLUNARG
+  { -- | #VUID-VkDirectDriverLoadingInfoLUNARG-flags-zerobitmask# @flags@ /must/
+    -- be @0@
+    flags :: DirectDriverLoadingFlagsLUNARG
+  , -- No documentation found for Nested "VkDirectDriverLoadingInfoLUNARG" "pfnGetInstanceProcAddr"
+    pfnGetInstanceProcAddr :: PFN_vkGetInstanceProcAddr
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (DirectDriverLoadingInfoLUNARG)
+#endif
+deriving instance Show DirectDriverLoadingInfoLUNARG
+
+instance ToCStruct DirectDriverLoadingInfoLUNARG where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p DirectDriverLoadingInfoLUNARG{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr DirectDriverLoadingFlagsLUNARG)) (flags)
+    poke ((p `plusPtr` 24 :: Ptr PFN_vkGetInstanceProcAddr)) (pfnGetInstanceProcAddr)
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr DirectDriverLoadingFlagsLUNARG)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr PFN_vkGetInstanceProcAddr)) (zero)
+    f
+
+instance FromCStruct DirectDriverLoadingInfoLUNARG where
+  peekCStruct p = do
+    flags <- peek @DirectDriverLoadingFlagsLUNARG ((p `plusPtr` 16 :: Ptr DirectDriverLoadingFlagsLUNARG))
+    pfnGetInstanceProcAddr <- peek @PFN_vkGetInstanceProcAddr ((p `plusPtr` 24 :: Ptr PFN_vkGetInstanceProcAddr))
+    pure $ DirectDriverLoadingInfoLUNARG
+             flags pfnGetInstanceProcAddr
+
+instance Storable DirectDriverLoadingInfoLUNARG where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero DirectDriverLoadingInfoLUNARG where
+  zero = DirectDriverLoadingInfoLUNARG
+           zero
+           zero
+
+
+-- | VkDirectDriverLoadingListLUNARG - Structure specifying additional
+-- drivers to load
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading VK_LUNARG_direct_driver_loading>,
+-- 'DirectDriverLoadingInfoLUNARG', 'DirectDriverLoadingModeLUNARG',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data DirectDriverLoadingListLUNARG = DirectDriverLoadingListLUNARG
+  { -- | #VUID-VkDirectDriverLoadingListLUNARG-mode-parameter# @mode@ /must/ be a
+    -- valid 'DirectDriverLoadingModeLUNARG' value
+    mode :: DirectDriverLoadingModeLUNARG
+  , -- | #VUID-VkDirectDriverLoadingListLUNARG-pDrivers-parameter# @pDrivers@
+    -- /must/ be a valid pointer to an array of @driverCount@ valid
+    -- 'DirectDriverLoadingInfoLUNARG' structures
+    drivers :: Vector DirectDriverLoadingInfoLUNARG
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (DirectDriverLoadingListLUNARG)
+#endif
+deriving instance Show DirectDriverLoadingListLUNARG
+
+instance ToCStruct DirectDriverLoadingListLUNARG where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p DirectDriverLoadingListLUNARG{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr DirectDriverLoadingModeLUNARG)) (mode)
+    lift $ poke ((p `plusPtr` 20 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (drivers)) :: Word32))
+    pPDrivers' <- ContT $ allocaBytes @DirectDriverLoadingInfoLUNARG ((Data.Vector.length (drivers)) * 32)
+    lift $ Data.Vector.imapM_ (\i e -> poke (pPDrivers' `plusPtr` (32 * (i)) :: Ptr DirectDriverLoadingInfoLUNARG) (e)) (drivers)
+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr DirectDriverLoadingInfoLUNARG))) (pPDrivers')
+    lift $ f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr DirectDriverLoadingModeLUNARG)) (zero)
+    f
+
+instance FromCStruct DirectDriverLoadingListLUNARG where
+  peekCStruct p = do
+    mode <- peek @DirectDriverLoadingModeLUNARG ((p `plusPtr` 16 :: Ptr DirectDriverLoadingModeLUNARG))
+    driverCount <- peek @Word32 ((p `plusPtr` 20 :: Ptr Word32))
+    pDrivers <- peek @(Ptr DirectDriverLoadingInfoLUNARG) ((p `plusPtr` 24 :: Ptr (Ptr DirectDriverLoadingInfoLUNARG)))
+    pDrivers' <- generateM (fromIntegral driverCount) (\i -> peekCStruct @DirectDriverLoadingInfoLUNARG ((pDrivers `advancePtrBytes` (32 * (i)) :: Ptr DirectDriverLoadingInfoLUNARG)))
+    pure $ DirectDriverLoadingListLUNARG
+             mode pDrivers'
+
+instance Zero DirectDriverLoadingListLUNARG where
+  zero = DirectDriverLoadingListLUNARG
+           zero
+           mempty
+
+
+-- | VkDirectDriverLoadingFlagsLUNARG - Reserved for future use
+--
+-- = Description
+--
+-- 'DirectDriverLoadingFlagsLUNARG' is a bitmask type for setting a mask,
+-- but is currently reserved for future use.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading VK_LUNARG_direct_driver_loading>,
+-- 'DirectDriverLoadingInfoLUNARG'
+newtype DirectDriverLoadingFlagsLUNARG = DirectDriverLoadingFlagsLUNARG Flags
+  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
+
+conNameDirectDriverLoadingFlagsLUNARG :: String
+conNameDirectDriverLoadingFlagsLUNARG = "DirectDriverLoadingFlagsLUNARG"
+
+enumPrefixDirectDriverLoadingFlagsLUNARG :: String
+enumPrefixDirectDriverLoadingFlagsLUNARG = ""
+
+showTableDirectDriverLoadingFlagsLUNARG :: [(DirectDriverLoadingFlagsLUNARG, String)]
+showTableDirectDriverLoadingFlagsLUNARG = []
+
+instance Show DirectDriverLoadingFlagsLUNARG where
+  showsPrec =
+    enumShowsPrec
+      enumPrefixDirectDriverLoadingFlagsLUNARG
+      showTableDirectDriverLoadingFlagsLUNARG
+      conNameDirectDriverLoadingFlagsLUNARG
+      (\(DirectDriverLoadingFlagsLUNARG x) -> x)
+      (\x -> showString "0x" . showHex x)
+
+instance Read DirectDriverLoadingFlagsLUNARG where
+  readPrec =
+    enumReadPrec
+      enumPrefixDirectDriverLoadingFlagsLUNARG
+      showTableDirectDriverLoadingFlagsLUNARG
+      conNameDirectDriverLoadingFlagsLUNARG
+      DirectDriverLoadingFlagsLUNARG
+
+-- | VkDirectDriverLoadingModeLUNARG - Specify loader behavior of added
+-- drivers
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading VK_LUNARG_direct_driver_loading>,
+-- 'DirectDriverLoadingListLUNARG'
+newtype DirectDriverLoadingModeLUNARG = DirectDriverLoadingModeLUNARG Int32
+  deriving newtype (Eq, Ord, Storable, Zero)
+
+-- No documentation found for Nested "VkDirectDriverLoadingModeLUNARG" "VK_DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG"
+pattern DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG = DirectDriverLoadingModeLUNARG 0
+
+-- No documentation found for Nested "VkDirectDriverLoadingModeLUNARG" "VK_DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG"
+pattern DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG = DirectDriverLoadingModeLUNARG 1
+
+{-# COMPLETE
+  DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG
+  , DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG ::
+    DirectDriverLoadingModeLUNARG
+  #-}
+
+conNameDirectDriverLoadingModeLUNARG :: String
+conNameDirectDriverLoadingModeLUNARG = "DirectDriverLoadingModeLUNARG"
+
+enumPrefixDirectDriverLoadingModeLUNARG :: String
+enumPrefixDirectDriverLoadingModeLUNARG = "DIRECT_DRIVER_LOADING_MODE_"
+
+showTableDirectDriverLoadingModeLUNARG :: [(DirectDriverLoadingModeLUNARG, String)]
+showTableDirectDriverLoadingModeLUNARG =
+  [
+    ( DIRECT_DRIVER_LOADING_MODE_EXCLUSIVE_LUNARG
+    , "EXCLUSIVE_LUNARG"
+    )
+  ,
+    ( DIRECT_DRIVER_LOADING_MODE_INCLUSIVE_LUNARG
+    , "INCLUSIVE_LUNARG"
+    )
+  ]
+
+instance Show DirectDriverLoadingModeLUNARG where
+  showsPrec =
+    enumShowsPrec
+      enumPrefixDirectDriverLoadingModeLUNARG
+      showTableDirectDriverLoadingModeLUNARG
+      conNameDirectDriverLoadingModeLUNARG
+      (\(DirectDriverLoadingModeLUNARG x) -> x)
+      (showsPrec 11)
+
+instance Read DirectDriverLoadingModeLUNARG where
+  readPrec =
+    enumReadPrec
+      enumPrefixDirectDriverLoadingModeLUNARG
+      showTableDirectDriverLoadingModeLUNARG
+      conNameDirectDriverLoadingModeLUNARG
+      DirectDriverLoadingModeLUNARG
+
+type FN_vkGetInstanceProcAddr = Ptr Instance_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction
+-- | PFN_vkGetInstanceProcAddr - Type definition for vkGetInstanceProcAddr
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading VK_LUNARG_direct_driver_loading>,
+-- 'DirectDriverLoadingInfoLUNARG'
+type PFN_vkGetInstanceProcAddr = FunPtr FN_vkGetInstanceProcAddr
+
+
+type LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION"
+pattern LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION :: forall a . Integral a => a
+pattern LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION = 1
+
+
+type LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME = "VK_LUNARG_direct_driver_loading"
+
+-- No documentation found for TopLevel "VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME"
+pattern LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME = "VK_LUNARG_direct_driver_loading"
+
diff --git a/src/Vulkan/Extensions/VK_LUNARG_direct_driver_loading.hs-boot b/src/Vulkan/Extensions/VK_LUNARG_direct_driver_loading.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_LUNARG_direct_driver_loading.hs-boot
@@ -0,0 +1,122 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_LUNARG_direct_driver_loading - instance extension
+--
+-- == VK_LUNARG_direct_driver_loading
+--
+-- [__Name String__]
+--     @VK_LUNARG_direct_driver_loading@
+--
+-- [__Extension Type__]
+--     Instance extension
+--
+-- [__Registered Extension Number__]
+--     460
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires support for Vulkan 1.0
+--
+-- [__Contact__]
+--
+--     -   Charles Giessen
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_LUNARG_direct_driver_loading] @charles-lunarg%0A*Here describe the issue or question you have about the VK_LUNARG_direct_driver_loading extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_LUNARG_direct_driver_loading.adoc VK_LUNARG_direct_driver_loading>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2022-11-29
+--
+-- [__Contributors__]
+--
+--     -   Charles Giessen, LunarG
+--
+-- == Description
+--
+-- This extension provides a mechanism for applications to add drivers to
+-- the implementation. This allows drivers to be included with an
+-- application without requiring installation and is capable of being used
+-- in any execution environment, such as a process running with elevated
+-- privileges.
+--
+-- == New Structures
+--
+-- -   'DirectDriverLoadingInfoLUNARG'
+--
+-- -   Extending 'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo':
+--
+--     -   'DirectDriverLoadingListLUNARG'
+--
+-- == New Function Pointers
+--
+-- -   'PFN_vkGetInstanceProcAddr'
+--
+-- == New Enums
+--
+-- -   'DirectDriverLoadingModeLUNARG'
+--
+-- == New Bitmasks
+--
+-- -   'DirectDriverLoadingFlagsLUNARG'
+--
+-- == New Enum Constants
+--
+-- -   'LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME'
+--
+-- -   'LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG'
+--
+-- == Version History
+--
+-- -   Revision 1, 2022-11-29 (Charles Giessen)
+--
+--     -   Initial version
+--
+-- == See Also
+--
+-- 'PFN_vkGetInstanceProcAddr', 'DirectDriverLoadingFlagsLUNARG',
+-- 'DirectDriverLoadingInfoLUNARG', 'DirectDriverLoadingListLUNARG',
+-- 'DirectDriverLoadingModeLUNARG'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_LUNARG_direct_driver_loading Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_LUNARG_direct_driver_loading  ( DirectDriverLoadingInfoLUNARG
+                                                          , DirectDriverLoadingListLUNARG
+                                                          ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data DirectDriverLoadingInfoLUNARG
+
+instance ToCStruct DirectDriverLoadingInfoLUNARG
+instance Show DirectDriverLoadingInfoLUNARG
+
+instance FromCStruct DirectDriverLoadingInfoLUNARG
+
+
+data DirectDriverLoadingListLUNARG
+
+instance ToCStruct DirectDriverLoadingListLUNARG
+instance Show DirectDriverLoadingListLUNARG
+
+instance FromCStruct DirectDriverLoadingListLUNARG
+
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
@@ -120,6 +120,8 @@
                                              , SurfaceKHR(..)
                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -145,8 +147,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
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
@@ -120,6 +120,8 @@
                                                , SurfaceKHR(..)
                                                ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -145,8 +147,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_NN_vi_surface.hs b/src/Vulkan/Extensions/VK_NN_vi_surface.hs
--- a/src/Vulkan/Extensions/VK_NN_vi_surface.hs
+++ b/src/Vulkan/Extensions/VK_NN_vi_surface.hs
@@ -119,6 +119,8 @@
                                            , SurfaceKHR(..)
                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -144,8 +146,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs b/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs
--- a/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs
+++ b/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs
@@ -196,7 +196,7 @@
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdCopyMemoryIndirectNV-None-07653# The
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirect copies>
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirectCopy>
 --     feature /must/ be enabled
 --
 -- -   #VUID-vkCmdCopyMemoryIndirectNV-copyBufferAddress-07654#
@@ -311,7 +311,7 @@
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdCopyMemoryToImageIndirectNV-None-07660# The
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirect copies>
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirectCopy>
 --     feature /must/ be enabled
 --
 -- -   #VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07661# @dstImage@
@@ -376,7 +376,7 @@
 --     region, the @aspectMask@ member of @pImageSubresources@ /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-vkCmdCopyMemoryToImageIndirectNV-imageOffset-07675# For each
 --     region in @copyBufferAddress@, @imageOffset.y@ and
@@ -772,7 +772,7 @@
 -- = Description
 --
 -- If the
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirect copies>
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-indirectCopy indirectCopy>
 -- feature is supported, @supportedQueues@ /must/ return at least one
 -- supported queue.
 --
diff --git a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
--- a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
+++ b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
@@ -146,6 +146,8 @@
                                                         , pattern NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME
                                                         ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -173,8 +175,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs b/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs
--- a/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs
+++ b/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs
@@ -121,6 +121,8 @@
                                                           , pattern NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME
                                                           ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -134,8 +136,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
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
@@ -593,6 +593,8 @@
                                                           , IndirectCommandsLayoutNV(..)
                                                           ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -624,8 +626,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
@@ -882,7 +882,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-02700# A valid pipeline
 --     /must/ be bound to the pipeline bind point used by this command
@@ -981,6 +981,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-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
@@ -1085,14 +1099,14 @@
 --     If @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWeightedSampleQCOM-06977#
 --     If @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWeightedSampleQCOM-06978#
 --     If any command other than @OpImageWeightedSampleQCOM@,
@@ -1100,7 +1114,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07288# Any shader
 --     invocation executed by this command /must/
@@ -1122,9 +1136,9 @@
 --     'Vulkan.Core10.Handles.Pipeline' bound to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-02686# Every input
---     attachment used by the current subpass /must/ be bound to the
---     pipeline via a descriptor set
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07748# If any shader
+--     statically accesses an input attachment, a valid descriptor /must/
+--     be bound to the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-07468# If any
 --     shader executed by this pipeline accesses an @OpTypeImage@ variable
@@ -1135,10 +1149,11 @@
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07469# Input attachment
 --     views accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-06537# Memory backing
 --     image subresources used as attachments in the current render pass
@@ -1467,28 +1482,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdExecuteGeneratedCommandsNV-attachmentCount-06667# If the
---     bound graphics pipeline state was created with the
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07749# If the bound
+--     graphics pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-attachmentCount-07750# If the
+--     bound graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdExecuteGeneratedCommandsNV-attachmentCount-06815# If the
---     bound graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07751# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-pDepthAttachment-06181# If the
 --     current render pass instance was begun with
@@ -1674,7 +1691,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -1683,7 +1700,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07619# If the bound
 --     graphics pipeline state was created with the
@@ -4256,14 +4273,13 @@
 -- -   #VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-07078# If the
 --     @indirectCommandsLayout@ uses a token of
 --     'INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV', then the @pipeline@
---     /must/ contain a shader stage using the @MeshNV@ @Execution@
---     @Model@.
+--     /must/ contain a shader stage using the @MeshNV@ @Execution@ @Model@
 --
 -- -   #VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-07079# If the
 --     @indirectCommandsLayout@ uses a token of
 --     'INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV', then the
 --     @pipeline@ /must/ contain a shader stage using the @MeshEXT@
---     @Execution@ @Model@.
+--     @Execution@ @Model@
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs b/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs
--- a/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs
+++ b/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs
@@ -157,6 +157,8 @@
                                                              , pattern NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
                                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -178,8 +180,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
--- a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
+++ b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
@@ -98,6 +98,8 @@
                                                            , pattern NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME
                                                            ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -111,8 +113,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
--- a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
+++ b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
@@ -134,6 +134,8 @@
                                                           , pattern NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME
                                                           ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Control.Monad (unless)
@@ -157,8 +159,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CFloat)
diff --git a/src/Vulkan/Extensions/VK_NV_memory_decompression.hs b/src/Vulkan/Extensions/VK_NV_memory_decompression.hs
--- a/src/Vulkan/Extensions/VK_NV_memory_decompression.hs
+++ b/src/Vulkan/Extensions/VK_NV_memory_decompression.hs
@@ -129,6 +129,8 @@
                                                      , pattern NV_MEMORY_DECOMPRESSION_EXTENSION_NAME
                                                      ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -152,8 +154,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
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
@@ -510,7 +510,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-02700# A valid pipeline /must/ be
 --     bound to the pipeline bind point used by this command
@@ -609,6 +609,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMeshTasksNV-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMeshTasksNV-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMeshTasksNV-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
@@ -711,14 +725,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -726,7 +740,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -748,9 +762,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMeshTasksNV-None-02686# Every input attachment used
---     by the current subpass /must/ be bound to the pipeline via a
---     descriptor set
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-07748# If any shader statically
+--     accesses an input attachment, a valid descriptor /must/ be bound to
+--     the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-OpTypeImage-07468# If any shader executed
 --     by this pipeline accesses an @OpTypeImage@ variable with a @Dim@
@@ -761,10 +775,11 @@
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-07469# Input attachment views
 --     accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -1092,28 +1107,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMeshTasksNV-attachmentCount-06667# If the bound
---     graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-07749# If the bound graphics
+--     pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMeshTasksNV-attachmentCount-07750# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMeshTasksNV-attachmentCount-06815# If the bound
---     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-07751# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-pDepthAttachment-06181# If the current
 --     render pass instance was begun with
@@ -1299,7 +1316,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -1308,7 +1325,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-07619# If the bound graphics
 --     pipeline state was created with the
@@ -1969,8 +1986,7 @@
 -- -   #VUID-vkCmdDrawMeshTasksNV-MeshNV-07080# The current pipeline bound
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
---     /must/ contain a shader stage using the @MeshNV@ @Execution@
---     @Model@.
+--     /must/ contain a shader stage using the @MeshNV@ @Execution@ @Model@
 --
 -- == Valid Usage (Implicit)
 --
@@ -2224,7 +2240,7 @@
 --     dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-02700# A valid pipeline
 --     /must/ be bound to the pipeline bind point used by this command
@@ -2323,6 +2339,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-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
@@ -2427,14 +2457,14 @@
 --     If @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWeightedSampleQCOM-06977#
 --     If @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWeightedSampleQCOM-06978#
 --     If any command other than @OpImageWeightedSampleQCOM@,
@@ -2442,7 +2472,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07288# Any shader invocation
 --     executed by this command /must/
@@ -2464,9 +2494,9 @@
 --     to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-02686# Every input
---     attachment used by the current subpass /must/ be bound to the
---     pipeline via a descriptor set
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07748# If any shader
+--     statically accesses an input attachment, a valid descriptor /must/
+--     be bound to the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-07468# If any shader
 --     executed by this pipeline accesses an @OpTypeImage@ variable with a
@@ -2477,10 +2507,11 @@
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07469# Input attachment
 --     views accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-06537# Memory backing image
 --     subresources used as attachments in the current render pass /must/
@@ -2809,28 +2840,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectNV-attachmentCount-06667# If the
---     bound graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07749# If the bound graphics
+--     pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-attachmentCount-07750# If the
+--     bound graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectNV-attachmentCount-06815# If the
---     bound graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07751# If the bound graphics
+--     pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-pDepthAttachment-06181# If the
 --     current render pass instance was begun with
@@ -3016,7 +3049,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -3025,7 +3058,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07619# If the bound graphics
 --     pipeline state was created with the
@@ -3720,8 +3753,7 @@
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-MeshNV-07081# The current
 --     pipeline bound to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
---     /must/ contain a shader stage using the @MeshNV@ @Execution@
---     @Model@.
+--     /must/ contain a shader stage using the @MeshNV@ @Execution@ @Model@
 --
 -- == Valid Usage (Implicit)
 --
@@ -3991,7 +4023,7 @@
 --     is dynamically used with a 'Vulkan.Core10.Handles.Pipeline' created
 --     with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02700# A valid pipeline
 --     /must/ be bound to the pipeline bind point used by this command
@@ -4090,6 +4122,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-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
@@ -4194,14 +4240,14 @@
 --     If @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWeightedSampleQCOM-06977#
 --     If @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWeightedSampleQCOM-06978#
 --     If any command other than @OpImageWeightedSampleQCOM@,
@@ -4209,7 +4255,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07288# Any shader
 --     invocation executed by this command /must/
@@ -4231,9 +4277,9 @@
 --     'Vulkan.Core10.Handles.Pipeline' bound to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02686# Every input
---     attachment used by the current subpass /must/ be bound to the
---     pipeline via a descriptor set
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07748# If any shader
+--     statically accesses an input attachment, a valid descriptor /must/
+--     be bound to the pipeline via a descriptor set
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-07468# If any
 --     shader executed by this pipeline accesses an @OpTypeImage@ variable
@@ -4244,10 +4290,11 @@
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07469# Input attachment
 --     views accessed in a subpass /must/ be created with the same
 --     'Vulkan.Core10.Enums.Format.Format' as the corresponding subpass
---     definition be created with a 'Vulkan.Core10.Handles.ImageView' that
---     is an attachment in the currently bound
---     'Vulkan.Core10.Handles.Framebuffer' at an index that corresponds to
---     a valid input attachment in the current subpass
+--     definition, and be created with a 'Vulkan.Core10.Handles.ImageView'
+--     that is compatible with the attachment referenced by the subpass\'
+--     @pInputAttachments@[@InputAttachmentIndex@] in the currently bound
+--     'Vulkan.Core10.Handles.Framebuffer' as specified by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compatibility-inputattachment Fragment Input Attachment Compatibility>
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06537# Memory backing
 --     image subresources used as attachments in the current render pass
@@ -4576,28 +4623,30 @@
 --     used to create the currently bound pipeline equal to
 --     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-attachmentCount-06667# If
---     the bound graphics pipeline state was created with the
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07749# If the bound
+--     graphics pipeline state was created with the
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 --     dynamic state enabled then
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
+--     drawing command
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-attachmentCount-07750# If
+--     the bound graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+--     dynamic state enabled then the @attachmentCount@ parameter of
 --     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
 --     /must/ be greater than or equal to the
 --     'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@attachmentCount@
 --     of the currently bound graphics pipeline
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-attachmentCount-06815# If
---     the bound graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07751# If the bound
+--     graphics pipeline state was created with the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
+--     'Vulkan.Extensions.VK_EXT_discard_rectangles.cmdSetDiscardRectangleEXT'
 --     /must/ have been called in the current command buffer prior to this
---     drawing command, and the @attachmentCount@ parameter of
---     'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT'
---     /must/ be less than or equal to the @maxColorAttachments@ member of
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'
+--     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-pDepthAttachment-06181# If
 --     the current render pass instance was begun with
@@ -4783,7 +4832,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-discard rasterization discard>
---     /must/ not be enabled.
+--     /must/ not be enabled
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-primitivesGeneratedQueryWithNonZeroStreams-06709#
 --     If the
@@ -4792,7 +4841,7 @@
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PRIMITIVES_GENERATED_EXT'
 --     query is active, the bound graphics pipeline /must/ not have been
 --     created with a non-zero value in
---     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@.
+--     'Vulkan.Extensions.VK_EXT_transform_feedback.PipelineRasterizationStateStreamCreateInfoEXT'::@rasterizationStream@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07619# If the bound
 --     graphics pipeline state was created with the
@@ -5509,8 +5558,7 @@
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-MeshNV-07082# The current
 --     pipeline bound to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
---     /must/ contain a shader stage using the @MeshNV@ @Execution@
---     @Model@.
+--     /must/ contain a shader stage using the @MeshNV@ @Execution@ @Model@
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_NV_optical_flow.hs b/src/Vulkan/Extensions/VK_NV_optical_flow.hs
--- a/src/Vulkan/Extensions/VK_NV_optical_flow.hs
+++ b/src/Vulkan/Extensions/VK_NV_optical_flow.hs
@@ -56,6 +56,11 @@
 -- This extension allows applications to estimate 2D displacement of pixels
 -- between two frames.
 --
+-- Note
+--
+-- This extension is designed to be used with upcoming NVIDIA Optical Flow
+-- SDK Version 5 which will be available on NVIDIA Developer webpage.
+--
 -- == New Object Types
 --
 -- -   'Vulkan.Extensions.Handles.OpticalFlowSessionNV'
@@ -354,6 +359,8 @@
                                              , OpticalFlowSessionNV(..)
                                              ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -385,8 +392,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Type.Equality ((:~:)(Refl))
 import Data.Typeable (Typeable)
@@ -1283,67 +1288,67 @@
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-width-07581# @width@ /must/
 --     be greater than or equal to
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@minWidth@ and less than or
---     equal to 'PhysicalDeviceOpticalFlowPropertiesNV'::@maxWidth@.
+--     equal to 'PhysicalDeviceOpticalFlowPropertiesNV'::@maxWidth@
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-height-07582# @height@ /must/
 --     be greater than or equal to
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@minHeight@ and less than
---     or equal to 'PhysicalDeviceOpticalFlowPropertiesNV'::@maxHeight@.
+--     or equal to 'PhysicalDeviceOpticalFlowPropertiesNV'::@maxHeight@
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-imageFormat-07583#
 --     @imageFormat@ /must/ be one of the formats returned by
 --     'getPhysicalDeviceOpticalFlowImageFormatsNV' for
---     'OPTICAL_FLOW_USAGE_INPUT_BIT_NV'.
+--     'OPTICAL_FLOW_USAGE_INPUT_BIT_NV'
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-flowVectorFormat-07584#
 --     @flowVectorFormat@ /must/ be one of the formats returned by
 --     'getPhysicalDeviceOpticalFlowImageFormatsNV' for
---     'OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV'.
+--     'OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV'
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-costFormat-07585#
 --     @costFormat@ /must/ be one of the formats returned by
 --     'getPhysicalDeviceOpticalFlowImageFormatsNV' for
 --     'OPTICAL_FLOW_USAGE_COST_BIT_NV' if
---     'OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV' is set in @flags@.
+--     'OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV' is set in @flags@
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-07586#
 --     @outputGridSize@ /must/ be exactly one of the bits reported in
---     'PhysicalDeviceOpticalFlowPropertiesNV'::@supportedOutputGridSizes@.
+--     'PhysicalDeviceOpticalFlowPropertiesNV'::@supportedOutputGridSizes@
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-hintGridSize-07587#
 --     @hintGridSize@ /must/ be exactly one of the bits reported in
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@supportedHintGridSizes@ if
---     'OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV' is set in @flags@.
+--     'OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV' is set in @flags@
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-flags-07588#
 --     'OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV' /must/ not be set
 --     in @flags@ if
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@hintSupported@ is
---     'Vulkan.Core10.FundamentalTypes.FALSE'.
+--     'Vulkan.Core10.FundamentalTypes.FALSE'
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-flags-07589#
 --     'OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV' /must/ not be set
 --     in @flags@ if
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@costSupported@ is
---     'Vulkan.Core10.FundamentalTypes.FALSE'.
+--     'Vulkan.Core10.FundamentalTypes.FALSE'
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-flags-07590#
 --     'OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV' /must/ not
 --     be set in @flags@ if
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@globalFlowSupported@ is
---     'Vulkan.Core10.FundamentalTypes.FALSE'.
+--     'Vulkan.Core10.FundamentalTypes.FALSE'
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-flags-07591#
 --     'OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV' /must/ not be set
 --     in @flags@ if
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@maxNumRegionsOfInterest@
---     is 0.
+--     is 0
 --
 -- -   #VUID-VkOpticalFlowSessionCreateInfoNV-flags-07592#
 --     'OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV' /must/ not be
 --     set in @flags@ if
 --     'PhysicalDeviceOpticalFlowPropertiesNV'::@bidirectionalFlowSupported@
---     is 'Vulkan.Core10.FundamentalTypes.FALSE'.
+--     is 'Vulkan.Core10.FundamentalTypes.FALSE'
 --
 -- == Valid Usage (Implicit)
 --
@@ -1599,7 +1604,7 @@
 -- -   #VUID-VkOpticalFlowExecuteInfoNV-regionCount-07593# @regionCount@
 --     /must/ be 0 if 'OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV'
 --     was not set for 'Vulkan.Extensions.Handles.OpticalFlowSessionNV' on
---     which this command is operating.
+--     which this command is operating
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_NV_optical_flow.hs-boot b/src/Vulkan/Extensions/VK_NV_optical_flow.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_optical_flow.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_optical_flow.hs-boot
@@ -56,6 +56,11 @@
 -- This extension allows applications to estimate 2D displacement of pixels
 -- between two frames.
 --
+-- Note
+--
+-- This extension is designed to be used with upcoming NVIDIA Optical Flow
+-- SDK Version 5 which will be available on NVIDIA Developer webpage.
+--
 -- == New Object Types
 --
 -- -   'Vulkan.Extensions.Handles.OpticalFlowSessionNV'
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
@@ -1863,7 +1863,7 @@
 -- -   #VUID-vkCmdTraceRaysNV-None-08119# If a descriptor is dynamically
 --     used with a 'Vulkan.Core10.Handles.Pipeline' created with
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT',
---     the descriptor memory /must/ be resident.
+--     the descriptor memory /must/ be resident
 --
 -- -   #VUID-vkCmdTraceRaysNV-None-02700# A valid pipeline /must/ be bound
 --     to the pipeline bind point used by this command
@@ -1962,6 +1962,20 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
 --     that object /must/ not use the @ConstOffset@ and @Offset@ operands
 --
+-- -   #VUID-vkCmdTraceRaysNV-viewType-07752# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @viewType@ /must/ match the @Dim@
+--     operand of the @OpTypeImage@ as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-operation-validation ???>
+--
+-- -   #VUID-vkCmdTraceRaysNV-format-07753# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed as a result of this
+--     command, then the image view’s @format@ /must/ match the numeric
+--     format from the @Sampled@ @Type@ operand of the @OpTypeImage@ as
+--     described in the SPIR-V Sampled Type column of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-numericformat ???>
+--     table
+--
 -- -   #VUID-vkCmdTraceRaysNV-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
@@ -2064,14 +2078,14 @@
 --     @OpImageBlockMatchSADQCOM@ or OpImageBlockMatchSSDQCOM is used to
 --     read from a reference image as result of this command, then the
 --     specified reference coordinates /must/ not fail
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>.
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-integer-coordinate-validation integer texel coordinate validation>
 --
 -- -   #VUID-vkCmdTraceRaysNV-OpImageWeightedSampleQCOM-06977# If
 --     @OpImageWeightedSampleQCOM@, @OpImageBoxFilterQCOM@,
 --     @OpImageBlockMatchSSDQCOM@, or @OpImageBlockMatchSADQCOM@ uses a
 --     'Vulkan.Core10.Handles.Sampler' as a result of this command, then
 --     the sampler /must/ have been created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysNV-OpImageWeightedSampleQCOM-06978# If any
 --     command other than @OpImageWeightedSampleQCOM@,
@@ -2079,7 +2093,7 @@
 --     @OpImageBlockMatchSADQCOM@ uses a 'Vulkan.Core10.Handles.Sampler' as
 --     a result of this command, then the sampler /must/ not have been
 --     created with
---     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'.
+--     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM'
 --
 -- -   #VUID-vkCmdTraceRaysNV-None-07288# Any shader invocation executed by
 --     this command /must/
diff --git a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
--- a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
+++ b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
@@ -209,13 +209,15 @@
                                                         , AccelerationStructureCreateFlagsKHR
                                                         ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
+import Data.Bits (shiftL)
+import Data.Bits (shiftR)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Control.Exception.Base (bracket)
 import Data.Bits ((.&.))
 import Data.Bits ((.|.))
-import Data.Bits (shiftL)
-import Data.Bits (shiftR)
 import Foreign.Marshal.Alloc (allocaBytes)
 import Foreign.Marshal.Alloc (callocBytes)
 import Foreign.Marshal.Alloc (free)
@@ -235,8 +237,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.C.Types (CFloat)
diff --git a/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs b/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs
--- a/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs
+++ b/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs
@@ -282,6 +282,8 @@
                                                  , pattern NV_VIEWPORT_SWIZZLE_EXTENSION_NAME
                                                  ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -301,8 +303,6 @@
 import Vulkan.CStruct (ToCStruct(..))
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/Extensions/VK_QCOM_fragment_density_map_offset.hs b/src/Vulkan/Extensions/VK_QCOM_fragment_density_map_offset.hs
--- a/src/Vulkan/Extensions/VK_QCOM_fragment_density_map_offset.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_fragment_density_map_offset.hs
@@ -312,7 +312,7 @@
 --     If the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-fragmentDensityMapOffsets fragmentDensityMapOffsets>
 --     feature is not enabled or fragment density map is not enabled in the
---     render pass, @fragmentDensityOffsetCount@ /must/ equal @0@.
+--     render pass, @fragmentDensityOffsetCount@ /must/ equal @0@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityMapAttachment-06504#
 --     If
@@ -320,7 +320,7 @@
 --     is not is not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' and was
 --     not created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM',
---     @fragmentDensityOffsetCount@ /must/ equal @0@.
+--     @fragmentDensityOffsetCount@ /must/ equal @0@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pDepthStencilAttachment-06505#
 --     If
@@ -328,7 +328,7 @@
 --     is not is not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' and was
 --     not created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM',
---     @fragmentDensityOffsetCount@ /must/ equal @0@.
+--     @fragmentDensityOffsetCount@ /must/ equal @0@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pInputAttachments-06506#
 --     If any element of
@@ -336,7 +336,7 @@
 --     is not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' and was not
 --     created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM',
---     @fragmentDensityOffsetCount@ /must/ equal @0@.
+--     @fragmentDensityOffsetCount@ /must/ equal @0@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pColorAttachments-06507#
 --     If any element of
@@ -344,7 +344,7 @@
 --     is not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' and was not
 --     created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM',
---     @fragmentDensityOffsetCount@ /must/ equal @0@.
+--     @fragmentDensityOffsetCount@ /must/ equal @0@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pResolveAttachments-06508#
 --     If any element of
@@ -352,7 +352,7 @@
 --     not is not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' and was
 --     not created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM',
---     @fragmentDensityOffsetCount@ /must/ equal @0@.
+--     @fragmentDensityOffsetCount@ /must/ equal @0@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pPreserveAttachments-06509#
 --     If any element of
@@ -360,26 +360,26 @@
 --     not is not 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' and was
 --     not created with
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM',
---     @fragmentDensityOffsetCount@ /must/ equal @0@.
+--     @fragmentDensityOffsetCount@ /must/ equal @0@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityOffsetCount-06510#
 --     If @fragmentDensityOffsetCount@ is not @0@ and multiview is enabled
 --     for the render pass, @fragmentDensityOffsetCount@ /must/ equal the
 --     @layerCount@ that was specified in creating the fragment density map
---     attachment view.
+--     attachment view
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityOffsetCount-06511#
 --     If @fragmentDensityOffsetCount@ is not @0@ and multiview is not
 --     enabled for the render pass, @fragmentDensityOffsetCount@ /must/
---     equal @1@.
+--     equal @1@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-x-06512# The @x@
 --     component of each element of @pFragmentDensityOffsets@ /must/ be an
---     integer multiple of @fragmentDensityOffsetGranularity.width@.
+--     integer multiple of @fragmentDensityOffsetGranularity.width@
 --
 -- -   #VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-y-06513# The @y@
 --     component of each element of @pFragmentDensityOffsets@ /must/ be an
---     integer multiple of @fragmentDensityOffsetGranularity.height@.
+--     integer multiple of @fragmentDensityOffsetGranularity.height@
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs
@@ -0,0 +1,230 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_QCOM_multiview_per_view_viewports - device extension
+--
+-- == VK_QCOM_multiview_per_view_viewports
+--
+-- [__Name String__]
+--     @VK_QCOM_multiview_per_view_viewports@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     489
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires support for Vulkan 1.0
+--
+-- [__Contact__]
+--
+--     -   Jeff Leger
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2022-11-22
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension interacts with @VK_KHR_dynamic_rendering@
+--
+--     -   This extension interacts with @VK_EXT_extended_dynamic_state@
+--
+-- [__Contributors__]
+--
+--     -   Jeff Leger, Qualcomm
+--
+--     -   Jonathan Tinkham, Qualcomm
+--
+--     -   Jonathan Wicks, Qualcomm
+--
+-- == Description
+--
+-- Certain use-cases for multiview have a need for specifying a separate
+-- viewport and scissor for each view, without using shader-based viewport
+-- indexing as introduced with @VK_EXT_shader_viewport_index_layer@.
+--
+-- This extension adds a new way to control ViewportIndex with multiview.
+-- When the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-per-view-viewports multiviewPerViewViewports>
+-- feature is enabled and if the last pre-rasterization shader entry
+-- point’s interface does not use the @ViewportIndex@ built-in decoration,
+-- then each view of a multiview renderpass instance will use a viewport
+-- and scissor index equal to the @ViewIndex@.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM'
+--
+-- == New Enum Constants
+--
+-- -   'QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME'
+--
+-- -   'QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM'
+--
+-- == Issues
+--
+-- 1) Is is possible to enable\/disable the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-per-view-viewports multiviewPerViewViewports>
+-- feature for individual renderpass instances?
+--
+-- __RESOLVED__: No, when the multiviewPerViewViewports feature is enabled
+-- during vkCreateDevice, then all created renderpass instances (including
+-- dynamic renderpasses from @VK_KHR_dynamic_rendering@) and all created
+-- VkPipelines will have the feature enabled. This approach was chosen
+-- because it simplifies application code and there is no known use-case
+-- enable\/disable the feature for individual renderpasses or pipelines.
+--
+-- 2) When this extension is used, is the value of @ViewportIndex@
+-- implicitly written by the last pre-rasterization shader stage and can
+-- the value of @ViewportIndex@ be read in the fragment shader?
+--
+-- __RESOLVED__: No, use of the extension extension does not add an
+-- implicit write to @ViewportIndex@ in any shader stage, and additionally,
+-- the value of @ViewportIndex@ in the fragment shader is undefined.
+--
+-- == Version History
+--
+-- -   Revision 1, 2022-11-22 (Jeff Leger)
+--
+-- == See Also
+--
+-- 'PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_QCOM_multiview_per_view_viewports Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports  ( PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM(..)
+                                                               , QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION
+                                                               , pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION
+                                                               , QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME
+                                                               , pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME
+                                                               ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM))
+-- | VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM - Structure
+-- describing multiview per view viewports features that can be supported
+-- by an implementation
+--
+-- = Members
+--
+-- This structure describes the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM' structure
+-- is included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM' /can/
+-- also be used in the @pNext@ chain of
+-- 'Vulkan.Core10.Device.DeviceCreateInfo' to selectively enable these
+-- features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QCOM_multiview_per_view_viewports VK_QCOM_multiview_per_view_viewports>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM = PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+  { -- | #features-multiview-per-view-viewports# @multiviewPerViewViewports@
+    -- indicates that the implementation supports multiview per-view viewports.
+    multiviewPerViewViewports :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM)
+#endif
+deriving instance Show PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+
+instance ToCStruct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (multiviewPerViewViewports))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM where
+  peekCStruct p = do
+    multiviewPerViewViewports <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+             (bool32ToBool multiviewPerViewViewports)
+
+instance Storable PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM where
+  zero = PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+           zero
+
+
+type QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION"
+pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION :: forall a . Integral a => a
+pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION = 1
+
+
+type QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME = "VK_QCOM_multiview_per_view_viewports"
+
+-- No documentation found for TopLevel "VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME"
+pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME = "VK_QCOM_multiview_per_view_viewports"
+
diff --git a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot
@@ -0,0 +1,131 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_QCOM_multiview_per_view_viewports - device extension
+--
+-- == VK_QCOM_multiview_per_view_viewports
+--
+-- [__Name String__]
+--     @VK_QCOM_multiview_per_view_viewports@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     489
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires support for Vulkan 1.0
+--
+-- [__Contact__]
+--
+--     -   Jeff Leger
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2022-11-22
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension interacts with @VK_KHR_dynamic_rendering@
+--
+--     -   This extension interacts with @VK_EXT_extended_dynamic_state@
+--
+-- [__Contributors__]
+--
+--     -   Jeff Leger, Qualcomm
+--
+--     -   Jonathan Tinkham, Qualcomm
+--
+--     -   Jonathan Wicks, Qualcomm
+--
+-- == Description
+--
+-- Certain use-cases for multiview have a need for specifying a separate
+-- viewport and scissor for each view, without using shader-based viewport
+-- indexing as introduced with @VK_EXT_shader_viewport_index_layer@.
+--
+-- This extension adds a new way to control ViewportIndex with multiview.
+-- When the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-per-view-viewports multiviewPerViewViewports>
+-- feature is enabled and if the last pre-rasterization shader entry
+-- point’s interface does not use the @ViewportIndex@ built-in decoration,
+-- then each view of a multiview renderpass instance will use a viewport
+-- and scissor index equal to the @ViewIndex@.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM'
+--
+-- == New Enum Constants
+--
+-- -   'QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME'
+--
+-- -   'QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM'
+--
+-- == Issues
+--
+-- 1) Is is possible to enable\/disable the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-multiview-per-view-viewports multiviewPerViewViewports>
+-- feature for individual renderpass instances?
+--
+-- __RESOLVED__: No, when the multiviewPerViewViewports feature is enabled
+-- during vkCreateDevice, then all created renderpass instances (including
+-- dynamic renderpasses from @VK_KHR_dynamic_rendering@) and all created
+-- VkPipelines will have the feature enabled. This approach was chosen
+-- because it simplifies application code and there is no known use-case
+-- enable\/disable the feature for individual renderpasses or pipelines.
+--
+-- 2) When this extension is used, is the value of @ViewportIndex@
+-- implicitly written by the last pre-rasterization shader stage and can
+-- the value of @ViewportIndex@ be read in the fragment shader?
+--
+-- __RESOLVED__: No, use of the extension extension does not add an
+-- implicit write to @ViewportIndex@ in any shader stage, and additionally,
+-- the value of @ViewportIndex@ in the fragment shader is undefined.
+--
+-- == Version History
+--
+-- -   Revision 1, 2022-11-22 (Jeff Leger)
+--
+-- == See Also
+--
+-- 'PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_QCOM_multiview_per_view_viewports Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports  (PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+
+instance ToCStruct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+instance Show PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+
+instance FromCStruct PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM
+
diff --git a/src/Vulkan/Extensions/VK_QNX_screen_surface.hs b/src/Vulkan/Extensions/VK_QNX_screen_surface.hs
--- a/src/Vulkan/Extensions/VK_QNX_screen_surface.hs
+++ b/src/Vulkan/Extensions/VK_QNX_screen_surface.hs
@@ -104,6 +104,8 @@
                                                 , SurfaceKHR(..)
                                                 ) where
 
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
 import Vulkan.Internal.Utils (enumReadPrec)
 import Vulkan.Internal.Utils (enumShowsPrec)
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -129,8 +131,6 @@
 import Vulkan.Zero (Zero)
 import Vulkan.Zero (Zero(..))
 import Control.Monad.IO.Class (MonadIO)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
 import Data.String (IsString)
 import Data.Typeable (Typeable)
 import Foreign.Storable (Storable)
diff --git a/src/Vulkan/SPIRVRequirements.hs b/src/Vulkan/SPIRVRequirements.hs
--- a/src/Vulkan/SPIRVRequirements.hs
+++ b/src/Vulkan/SPIRVRequirements.hs
@@ -6,11 +6,11 @@
                                  , spirvCapabilityRequirements
                                  ) where
 
+import Data.Bits (Bits)
+import Data.Bits (zeroBits)
 import Vulkan.Requirement (DeviceRequirement(..))
 import Vulkan.Requirement (InstanceRequirement(..))
 import Data.Bits ((.&.))
-import Data.Bits (zeroBits)
-import Data.Bits (Bits)
 import Data.ByteString (ByteString)
 import Vulkan.Core10.Handles (Instance)
 import Vulkan.Core10.Handles (PhysicalDevice)
diff --git a/src/Vulkan/Version.hs b/src/Vulkan/Version.hs
--- a/src/Vulkan/Version.hs
+++ b/src/Vulkan/Version.hs
@@ -12,18 +12,18 @@
                        , _API_VERSION_PATCH
                        ) where
 
-import Data.Bits ((.&.))
-import Data.Bits ((.|.))
 import Data.Bits (shiftL)
 import Data.Bits (shiftR)
+import Data.Bits ((.&.))
+import Data.Bits ((.|.))
 import Data.Word (Word32)
 
 pattern HEADER_VERSION :: Word32
-pattern HEADER_VERSION = 235
+pattern HEADER_VERSION = 236
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 235
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 236
 
 
 pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
diff --git a/vulkan.cabal b/vulkan.cabal
--- a/vulkan.cabal
+++ b/vulkan.cabal
@@ -1,11 +1,11 @@
 cabal-version: 2.2
 
--- This file has been generated from package.yaml by hpack version 0.34.7.
+-- This file has been generated from package.yaml by hpack version 0.35.0.
 --
 -- see: https://github.com/sol/hpack
 
 name:           vulkan
-version:        3.24
+version:        3.24.1
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
@@ -529,6 +529,7 @@
       Vulkan.Extensions.VK_KHR_xcb_surface
       Vulkan.Extensions.VK_KHR_xlib_surface
       Vulkan.Extensions.VK_KHR_zero_initialize_workgroup_memory
+      Vulkan.Extensions.VK_LUNARG_direct_driver_loading
       Vulkan.Extensions.VK_MVK_ios_surface
       Vulkan.Extensions.VK_MVK_macos_surface
       Vulkan.Extensions.VK_NN_vi_surface
@@ -579,6 +580,7 @@
       Vulkan.Extensions.VK_NVX_multiview_per_view_attributes
       Vulkan.Extensions.VK_QCOM_fragment_density_map_offset
       Vulkan.Extensions.VK_QCOM_image_processing
+      Vulkan.Extensions.VK_QCOM_multiview_per_view_viewports
       Vulkan.Extensions.VK_QCOM_render_pass_shader_resolve
       Vulkan.Extensions.VK_QCOM_render_pass_store_ops
       Vulkan.Extensions.VK_QCOM_render_pass_transform
@@ -639,6 +641,7 @@
     , bytestring
     , transformers
     , vector
+  default-language: Haskell2010
   if os(windows)
     extra-libraries:
         vulkan-1
@@ -654,7 +657,6 @@
     cpp-options: -DGENERIC_INSTANCES
   if flag(trace-calls)
     cpp-options: -DTRACE_CALLS
-  default-language: Haskell2010
 
 test-suite test
   type: exitcode-stdio-1.0
