diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.24.3] - 2022-12-28
+- Bump API version to v1.3.238
+
 ## [3.24.2] - 2022-12-27
 - Bump API version to v1.3.237
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.24.2"
+version: "3.24.3"
 synopsis: Bindings to the Vulkan graphics API.
 description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category: Graphics
diff --git a/src/Vulkan/Core10/Buffer.hs b/src/Vulkan/Core10/Buffer.hs
--- a/src/Vulkan/Core10/Buffer.hs
+++ b/src/Vulkan/Core10/Buffer.hs
@@ -380,24 +380,26 @@
 --     feature /must/ be enabled
 --
 -- -   #VUID-VkBufferCreateInfo-usage-04813# If @usage@ includes
---     @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,
+--     @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@ or
 --     @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the @pNext@ chain
---     /must/ include a valid
+--     /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
---     specifying a decode operation
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure with a @videoCodecOperation@ member specifying a decode
+--     operation
 --
 -- -   #VUID-VkBufferCreateInfo-usage-04814# If @usage@ includes
---     @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,
+--     @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@ or
 --     @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, then the @pNext@ chain
---     /must/ include a valid
+--     /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
---     specifying an encode operation
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure with a @videoCodecOperation@ member specifying an encode
+--     operation
 --
 -- -   #VUID-VkBufferCreateInfo-size-06409# @size@ /must/ be less than or
 --     equal to
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
@@ -5466,11 +5466,13 @@
 --
 -- -   #VUID-vkCmdDrawIndexed-None-07312# An index buffer /must/ be bound
 --
--- -   #VUID-vkCmdDrawIndexed-firstIndex-04932# (@indexSize@ ×
---     (@firstIndex@ + @indexCount@) + @offset@) /must/ be less than or
---     equal to the size of the bound index buffer, with @indexSize@ being
---     based on the type specified by @indexType@, where the index buffer,
---     @indexType@, and @offset@ are specified via 'cmdBindIndexBuffer'
+-- -   #VUID-vkCmdDrawIndexed-robustBufferAccess2-07788# If
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
+--     is not enabled, (@indexSize@ × (@firstIndex@ + @indexCount@) +
+--     @offset@) /must/ be less than or equal to the size of the bound
+--     index buffer, with @indexSize@ being based on the type specified by
+--     @indexType@, where the index buffer, @indexType@, and @offset@ are
+--     specified via 'cmdBindIndexBuffer'
 --
 -- == Valid Usage (Implicit)
 --
@@ -10822,9 +10824,6 @@
 --     '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/
@@ -14636,6 +14635,29 @@
 -- active in a primary command buffer when secondary command buffers are
 -- executed are considered active for those secondary command buffers.
 --
+-- Furthermore, if the query is started within a video coding scope, the
+-- following command buffer states are initialized for the query type:
+--
+-- -   #queries-operation-active-query-index# The /active_query_index/ is
+--     set to the value specified by @query@.
+--
+-- -   #queries-operation-last-activatable-query-index# The /last
+--     activatable query index/ is also set to the value specified by
+--     @query@.
+--
+-- Each
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-coding video coding operation>
+-- stores a result to the query corresponding to the current active query
+-- index, followed by incrementing the active query index. If the active
+-- query index gets incremented past the last activatable query index,
+-- issuing any further video coding operations results in undefined
+-- behavior.
+--
+-- Note
+--
+-- In practice, this means that currently no more than a single video
+-- coding operation /must/ be issued between a begin and end query pair.
+--
 -- This command defines an execution dependency between other query
 -- commands that reference the same query.
 --
@@ -14718,13 +14740,60 @@
 --     current subpass’s view mask /must/ be less than or equal to the
 --     number of queries in @queryPool@
 --
+-- -   #VUID-vkCmdBeginQuery-queryType-07126# If the @queryType@ used to
+--     create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then
+--     the 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ have been created with a queue family index
+--     that supports
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-result-status-only result status queries>,
+--     as indicated by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR>::@queryResultStatusSupport@
+--
+-- -   #VUID-vkCmdBeginQuery-None-07127# If there is a bound video session,
+--     then there /must/ be no
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>
+--     queries
+--
+-- -   #VUID-vkCmdBeginQuery-queryType-07128# If the @queryType@ used to
+--     create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and
+--     there is a bound video session, then @queryPool@ /must/ have been
+--     created with a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure included in the @pNext@ chain of
+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
+--     specified in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
+--     the bound video session was created with
+--
 -- -   #VUID-vkCmdBeginQuery-queryType-04862# If the @queryType@ used to
 --     create @queryPool@ was
---     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ the
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the
 --     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
 --     allocated from /must/ support
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>
 --
+-- -   #VUID-vkCmdBeginQuery-queryType-07129# If the @queryType@ used to
+--     create @queryPool@ was
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
+--     /must/ be a bound video session
+--
+-- -   #VUID-vkCmdBeginQuery-queryType-07130# If the @queryType@ used to
+--     create @queryPool@ was
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ and there is
+--     a bound video session, then @queryPool@ /must/ have been created
+--     with a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure included in the @pNext@ chain of
+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
+--     specified in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
+--     the bound video session was created with
+--
+-- -   #VUID-vkCmdBeginQuery-queryType-07131# If the @queryType@ used to
+--     create @queryPool@ was not @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ or
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
+--     /must/ be no bound video session
+--
 -- -   #VUID-vkCmdBeginQuery-queryPool-01922# @queryPool@ /must/ have been
 --     created with a @queryType@ that differs from that of any queries
 --     that are
@@ -15585,17 +15654,12 @@
 --
 -- -   #VUID-vkCmdCopyQueryPoolResults-queryType-06901# If the @queryType@
 --     used to create @queryPool@ was
---     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, @flags@ /must/ include
+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then @flags@ /must/ include
 --     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
 --
 -- -   #VUID-vkCmdCopyQueryPoolResults-flags-06902# If @flags@ includes
---     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, it /must/ not include
+--     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, then it /must/ not include
 --     'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_WITH_AVAILABILITY_BIT'
---
--- -   #VUID-vkCmdCopyQueryPoolResults-queryType-06903# If the @queryType@
---     used to create @queryPool@ was
---     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',
---     @flags@ /must/ not contain @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
 --
 -- -   #VUID-vkCmdCopyQueryPoolResults-None-07429# All queries used by the
 --     command /must/ not be active
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
@@ -169,6 +169,14 @@
 -- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
 -- | 'ACCESS_FRAGMENT_DENSITY_MAP_READ_BIT_EXT'                                  | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT'         |
 -- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
+-- | @VK_ACCESS_2_VIDEO_DECODE_READ_BIT_KHR@                                     | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@                                                          |
+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
+-- | @VK_ACCESS_2_VIDEO_DECODE_WRITE_BIT_KHR@                                    | @VK_PIPELINE_STAGE_2_VIDEO_DECODE_BIT_KHR@                                                          |
+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
+-- | @VK_ACCESS_2_VIDEO_ENCODE_READ_BIT_KHR@                                     | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@                                                          |
+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
+-- | @VK_ACCESS_2_VIDEO_ENCODE_WRITE_BIT_KHR@                                    | @VK_PIPELINE_STAGE_2_VIDEO_ENCODE_BIT_KHR@                                                          |
+-- +-----------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
 --
 -- Supported access types
 --
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
@@ -228,30 +228,42 @@
 --     numeric type other than @*UINT@, or set it as a buffer feature.
 --
 -- -   @VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR@ specifies that an
---     image view with this format /can/ be used as an output for
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
+--     image view with this format /can/ be used as a
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#decode-output-picture decode output picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
 --
 -- -   @VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR@ specifies that an image
---     view with this format /can/ be used as a DPB for
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
+--     view with this format /can/ be used as an output
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
+--     or an input
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
 --
 -- -   @VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR@ specifies that an
---     image view with this format /can/ be used as an input to
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
+--     image view with this format /can/ be used as an
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#encode-input-picture encode input picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
 --
 -- -   @VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR@ specifies that an image
---     view with this format /can/ be used as a DPB for
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
+--     view with this format /can/ be used as an output
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
+--     or an input
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
 --
 --     Note
 --
---     Specific video profiles /may/ have additional restrictions on the
---     format and other image creation parameters corresponding to image
---     views used by video coding operations that /can/ be enumerated using
---     the
+--     Specific
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>
+--     /may/ have additional restrictions on the format and other image
+--     creation parameters corresponding to image views used by video
+--     coding operations that /can/ be enumerated using the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR>
---     command, as described in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#supported-video-input-output-dpb-formats-enumeration Enumeration of Supported Video Output, Input and DPB Formats>.
+--     command.
 --
 -- The following bits /may/ be set in @bufferFeatures@, specifying that the
 -- features are supported by <VkBuffer.html buffers> or
@@ -286,6 +298,13 @@
 --     when doing
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#host-acceleration-structure host acceleration structure>
 --     builds.
+--
+-- Note
+--
+-- 'FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT' and
+-- 'FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT' are only intended to be
+-- advertised for single-component formats, since SPIR-V atomic operations
+-- require a scalar type.
 --
 -- = See Also
 --
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
@@ -1391,18 +1391,18 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCodingControlInfoKHR VkVideoCodingControlInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeCapabilitiesKHR VkVideoDecodeCapabilitiesKHR>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesEXT VkVideoDecodeH264CapabilitiesEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264DpbSlotInfoEXT VkVideoDecodeH264DpbSlotInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264PictureInfoEXT VkVideoDecodeH264PictureInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoEXT VkVideoDecodeH264ProfileInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersAddInfoEXT VkVideoDecodeH264SessionParametersAddInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersCreateInfoEXT VkVideoDecodeH264SessionParametersCreateInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265CapabilitiesEXT VkVideoDecodeH265CapabilitiesEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265DpbSlotInfoEXT VkVideoDecodeH265DpbSlotInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265PictureInfoEXT VkVideoDecodeH265PictureInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoEXT VkVideoDecodeH265ProfileInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersAddInfoEXT VkVideoDecodeH265SessionParametersAddInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersCreateInfoEXT VkVideoDecodeH265SessionParametersCreateInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesKHR VkVideoDecodeH264CapabilitiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264DpbSlotInfoKHR VkVideoDecodeH264DpbSlotInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264PictureInfoKHR VkVideoDecodeH264PictureInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoKHR VkVideoDecodeH264ProfileInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersAddInfoKHR VkVideoDecodeH264SessionParametersAddInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264SessionParametersCreateInfoKHR VkVideoDecodeH264SessionParametersCreateInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265CapabilitiesKHR VkVideoDecodeH265CapabilitiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265DpbSlotInfoKHR VkVideoDecodeH265DpbSlotInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265PictureInfoKHR VkVideoDecodeH265PictureInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoKHR VkVideoDecodeH265ProfileInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersAddInfoKHR VkVideoDecodeH265SessionParametersAddInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265SessionParametersCreateInfoKHR VkVideoDecodeH265SessionParametersCreateInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeInfoKHR VkVideoDecodeInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR>,
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
@@ -66,7 +66,7 @@
 -- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR',
 -- 'Vulkan.Extensions.VK_QCOM_fragment_density_map_offset.SubpassFragmentDensityMapOffsetEndInfoQCOM',
 -- 'Vulkan.Extensions.VK_QCOM_tile_properties.TilePropertiesQCOM',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesEXT VkVideoDecodeH264CapabilitiesEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesKHR VkVideoDecodeH264CapabilitiesKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR>
 data Offset2D = Offset2D
   { -- | @x@ is the x offset.
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
@@ -337,7 +337,7 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-vkGetImageSubresourceLayout-image-02270# @image@ /must/ have
+-- -   #VUID-vkGetImageSubresourceLayout-image-07790# @image@ /must/ have
 --     been created with @tiling@ equal to
 --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' or
 --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
@@ -1448,29 +1448,33 @@
 --     /must/ be @0@ or @1@
 --
 -- -   #VUID-VkImageCreateInfo-usage-04815# If @usage@ includes
---     @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,
+--     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,
+--     @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, or
 --     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the @pNext@ chain
---     /must/ include a valid
+--     /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
---     specifying a decode operation
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure with a @videoCodecOperation@ member specifying a decode
+--     operation
 --
 -- -   #VUID-VkImageCreateInfo-usage-04816# If @usage@ includes
---     @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@,
 --     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,
+--     @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, or
 --     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @pNext@ chain
---     /must/ include a valid
+--     /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>::@videoCodecOperation@
---     specifying an encode operation
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure with a @videoCodecOperation@ member specifying an encode
+--     operation
 --
 -- -   #VUID-VkImageCreateInfo-pNext-06811# If the @pNext@ chain includes a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
---     structure then @supportedVideoFormat@ /must/ be
+--     structure with @profileCount@ greater than @0@, then
+--     @supportedVideoFormat@ /must/ be
 --     'Vulkan.Core10.FundamentalTypes.TRUE'
 --
 -- -   #VUID-VkImageCreateInfo-pNext-06390# If the
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
@@ -622,40 +622,19 @@
 --
 -- If the image has a
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>
--- @format@ and @subresourceRange.aspectMask@ is
--- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT', and it
--- was created with @usage@ value containing flags other than
--- @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,
--- @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@ ,
--- @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,
--- @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @format@ /must/ be
--- identical to the image @format@, and the sampler to be used with the
--- image view /must/ enable
+-- @format@, @subresourceRange.aspectMask@ is
+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT', and
+-- @usage@ includes
+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT', then
+-- the @format@ /must/ be identical to the image @format@ and the sampler
+-- to be used with the image view /must/ enable
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>.
 --
--- If the image has a
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>
--- @format@ and the @image@ has been created with a @usage@ value
--- containing any of the @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,
--- @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@, and
--- @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@ flags, then all of the
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
--- would ignore the
--- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'
--- structure and\/or
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
--- object, associated with the image view. If the image has a
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>
--- @format@ and the @image@ has been created with a @usage@ value
--- containing any of the @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@,
--- @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@, and
--- @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@ flags, then all of the
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
--- would ignore the
--- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'
--- structure and\/or
+-- When such an image is used in a
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-coding video coding>
+-- operation, the
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
--- object, associated with the image view.
+-- has no effect.
 --
 -- If @image@ was created with the
 -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_MUTABLE_FORMAT_BIT'
@@ -1193,21 +1172,17 @@
 --
 -- -   #VUID-VkImageViewCreateInfo-image-04817# If @image@ was created with
 --     @usage@ containing @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@,
---     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,
+--     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@, or
 --     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the @viewType@
 --     /must/ be 'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D' or
---     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' and all
---     members of @components@ /must/ have the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY'
 --
 -- -   #VUID-VkImageViewCreateInfo-image-04818# If @image@ was created with
 --     @usage@ containing @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@,
---     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,
+--     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@, or
 --     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @viewType@
 --     /must/ be 'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D' or
---     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' and all
---     members of @components@ /must/ have the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY'
 --
 -- -   #VUID-VkImageViewCreateInfo-flags-08106# If @flags@ includes
 --     'Vulkan.Core10.Enums.ImageViewCreateFlagBits.IMAGE_VIEW_CREATE_DESCRIPTOR_BUFFER_CAPTURE_REPLAY_BIT_EXT',
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
@@ -600,13 +600,20 @@
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
 --     set
 --
--- -   #VUID-VkImageMemoryBarrier-synchronization2-06911# If the
+-- -   #VUID-VkImageMemoryBarrier-synchronization2-07793# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
---     feature is not enabled, @layout@ /must/ not be
+--     feature is not enabled, @oldLayout@ /must/ not be
 --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR'
 --     or
 --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR'
 --
+-- -   #VUID-VkImageMemoryBarrier-synchronization2-07794# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
+--     feature is not enabled, @newLayout@ /must/ not be
+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR'
+--     or
+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR'
+--
 -- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-03938# If
 --     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
@@ -702,6 +709,60 @@
 --     queue families, or one of the special queue family values reserved
 --     for external memory transfers, as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers ???>
+--
+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07120# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07121# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07122# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07123# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07124# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07125# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@
 --
 -- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-07006# If
 --     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
diff --git a/src/Vulkan/Core10/Query.hs b/src/Vulkan/Core10/Query.hs
--- a/src/Vulkan/Core10/Query.hs
+++ b/src/Vulkan/Core10/Query.hs
@@ -443,17 +443,12 @@
 --
 -- -   #VUID-vkGetQueryPoolResults-queryType-04810# If the @queryType@ used
 --     to create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@,
---     @flags@ /must/ include @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
+--     then @flags@ /must/ include @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
 --
 -- -   #VUID-vkGetQueryPoolResults-flags-04811# If @flags@ includes
---     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, it /must/ not include
+--     @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@, then it /must/ not include
 --     'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_WITH_AVAILABILITY_BIT'
 --
--- -   #VUID-vkGetQueryPoolResults-queryType-06900# If the @queryType@ used
---     to create @queryPool@ was
---     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',
---     @flags@ /must/ not contain @VK_QUERY_RESULT_WITH_STATUS_BIT_KHR@
---
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkGetQueryPoolResults-device-parameter# @device@ /must/ be a
@@ -591,6 +586,12 @@
 -- -   #VUID-VkQueryPoolCreateInfo-queryCount-02763# @queryCount@ /must/ be
 --     greater than 0
 --
+-- -   #VUID-VkQueryPoolCreateInfo-queryType-07133# If @queryType@ is
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the
+--     @pNext@ chain /must/ include a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure with @videoCodecOperation@ specifying an encode operation
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkQueryPoolCreateInfo-sType-sType# @sType@ /must/ be
@@ -601,8 +602,8 @@
 --     @NULL@ or a pointer to a valid instance of
 --     'Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR',
 --     'Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL',
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoEXT VkVideoDecodeH264ProfileInfoEXT>,
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoEXT VkVideoDecodeH265ProfileInfoEXT>,
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoKHR VkVideoDecodeH264ProfileInfoKHR>,
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoKHR VkVideoDecodeH265ProfileInfoKHR>,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoEXT VkVideoEncodeH264ProfileInfoEXT>,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoEXT VkVideoEncodeH265ProfileInfoEXT>,
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
@@ -515,18 +515,17 @@
 --
 -- If the @pNext@ chain of @pImageFormatInfo@ includes a
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
--- structure with a @profileCount@ member greater than @0@, then
--- 'getPhysicalDeviceImageFormatProperties2' returns format capabilities
--- specific to image types used in conjunction with the specified video
--- codec operations and corresponding video profiles. In this case
--- 'getPhysicalDeviceImageFormatProperties2' returns one of the
+-- structure with a @profileCount@ member greater than @0@, then this
+-- command returns format capabilities specific to image types used in
+-- conjunction with the specified
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>.
+-- In this case, this command will return one of the
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profile-error-codes video-profile-specific error codes>
 -- if any of the profiles specified via
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>::@pProfiles@
 -- are not supported. Furthermore, if
--- 'PhysicalDeviceImageFormatInfo2'::@usage@ includes any image usage flags
--- not supported by the specified video profiles then
--- 'getPhysicalDeviceImageFormatProperties2' returns
+-- 'PhysicalDeviceImageFormatInfo2'::@usage@ includes any image usage flag
+-- not supported by the specified video profiles, then this command returns
 -- @VK_ERROR_IMAGE_USAGE_NOT_SUPPORTED_KHR@.
 --
 -- == Valid Usage
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
@@ -363,30 +363,42 @@
 --     numeric type other than @*UINT@, or set it as a buffer feature.
 --
 -- -   @VK_FORMAT_FEATURE_2_VIDEO_DECODE_OUTPUT_BIT_KHR@ specifies that an
---     image view with this format /can/ be used as an output for
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
+--     image view with this format /can/ be used as a
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#decode-output-picture decode output picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
 --
 -- -   @VK_FORMAT_FEATURE_2_VIDEO_DECODE_DPB_BIT_KHR@ specifies that an
---     image view with this format /can/ be used as a DPB for
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>
+--     image view with this format /can/ be used as an output
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
+--     or an input
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-decode-operations video decode operations>.
 --
 -- -   @VK_FORMAT_FEATURE_2_VIDEO_ENCODE_INPUT_BIT_KHR@ specifies that an
---     image view with this format /can/ be used as an input to
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
+--     image view with this format /can/ be used as an
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#encode-input-picture encode input picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
 --
 -- -   @VK_FORMAT_FEATURE_2_VIDEO_ENCODE_DPB_BIT_KHR@ specifies that an
---     image view with this format /can/ be used as a DPB for
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>
+--     image view with this format /can/ be used as an output
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reconstructed-picture reconstructed picture>
+--     or an input
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#reference-picture reference picture>
+--     in
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-encode-operations video encode operations>.
 --
 --     Note
 --
---     Specific video profiles /may/ have additional restrictions on the
---     format and other image creation parameters corresponding to image
---     views used by video coding operations that /can/ be enumerated using
---     the
+--     Specific
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#video-profiles video profiles>
+--     /may/ have additional restrictions on the format and other image
+--     creation parameters corresponding to image views used by video
+--     coding operations that /can/ be enumerated using the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR>
---     command, as described in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#supported-video-input-output-dpb-formats-enumeration Enumeration of Supported Video Output, Input and DPB Formats>.
+--     command.
 --
 -- -   'FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT' specifies that
 --     image views or buffer views created with this format /can/ be used
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
@@ -1835,9 +1835,6 @@
 --     '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
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
@@ -3313,13 +3313,20 @@
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
 --     set
 --
--- -   #VUID-VkImageMemoryBarrier2-synchronization2-06911# If the
+-- -   #VUID-VkImageMemoryBarrier2-synchronization2-07793# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
---     feature is not enabled, @layout@ /must/ not be
+--     feature is not enabled, @oldLayout@ /must/ not be
 --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR'
 --     or
 --     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR'
 --
+-- -   #VUID-VkImageMemoryBarrier2-synchronization2-07794# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
+--     feature is not enabled, @newLayout@ /must/ not be
+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_ATTACHMENT_OPTIMAL_KHR'
+--     or
+--     'Vulkan.Extensions.VK_KHR_synchronization2.IMAGE_LAYOUT_READ_ONLY_OPTIMAL_KHR'
+--
 -- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-03938# If
 --     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
@@ -3415,6 +3422,60 @@
 --     queue families, or one of the special queue family values reserved
 --     for external memory transfers, as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers ???>
+--
+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07120# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_SRC_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07121# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07122# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_DECODE_DPB_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07123# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_SRC_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07124# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DST_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@
+--
+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07125# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     @VK_IMAGE_LAYOUT_VIDEO_ENCODE_DPB_KHR@ then @image@ /must/ have been
+--     created with @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@
 --
 -- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-07006# If
 --     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
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
@@ -283,12 +283,19 @@
 -- specify extended inputs via chained input structures, and to return
 -- extended information via chained output structures.
 --
--- == Valid Usage
+-- It is legal to call 'getImageSubresourceLayout2EXT' with a @image@
+-- created with @tiling@ equal to
+-- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL', but the members
+-- of 'ImageSubresource2EXT'::@imageSubresource@ will have undefined values
+-- in this case.
 --
--- -   #VUID-vkGetImageSubresourceLayout2EXT-image-02270# @image@ /must/
---     have been created with @tiling@ equal to
---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' or
---     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
+-- Note
+--
+-- Structures chained from 'ImageSubresource2EXT'::@pNext@ will also be
+-- updated when @tiling@ is equal to
+-- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL'.
+--
+-- == Valid Usage
 --
 -- -   #VUID-vkGetImageSubresourceLayout2EXT-aspectMask-00997# The
 --     @aspectMask@ member of @pSubresource@ /must/ only have a single bit
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
@@ -1934,6 +1934,41 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-mesh-shader Mesh Shader Queries>
 --     must not be active
 --
+-- -   #VUID-vkCmdDrawMeshTasksEXT-stage-06480# The bound graphics pipeline
+--     /must/ not have been created with the
+--     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
+--     member of an element of
+--     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pStages@ set
+--     to
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
+--
+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-07074#
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-transform-feedback Transform Feedback Queries>
+--     /must/ not be active
+--
+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-07075#
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-primitives-generated Primitives Generated Queries>
+--     /must/ not be active
+--
+-- -   #VUID-vkCmdDrawMeshTasksEXT-pipelineStatistics-07076# The
+--     @pipelineStatistics@ member used to create any active
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-pipestats Pipeline Statistics Query>
+--     /must/ not contain
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT',
+--     or
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT'
+--
 -- -   #VUID-vkCmdDrawMeshTasksEXT-TaskEXT-07322# If the current pipeline
 --     bound to
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
@@ -3696,6 +3731,41 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-mesh-shader Mesh Shader Queries>
 --     must not be active
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-stage-06480# The bound graphics
+--     pipeline /must/ not have been created with the
+--     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
+--     member of an element of
+--     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pStages@ set
+--     to
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07074#
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-transform-feedback Transform Feedback Queries>
+--     /must/ not be active
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07075#
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-primitives-generated Primitives Generated Queries>
+--     /must/ not be active
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-pipelineStatistics-07076# The
+--     @pipelineStatistics@ member used to create any active
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-pipestats Pipeline Statistics Query>
+--     /must/ not contain
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT',
+--     or
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT'
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-buffer-02708# If @buffer@ is
 --     non-sparse then it /must/ be bound completely and contiguously to a
 --     single 'Vulkan.Core10.Handles.DeviceMemory' object
@@ -5447,6 +5517,41 @@
 --     then
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-mesh-shader Mesh Shader Queries>
 --     must not be active
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-stage-06480# The bound
+--     graphics pipeline /must/ not have been created with the
+--     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
+--     member of an element of
+--     'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pStages@ set
+--     to
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07074#
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-transform-feedback Transform Feedback Queries>
+--     /must/ not be active
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07075#
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-primitives-generated Primitives Generated Queries>
+--     /must/ not be active
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-pipelineStatistics-07076#
+--     The @pipelineStatistics@ member used to create any active
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-pipestats Pipeline Statistics Query>
+--     /must/ not contain
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT',
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT',
+--     or
+--     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-buffer-02708# If @buffer@
 --     is non-sparse then it /must/ be bound completely and contiguously to
diff --git a/src/Vulkan/Extensions/VK_EXT_swapchain_maintenance1.hs b/src/Vulkan/Extensions/VK_EXT_swapchain_maintenance1.hs
--- a/src/Vulkan/Extensions/VK_EXT_swapchain_maintenance1.hs
+++ b/src/Vulkan/Extensions/VK_EXT_swapchain_maintenance1.hs
@@ -772,7 +772,7 @@
 --
 -- = Description
 --
--- If @presentScaling@ is @0@, the result of presenting a swapchain image
+-- If @scalingBehavior@ is @0@, the result of presenting a swapchain image
 -- with dimensions that do not match the surface dimensions is
 -- implementation and platform-dependent. If @presentGravityX@ or
 -- @presentGravityY@ are @0@, the presentation gravity /must/ match that
@@ -787,8 +787,8 @@
 -- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentGravityX-07766#
 --     If @presentGravityX@ is not @0@, @presentGravityY@ /must/ not be @0@
 --
--- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentScaling-07767#
---     @presentScaling@ /must/ not have more than one bit set
+-- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-scalingBehavior-07767#
+--     @scalingBehavior@ /must/ not have more than one bit set
 --
 -- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentGravityX-07768#
 --     @presentGravityX@ /must/ not have more than one bit set
@@ -796,18 +796,18 @@
 -- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentGravityY-07769#
 --     @presentGravityY@ /must/ not have more than one bit set
 --
--- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentScaling-07770#
---     @presentScaling@ /must/ be a valid scaling method for the surface as
---     returned in
+-- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-scalingBehavior-07770#
+--     @scalingBehavior@ /must/ be a valid scaling method for the surface
+--     as returned in
 --     'Vulkan.Extensions.VK_EXT_surface_maintenance1.SurfacePresentScalingCapabilitiesEXT'::@supportedPresentScaling@,
 --     given
 --     'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR'::@presentMode@
 --     in
 --     'Vulkan.Extensions.VK_EXT_surface_maintenance1.SurfacePresentModeEXT'
 --
--- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-presentScaling-07771#
+-- -   #VUID-VkSwapchainPresentScalingCreateInfoEXT-scalingBehavior-07771#
 --     If the swapchain is created with
---     'SwapchainPresentModesCreateInfoEXT', @presentScaling@ /must/ be a
+--     'SwapchainPresentModesCreateInfoEXT', @scalingBehavior@ /must/ be a
 --     valid scaling method for the surface as returned in
 --     'Vulkan.Extensions.VK_EXT_surface_maintenance1.SurfacePresentScalingCapabilitiesEXT'::@supportedPresentScaling@,
 --     given each present mode in
@@ -878,15 +878,16 @@
 -- 'Vulkan.Extensions.VK_EXT_surface_maintenance1.PresentScalingFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SwapchainPresentScalingCreateInfoEXT = SwapchainPresentScalingCreateInfoEXT
-  { -- No documentation found for Nested "VkSwapchainPresentScalingCreateInfoEXT" "scalingBehavior"
+  { -- | @scalingBehavior@ is @0@ or the scaling method to use when the
+    -- dimensions of the surface and swapchain images differ.
     scalingBehavior :: PresentScalingFlagsEXT
   , -- | @presentGravityX@ is @0@ or the x-axis direction in which swapchain
-    -- image pixels gravitate relative to the surface when @presentScaling@
+    -- image pixels gravitate relative to the surface when @scalingBehavior@
     -- does not result in a one-to-one pixel mapping between the scaled
     -- swapchain image and the surface.
     presentGravityX :: PresentGravityFlagsEXT
   , -- | @presentGravityY@ is @0@ or the y-axis direction in which swapchain
-    -- image pixels gravitate relative to the surface when @presentScaling@
+    -- image pixels gravitate relative to the surface when @scalingBehavior@
     -- does not result in a one-to-one pixel mapping between the scaled
     -- swapchain image and the surface.
     presentGravityY :: PresentGravityFlagsEXT
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
@@ -966,12 +966,61 @@
 --     in the current subpass’s view mask /must/ be less than or equal to
 --     the number of queries in @queryPool@
 --
+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07126# If the @queryType@
+--     used to create @queryPool@ was
+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@, then the
+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ have been created with a queue family index
+--     that supports
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-result-status-only result status queries>,
+--     as indicated by
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFamilyQueryResultStatusPropertiesKHR VkQueueFamilyQueryResultStatusPropertiesKHR>::@queryResultStatusSupport@
+--
+-- -   #VUID-vkCmdBeginQueryIndexedEXT-None-07127# If there is a bound
+--     video session, then there /must/ be no
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>
+--     queries
+--
+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07128# If the @queryType@
+--     used to create @queryPool@ was
+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and there is a bound video
+--     session, then @queryPool@ /must/ have been created with a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure included in the @pNext@ chain of
+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
+--     specified in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
+--     the bound video session was created with
+--
 -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-04862# If the @queryType@
 --     used to create @queryPool@ was
---     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ the
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then the
 --     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
 --     allocated from /must/ support
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>
+--
+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07129# If the @queryType@
+--     used to create @queryPool@ was
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
+--     /must/ be a bound video session
+--
+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07130# If the @queryType@
+--     used to create @queryPool@ was
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@ and there is
+--     a bound video session, then @queryPool@ /must/ have been created
+--     with a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
+--     structure included in the @pNext@ chain of
+--     'Vulkan.Core10.Query.QueryPoolCreateInfo' identical to the one
+--     specified in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
+--     the bound video session was created with
+--
+-- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07131# If the @queryType@
+--     used to create @queryPool@ was not
+--     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ or
+--     @VK_QUERY_TYPE_VIDEO_ENCODE_BITSTREAM_BUFFER_RANGE_KHR@, then there
+--     /must/ be no bound video session
 --
 -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryPool-04753# If the @queryPool@
 --     was created with the same @queryType@ as that of another
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
@@ -6667,6 +6667,15 @@
 -- -   #VUID-VkCopyAccelerationStructureInfoKHR-buffer-03719# The @buffer@
 --     used to create @dst@ /must/ be bound to device memory
 --
+-- -   #VUID-VkCopyAccelerationStructureInfoKHR-dst-07791# The range of
+--     memory backing @dst@ that is accessed by this command /must/ not
+--     overlap the memory backing @src@ that is accessed by this command
+--
+-- -   #VUID-VkCopyAccelerationStructureInfoKHR-dst-07792# @dst@ /must/ be
+--     bound completely and contiguously to a single
+--     'Vulkan.Core10.Handles.DeviceMemory' object via
+--     'Vulkan.Extensions.VK_NV_ray_tracing.bindAccelerationStructureMemoryNV'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkCopyAccelerationStructureInfoKHR-sType-sType# @sType@ /must/
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
@@ -1432,7 +1432,7 @@
 --
 -- Note
 --
--- For a traditional \"Linear\" or non-gamma transfer function color space
+-- For a traditional “Linear” or non-gamma transfer function color space
 -- use 'COLOR_SPACE_PASS_THROUGH_EXT'.
 --
 -- The color components of non-linear color space swap chain images /must/
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
@@ -1204,6 +1204,15 @@
 -- -   #VUID-vkCmdCopyAccelerationStructureNV-buffer-03719# The @buffer@
 --     used to create @dst@ /must/ be bound to device memory
 --
+-- -   #VUID-vkCmdCopyAccelerationStructureNV-dst-07791# The range of
+--     memory backing @dst@ that is accessed by this command /must/ not
+--     overlap the memory backing @src@ that is accessed by this command
+--
+-- -   #VUID-vkCmdCopyAccelerationStructureNV-dst-07792# @dst@ /must/ be
+--     bound completely and contiguously to a single
+--     'Vulkan.Core10.Handles.DeviceMemory' object via
+--     'bindAccelerationStructureMemoryNV'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-parameter#
@@ -1551,6 +1560,11 @@
 --     'Vulkan.Core10.FundamentalTypes.TRUE', the @src@ and @dst@ objects
 --     /must/ either be the same object or not have any
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-memory-aliasing memory aliasing>
+--
+-- -   #VUID-vkCmdBuildAccelerationStructureNV-dst-07787# @dst@ /must/ be
+--     bound completely and contiguously to a single
+--     'Vulkan.Core10.Handles.DeviceMemory' object via
+--     'bindAccelerationStructureMemoryNV'
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Version.hs b/src/Vulkan/Version.hs
--- a/src/Vulkan/Version.hs
+++ b/src/Vulkan/Version.hs
@@ -19,11 +19,11 @@
 import Data.Word (Word32)
 
 pattern HEADER_VERSION :: Word32
-pattern HEADER_VERSION = 237
+pattern HEADER_VERSION = 238
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 237
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 238
 
 
 pattern MAKE_API_VERSION :: Word32 -> Word32 -> Word32 -> Word32
diff --git a/vulkan.cabal b/vulkan.cabal
--- a/vulkan.cabal
+++ b/vulkan.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           vulkan
-version:        3.24.2
+version:        3.24.3
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
