diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.14.2] - 2021-12-07
+- Bump API version to v1.2.202
+
 ## [3.14.1] - 2021-12-01
 - Bump API version to v1.2.201
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.14.1"
+version: "3.14.2"
 synopsis: Bindings to the Vulkan graphics API.
 description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category: Graphics
diff --git a/src/Vulkan/Core10/CommandBufferBuilding.hs b/src/Vulkan/Core10/CommandBufferBuilding.hs
--- a/src/Vulkan/Core10/CommandBufferBuilding.hs
+++ b/src/Vulkan/Core10/CommandBufferBuilding.hs
@@ -10873,6 +10873,11 @@
 --     feature is not enabled, @pipelineStage@ /must/ not be
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-vkCmdWriteTimestamp-synchronization2-06489# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
+--     feature is not enabled, @pipelineStage@ /must/ not be
+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_NONE_KHR'
+--
 -- -   #VUID-vkCmdWriteTimestamp-queryPool-01416# @queryPool@ /must/ have
 --     been created with a @queryType@ of
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_TIMESTAMP'
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
@@ -4250,11 +4250,12 @@
     -- returned pointer will always produce an integer multiple of this limit.
     -- See
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-device-hostaccess>.
+    -- The value /must/ be a power of two.
     minMemoryMapAlignment :: Word64
   , -- | #limits-minTexelBufferOffsetAlignment# @minTexelBufferOffsetAlignment@
     -- is the minimum /required/ alignment, in bytes, for the @offset@ member
     -- of the 'Vulkan.Core10.BufferView.BufferViewCreateInfo' structure for
-    -- texel buffers. If
+    -- texel buffers. The value /must/ be a power of two. If
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-texelBufferAlignment texelBufferAlignment>
     -- is enabled, this limit is equivalent to the maximum of the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-uniformTexelBufferOffsetAlignmentBytes uniformTexelBufferOffsetAlignmentBytes>
@@ -4281,7 +4282,7 @@
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC'
     -- is updated, the @offset@ /must/ be an integer multiple of this limit.
     -- Similarly, dynamic offsets for uniform buffers /must/ be multiples of
-    -- this limit.
+    -- this limit. The value /must/ be a power of two.
     minUniformBufferOffsetAlignment :: DeviceSize
   , -- | #limits-minStorageBufferOffsetAlignment#
     -- @minStorageBufferOffsetAlignment@ is the minimum /required/ alignment,
@@ -4292,7 +4293,7 @@
     -- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC'
     -- is updated, the @offset@ /must/ be an integer multiple of this limit.
     -- Similarly, dynamic offsets for storage buffers /must/ be multiples of
-    -- this limit.
+    -- this limit. The value /must/ be a power of two.
     minStorageBufferOffsetAlignment :: DeviceSize
   , -- | #limits-minTexelOffset# @minTexelOffset@ is the minimum offset value for
     -- the @ConstOffset@ image operand of any of the @OpImageSample*@ or
@@ -4505,7 +4506,8 @@
     -- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdCopyImageToBuffer2KHR', and
     -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyImageToBuffer'. The per
     -- texel alignment requirements are enforced, but applications /should/ use
-    -- the optimal alignment for optimal performance and power use.
+    -- the optimal alignment for optimal performance and power use. The value
+    -- /must/ be a power of two.
     optimalBufferCopyOffsetAlignment :: DeviceSize
   , -- | #limits-optimalBufferCopyRowPitchAlignment#
     -- @optimalBufferCopyRowPitchAlignment@ is the optimal buffer row pitch
@@ -4517,11 +4519,13 @@
     -- the number of bytes between texels with the same X coordinate in
     -- adjacent rows (Y coordinates differ by one). The per texel alignment
     -- requirements are enforced, but applications /should/ use the optimal
-    -- alignment for optimal performance and power use.
+    -- alignment for optimal performance and power use. The value /must/ be a
+    -- power of two.
     optimalBufferCopyRowPitchAlignment :: DeviceSize
   , -- | #limits-nonCoherentAtomSize# @nonCoherentAtomSize@ is the size and
     -- alignment in bytes that bounds concurrent access to
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-device-hostaccess host-mapped device memory>.
+    -- The value /must/ be a power of two.
     --
     -- [1]
     --     For all bitmasks of
diff --git a/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs b/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageAspectFlagBits.hs
@@ -5,6 +5,7 @@
                                                                      , IMAGE_ASPECT_DEPTH_BIT
                                                                      , IMAGE_ASPECT_STENCIL_BIT
                                                                      , IMAGE_ASPECT_METADATA_BIT
+                                                                     , IMAGE_ASPECT_NONE_KHR
                                                                      , IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT
                                                                      , IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT
                                                                      , IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT
@@ -52,6 +53,9 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#sparsememory sparse resource>
 -- operations.
 pattern IMAGE_ASPECT_METADATA_BIT           = ImageAspectFlagBits 0x00000008
+-- | 'IMAGE_ASPECT_NONE_KHR' specifies no image aspect, or the image aspect
+-- is not applicable.
+pattern IMAGE_ASPECT_NONE_KHR               = ImageAspectFlagBits 0x00000000
 -- | 'IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT' specifies /memory plane/ 3.
 pattern IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = ImageAspectFlagBits 0x00000400
 -- | 'IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT' specifies /memory plane/ 2.
@@ -82,6 +86,7 @@
   , (IMAGE_ASPECT_DEPTH_BIT             , "DEPTH_BIT")
   , (IMAGE_ASPECT_STENCIL_BIT           , "STENCIL_BIT")
   , (IMAGE_ASPECT_METADATA_BIT          , "METADATA_BIT")
+  , (IMAGE_ASPECT_NONE_KHR              , "NONE_KHR")
   , (IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT, "MEMORY_PLANE_3_BIT_EXT")
   , (IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT, "MEMORY_PLANE_2_BIT_EXT")
   , (IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT, "MEMORY_PLANE_1_BIT_EXT")
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
@@ -30,9 +30,9 @@
 -- If 'PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT'
 -- and 'PIPELINE_SHADER_STAGE_CREATE_REQUIRE_FULL_SUBGROUPS_BIT_EXT' are
 -- specified and
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroup-size minSubgroupSize>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-minSubgroupSize minSubgroupSize>
 -- does not equal
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroup-size maxSubgroupSize>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxSubgroupSize maxSubgroupSize>
 -- and no
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipelines-required-subgroup-size required subgroup size>
 -- is specified, then the only way to guarantee that the \'X\' dimension of
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
@@ -680,10 +680,14 @@
 --
 -- -   #VUID-VkAttachmentDescription-format-03280# If @format@ is a color
 --     format, @initialLayout@ /must/ not be
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL',
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL',
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL',
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL'
 --     or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL'
+--
+-- -   #VUID-VkAttachmentDescription-format-06487# If @format@ is a color
+--     format, @initialLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL'
+--     or
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL'
 --
 -- -   #VUID-VkAttachmentDescription-format-03281# If @format@ is a
@@ -692,9 +696,13 @@
 --
 -- -   #VUID-VkAttachmentDescription-format-03282# If @format@ is a color
 --     format, @finalLayout@ /must/ not be
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL',
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL',
---     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL',
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL'
+--     or
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL'
+--
+-- -   #VUID-VkAttachmentDescription-format-06488# If @format@ is a color
+--     format, @finalLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL'
 --     or
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL'
 --
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
@@ -1090,7 +1090,7 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subgroupSizeControl subgroupSizeControl>
 --     feature /must/ be enabled, and @stage@ /must/ be a valid bit
 --     specified in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-required-subgroup-size-stages requiredSubgroupSizeStages>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-requiredSubgroupSizeStages requiredSubgroupSizeStages>
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-pNext-02756# If a
 --     'Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT'
@@ -1100,7 +1100,7 @@
 --     to the product of
 --     'Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT'::@requiredSubgroupSize@
 --     and
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroups-per-workgroup maxComputeWorkgroupSubgroups>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxComputeWorkgroupSubgroups maxComputeWorkgroupSubgroups>
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-pNext-02757# If a
 --     'Vulkan.Extensions.VK_EXT_subgroup_size_control.PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT'
@@ -1117,7 +1117,7 @@
 --     'Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PIPELINE_SHADER_STAGE_CREATE_ALLOW_VARYING_SUBGROUP_SIZE_BIT_EXT'
 --     flags set, the local workgroup size in the X dimension of the
 --     pipeline /must/ be a multiple of
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroup-size maxSubgroupSize>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxSubgroupSize maxSubgroupSize>
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-flags-02759# If @flags@ has
 --     the
@@ -4753,20 +4753,47 @@
 --     or
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06467# If the @flags@
---     member of 'PipelineColorBlendStateCreateInfo' includes
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06482# If the pipeline is
+--     being created with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-output fragment output interface state>
+--     and the @flags@ member of 'PipelineColorBlendStateCreateInfo'
+--     includes
+--     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM',
+--     @renderpass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06483# If the pipeline is
+--     being created with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-output fragment output interface state>
+--     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'
+--     includes
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
+--     or
+--     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM',
+--     @renderpass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06484# If the pipeline is
+--     being created with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-output fragment output interface state>
+--     and the @flags@ member of 'PipelineColorBlendStateCreateInfo'
+--     includes
 --     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_ARM'
 --     @subpass@ /must/ have been created with
 --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_ARM'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06468# If the @flags@
---     member of 'PipelineDepthStencilStateCreateInfo' includes
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06485# If the pipeline is
+--     being created with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-output fragment output interface state>
+--     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'
+--     includes
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM',
 --     @subpass@ /must/ have been created with
 --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_ARM'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06469# If the @flags@
---     member of 'PipelineDepthStencilStateCreateInfo' includes
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06486# If the pipeline is
+--     being created with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-output fragment output interface state>
+--     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'
+--     includes
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM',
 --     @subpass@ /must/ have been created with
 --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_ARM'
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
@@ -204,6 +204,11 @@
 --     feature is not enabled, @pipelineStage@ /must/ not be
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-vkCmdWriteBufferMarkerAMD-synchronization2-06489# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-synchronization2 synchronization2>
+--     feature is not enabled, @pipelineStage@ /must/ not be
+--     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_NONE_KHR'
+--
 -- -   #VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01798# @dstOffset@ /must/
 --     be less than or equal to the size of @dstBuffer@ minus @4@
 --
@@ -225,8 +230,8 @@
 --     @commandBuffer@ /must/ be a valid
 --     'Vulkan.Core10.Handles.CommandBuffer' handle
 --
--- -   #VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-parameter#
---     @pipelineStage@ /must/ be a valid
+-- -   #VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-parameter# If
+--     @pipelineStage@ is not @0@, @pipelineStage@ /must/ be a valid
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits'
 --     value
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_gcn_shader.hs b/src/Vulkan/Extensions/VK_AMD_gcn_shader.hs
--- a/src/Vulkan/Extensions/VK_AMD_gcn_shader.hs
+++ b/src/Vulkan/Extensions/VK_AMD_gcn_shader.hs
@@ -39,6 +39,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_gcn_shader.html SPV_AMD_gcn_shader>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_gcn_shader.txt GL_AMD_gcn_shader>
+--
 -- [__Contributors__]
 --
 --     -   Dominik Witczak, AMD
diff --git a/src/Vulkan/Extensions/VK_AMD_gpu_shader_half_float.hs b/src/Vulkan/Extensions/VK_AMD_gpu_shader_half_float.hs
--- a/src/Vulkan/Extensions/VK_AMD_gpu_shader_half_float.hs
+++ b/src/Vulkan/Extensions/VK_AMD_gpu_shader_half_float.hs
@@ -46,6 +46,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_gpu_shader_half_float.html SPV_AMD_gpu_shader_half_float>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_gpu_shader_half_float.txt GL_AMD_gpu_shader_half_float>
+--
 -- [__Contributors__]
 --
 --     -   Daniel Rakos, AMD
diff --git a/src/Vulkan/Extensions/VK_AMD_gpu_shader_int16.hs b/src/Vulkan/Extensions/VK_AMD_gpu_shader_int16.hs
--- a/src/Vulkan/Extensions/VK_AMD_gpu_shader_int16.hs
+++ b/src/Vulkan/Extensions/VK_AMD_gpu_shader_int16.hs
@@ -46,6 +46,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_gpu_shader_int16.html SPV_AMD_gpu_shader_int16>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_gpu_shader_int16.txt GL_AMD_gpu_shader_int16>
+--
 -- [__Contributors__]
 --
 --     -   Daniel Rakos, AMD
@@ -59,10 +62,6 @@
 --     -   Timothy Lottes, AMD
 --
 --     -   Zhi Cai, AMD
---
--- [__External Dependencies__]
---
---     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_gpu_shader_int16.html SPV_AMD_gpu_shader_int16>
 --
 -- == Description
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_ballot.hs b/src/Vulkan/Extensions/VK_AMD_shader_ballot.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_ballot.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_ballot.hs
@@ -39,6 +39,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_shader_ballot.html SPV_AMD_shader_ballot>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_shader_ballot.txt GL_AMD_shader_ballot>
+--
 -- [__Contributors__]
 --
 --     -   Qun Lin, AMD
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_explicit_vertex_parameter.hs b/src/Vulkan/Extensions/VK_AMD_shader_explicit_vertex_parameter.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_explicit_vertex_parameter.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_explicit_vertex_parameter.hs
@@ -39,6 +39,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_shader_explicit_vertex_parameter.html SPV_AMD_shader_explicit_vertex_parameter>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_shader_explicit_vertex_parameter.txt GL_AMD_shader_explicit_vertex_parameter>
+--
 -- [__Contributors__]
 --
 --     -   Matthaeus G. Chajdas, AMD
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_fragment_mask.hs b/src/Vulkan/Extensions/VK_AMD_shader_fragment_mask.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_fragment_mask.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_fragment_mask.hs
@@ -39,6 +39,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_shader_fragment_mask.html SPV_AMD_shader_fragment_mask>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/amd/GL_AMD_shader_fragment_mask.txt GL_AMD_shader_fragment_mask>
+--
 -- [__Contributors__]
 --
 --     -   Aaron Hagan, AMD
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_trinary_minmax.hs b/src/Vulkan/Extensions/VK_AMD_shader_trinary_minmax.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_trinary_minmax.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_trinary_minmax.hs
@@ -39,6 +39,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_shader_trinary_minmax.html SPV_AMD_shader_trinary_minmax>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_shader_trinary_minmax.txt GL_AMD_shader_trinary_minmax>
+--
 -- [__Contributors__]
 --
 --     -   Matthaeus G. Chajdas, AMD
diff --git a/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs b/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs
--- a/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs
+++ b/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_texture_gather_bias_lod.html SPV_AMD_texture_gather_bias_lod>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_texture_gather_bias_lod.txt GL_AMD_texture_gather_bias_lod>
+--
 -- [__Contributors__]
 --
 --     -   Dominik Witczak, AMD
diff --git a/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs-boot b/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_texture_gather_bias_lod.hs-boot
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/AMD/SPV_AMD_texture_gather_bias_lod.html SPV_AMD_texture_gather_bias_lod>
 --
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/AMD/AMD_texture_gather_bias_lod.txt GL_AMD_texture_gather_bias_lod>
+--
 -- [__Contributors__]
 --
 --     -   Dominik Witczak, AMD
diff --git a/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs b/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs
--- a/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs
+++ b/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs
@@ -48,6 +48,11 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_physical_storage_buffer.html SPV_EXT_physical_storage_buffer>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt GLSL_EXT_buffer_reference>
+--         and
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference_uvec2.txt GLSL_EXT_buffer_reference_uvec2>
+--
 -- [__Contributors__]
 --
 --     -   Jeff Bolz, NVIDIA
diff --git a/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs-boot b/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_buffer_device_address.hs-boot
@@ -48,6 +48,11 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_physical_storage_buffer.html SPV_EXT_physical_storage_buffer>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference.txt GLSL_EXT_buffer_reference>
+--         and
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_buffer_reference_uvec2.txt GLSL_EXT_buffer_reference_uvec2>
+--
 -- [__Contributors__]
 --
 --     -   Jeff Bolz, NVIDIA
diff --git a/src/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs b/src/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs
--- a/src/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs
+++ b/src/Vulkan/Extensions/VK_EXT_descriptor_indexing.hs
@@ -44,6 +44,12 @@
 --
 --     -   Promoted to Vulkan 1.2 Core
 --
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_descriptor_indexing.html SPV_EXT_descriptor_indexing>
+--
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_nonuniform_qualifier.txt GL_EXT_nonuniform_qualifier>
+--
 -- [__Contributors__]
 --
 --     -   Jeff Bolz, NVIDIA
diff --git a/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs b/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs
--- a/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs
+++ b/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs
@@ -38,6 +38,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_fragment_invocation_density.html SPV_EXT_fragment_invocation_density>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_fragment_invocation_density.txt GL_EXT_fragment_invocation_density>
+--
 -- [__Contributors__]
 --
 --     -   Matthew Netsch, Qualcomm Technologies, Inc.
@@ -350,14 +353,14 @@
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentDensityMapPropertiesEXT = PhysicalDeviceFragmentDensityMapPropertiesEXT
-  { -- | #limits-minfragmentdensitytexelsize# @minFragmentDensityTexelSize@ is
+  { -- | #limits-minFragmentDensityTexelSize# @minFragmentDensityTexelSize@ is
     -- the minimum
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#glossary-fragment-density-texel-size fragment density texel size>.
     minFragmentDensityTexelSize :: Extent2D
-  , -- | #limits-maxfragmentdensitytexelsize# @maxFragmentDensityTexelSize@ is
+  , -- | #limits-maxFragmentDensityTexelSize# @maxFragmentDensityTexelSize@ is
     -- the maximum fragment density texel size.
     maxFragmentDensityTexelSize :: Extent2D
-  , -- | #limits-fragmentdensityinvocations# @fragmentDensityInvocations@
+  , -- | #limits-fragmentDensityInvocations# @fragmentDensityInvocations@
     -- specifies whether the implementation /may/ invoke additional fragment
     -- shader invocations for each covered sample.
     fragmentDensityInvocations :: Bool
diff --git a/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs-boot b/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_fragment_density_map.hs-boot
@@ -38,6 +38,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_fragment_invocation_density.html SPV_EXT_fragment_invocation_density>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_fragment_invocation_density.txt GL_EXT_fragment_invocation_density>
+--
 -- [__Contributors__]
 --
 --     -   Matthew Netsch, Qualcomm Technologies, Inc.
diff --git a/src/Vulkan/Extensions/VK_EXT_robustness2.hs b/src/Vulkan/Extensions/VK_EXT_robustness2.hs
--- a/src/Vulkan/Extensions/VK_EXT_robustness2.hs
+++ b/src/Vulkan/Extensions/VK_EXT_robustness2.hs
@@ -304,14 +304,14 @@
     -- range of a storage buffer descriptor is rounded up to when used for
     -- bounds-checking when
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
-    -- is enabled. This value is either 1 or 4.
+    -- is enabled. This value /must/ be either 1 or 4.
     robustStorageBufferAccessSizeAlignment :: DeviceSize
   , -- | #limits-robustUniformBufferAccessSizeAlignment#
     -- @robustUniformBufferAccessSizeAlignment@ is the number of bytes that the
     -- range of a uniform buffer descriptor is rounded up to when used for
     -- bounds-checking when
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
-    -- is enabled. This value is a power of two in the range [1, 256].
+    -- is enabled. This value /must/ be a power of two in the range [1, 256].
     robustUniformBufferAccessSizeAlignment :: DeviceSize
   }
   deriving (Typeable, Eq)
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs
@@ -42,7 +42,7 @@
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_shader_atomic_float_add.html SPV_EXT_shader_atomic_float_add>
 --
 --     -   This extension provides API support for
---         <https://github.com/KhronosGroup/GLSL/tree/master/extensions/ext/GLSL_EXT_shader_atomic_float.txt GL_EXT_shader_atomic_float>
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_shader_atomic_float.txt GL_EXT_shader_atomic_float>
 --
 -- [__Contributors__]
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs-boot b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float.hs-boot
@@ -42,7 +42,7 @@
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_shader_atomic_float_add.html SPV_EXT_shader_atomic_float_add>
 --
 --     -   This extension provides API support for
---         <https://github.com/KhronosGroup/GLSL/tree/master/extensions/ext/GLSL_EXT_shader_atomic_float.txt GL_EXT_shader_atomic_float>
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_shader_atomic_float.txt GL_EXT_shader_atomic_float>
 --
 -- [__Contributors__]
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs b/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_demote_to_helper_invocation.html SPV_EXT_demote_to_helper_invocation>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_demote_to_helper_invocation.txt GL_EXT_demote_to_helper_invocation>
+--
 -- [__Contributors__]
 --
 --     -   Jeff Bolz, NVIDIA
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs-boot b/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_shader_demote_to_helper_invocation.hs-boot
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_demote_to_helper_invocation.html SPV_EXT_demote_to_helper_invocation>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_demote_to_helper_invocation.txt GL_EXT_demote_to_helper_invocation>
+--
 -- [__Contributors__]
 --
 --     -   Jeff Bolz, NVIDIA
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs b/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs
@@ -36,6 +36,14 @@
 -- [__IP Status__]
 --     No known IP claims.
 --
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_shader_image_int64.html SPV_EXT_shader_image_int64>
+--
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_shader_image_int64.txt GLSL_EXT_shader_image_int64>
+--
 -- [__Contributors__]
 --
 --     -   Matthaeus Chajdas, AMD
@@ -47,16 +55,6 @@
 --     -   Jeff Bolz, Nvidia
 --
 --     -   Jason Ekstrand, Intel
---
--- [__Interactions and External Dependencies__]
---
---     -   This extension requires the
---         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_shader_image_int64.html SPV_EXT_shader_image_int64>
---         SPIR-V extension.
---
---     -   This extension requires the
---         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_shader_image_int64.txt GLSL_EXT_shader_image_int64>
---         extension for GLSL source languages.
 --
 -- == Description
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs-boot b/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_shader_image_atomic_int64.hs-boot
@@ -36,6 +36,14 @@
 -- [__IP Status__]
 --     No known IP claims.
 --
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_shader_image_int64.html SPV_EXT_shader_image_int64>
+--
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_shader_image_int64.txt GLSL_EXT_shader_image_int64>
+--
 -- [__Contributors__]
 --
 --     -   Matthaeus Chajdas, AMD
@@ -47,16 +55,6 @@
 --     -   Jeff Bolz, Nvidia
 --
 --     -   Jason Ekstrand, Intel
---
--- [__Interactions and External Dependencies__]
---
---     -   This extension requires the
---         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/EXT/SPV_EXT_shader_image_int64.html SPV_EXT_shader_image_int64>
---         SPIR-V extension.
---
---     -   This extension requires the
---         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_shader_image_int64.txt GLSL_EXT_shader_image_int64>
---         extension for GLSL source languages.
 --
 -- == Description
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs b/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs
--- a/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs
+++ b/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs
@@ -76,20 +76,20 @@
 -- enable that pipeline to vary its subgroup size. If enabled, any
 -- @SubgroupSize@ decorated variables in the SPIR-V shader modules provided
 -- to pipeline creation /may/ vary between the
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-min-subgroup-size minimum>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-minSubgroupSize minimum>
 -- and
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroup-size maximum>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxSubgroupSize maximum>
 -- subgroup sizes.
 --
 -- An implementation is also optionally allowed to support specifying a
 -- required subgroup size for a given pipeline stage. Implementations
 -- advertise which
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-required-subgroup-size-stages stages support a required subgroup size>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-requiredSubgroupSizeStages stages support a required subgroup size>,
 -- and any pipeline of a supported stage can be passed a
 -- 'PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' structure to set
 -- the subgroup size for that shader stage of the pipeline. For compute
 -- shaders, this requires the developer to query the
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroups-per-workgroup maxComputeWorkgroupSubgroups>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxComputeWorkgroupSubgroups maxComputeWorkgroupSubgroups>
 -- and ensure that:
 --
 -- \[s = { WorkGroupSize.x \times WorkGroupSize.y \times WorkgroupSize.z \leq SubgroupSize \times maxComputeWorkgroupSubgroups }\]
@@ -323,29 +323,29 @@
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceSubgroupSizeControlPropertiesEXT = PhysicalDeviceSubgroupSizeControlPropertiesEXT
-  { -- | #limits-min-subgroup-size# @minSubgroupSize@ is the minimum subgroup
-    -- size supported by this device. @minSubgroupSize@ is at least one if any
-    -- of the physical device’s queues support
+  { -- | #limits-minSubgroupSize# @minSubgroupSize@ is the minimum subgroup size
+    -- supported by this device. @minSubgroupSize@ is at least one if any of
+    -- the physical device’s queues support
     -- 'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
     -- 'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT'. @minSubgroupSize@
     -- is a power-of-two. @minSubgroupSize@ is less than or equal to
     -- @maxSubgroupSize@. @minSubgroupSize@ is less than or equal to
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-subgroup-size subgroupSize>.
     minSubgroupSize :: Word32
-  , -- | #limits-max-subgroup-size# @maxSubgroupSize@ is the maximum subgroup
-    -- size supported by this device. @maxSubgroupSize@ is at least one if any
-    -- of the physical device’s queues support
+  , -- | #limits-maxSubgroupSize# @maxSubgroupSize@ is the maximum subgroup size
+    -- supported by this device. @maxSubgroupSize@ is at least one if any of
+    -- the physical device’s queues support
     -- 'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_GRAPHICS_BIT' or
     -- 'Vulkan.Core10.Enums.QueueFlagBits.QUEUE_COMPUTE_BIT'. @maxSubgroupSize@
     -- is a power-of-two. @maxSubgroupSize@ is greater than or equal to
     -- @minSubgroupSize@. @maxSubgroupSize@ is greater than or equal to
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-subgroup-size subgroupSize>.
     maxSubgroupSize :: Word32
-  , -- | #limits-max-subgroups-per-workgroup# @maxComputeWorkgroupSubgroups@ is
+  , -- | #limits-maxComputeWorkgroupSubgroups# @maxComputeWorkgroupSubgroups@ is
     -- the maximum number of subgroups supported by the implementation within a
     -- workgroup.
     maxComputeWorkgroupSubgroups :: Word32
-  , -- | #limits-required-subgroup-size-stages# @requiredSubgroupSizeStages@ is a
+  , -- | #limits-requiredSubgroupSizeStages# @requiredSubgroupSizeStages@ is a
     -- bitfield of what shader stages support having a required subgroup size
     -- specified.
     requiredSubgroupSizeStages :: ShaderStageFlags
@@ -426,11 +426,11 @@
     --
     -- #VUID-VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT-requiredSubgroupSize-02761#
     -- @requiredSubgroupSize@ /must/ be greater or equal to
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-min-subgroup-size minSubgroupSize>
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-minSubgroupSize minSubgroupSize>
     --
     -- #VUID-VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT-requiredSubgroupSize-02762#
     -- @requiredSubgroupSize@ /must/ be less than or equal to
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroup-size maxSubgroupSize>
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxSubgroupSize maxSubgroupSize>
     requiredSubgroupSize :: Word32 }
   deriving (Typeable, Eq)
 #if defined(GENERIC_INSTANCES)
diff --git a/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs-boot b/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_subgroup_size_control.hs-boot
@@ -76,20 +76,20 @@
 -- enable that pipeline to vary its subgroup size. If enabled, any
 -- @SubgroupSize@ decorated variables in the SPIR-V shader modules provided
 -- to pipeline creation /may/ vary between the
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-min-subgroup-size minimum>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-minSubgroupSize minimum>
 -- and
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroup-size maximum>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxSubgroupSize maximum>
 -- subgroup sizes.
 --
 -- An implementation is also optionally allowed to support specifying a
 -- required subgroup size for a given pipeline stage. Implementations
 -- advertise which
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-required-subgroup-size-stages stages support a required subgroup size>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-requiredSubgroupSizeStages stages support a required subgroup size>,
 -- and any pipeline of a supported stage can be passed a
 -- 'PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT' structure to set
 -- the subgroup size for that shader stage of the pipeline. For compute
 -- shaders, this requires the developer to query the
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-max-subgroups-per-workgroup maxComputeWorkgroupSubgroups>
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxComputeWorkgroupSubgroups maxComputeWorkgroupSubgroups>
 -- and ensure that:
 --
 -- \[s = { WorkGroupSize.x \times WorkGroupSize.y \times WorkgroupSize.z \leq SubgroupSize \times maxComputeWorkgroupSubgroups }\]
diff --git a/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs b/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs
--- a/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs
+++ b/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs
@@ -234,19 +234,23 @@
 data PhysicalDeviceTexelBufferAlignmentPropertiesEXT = PhysicalDeviceTexelBufferAlignmentPropertiesEXT
   { -- | #limits-storageTexelBufferOffsetAlignmentBytes#
     -- @storageTexelBufferOffsetAlignmentBytes@ is a byte alignment that is
-    -- sufficient for a storage texel buffer of any format.
+    -- sufficient for a storage texel buffer of any format. The value /must/ be
+    -- a power of two.
     storageTexelBufferOffsetAlignmentBytes :: DeviceSize
   , -- | #limits-storageTexelBufferOffsetSingleTexelAlignment#
     -- @storageTexelBufferOffsetSingleTexelAlignment@ indicates whether single
     -- texel alignment is sufficient for a storage texel buffer of any format.
+    -- The value /must/ be a power of two.
     storageTexelBufferOffsetSingleTexelAlignment :: Bool
   , -- | #limits-uniformTexelBufferOffsetAlignmentBytes#
     -- @uniformTexelBufferOffsetAlignmentBytes@ is a byte alignment that is
-    -- sufficient for a uniform texel buffer of any format.
+    -- sufficient for a uniform texel buffer of any format. The value /must/ be
+    -- a power of two.
     uniformTexelBufferOffsetAlignmentBytes :: DeviceSize
   , -- | #limits-uniformTexelBufferOffsetSingleTexelAlignment#
     -- @uniformTexelBufferOffsetSingleTexelAlignment@ indicates whether single
     -- texel alignment is sufficient for a uniform texel buffer of any format.
+    -- The value /must/ be a power of two.
     uniformTexelBufferOffsetSingleTexelAlignment :: Bool
   }
   deriving (Typeable, Eq)
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
@@ -38,10 +38,10 @@
 -- [__Interactions and External Dependencies__]
 --
 --     -   This extension requires
---         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/huawei/GLSL_HUAWEI_subpass_shading.txt GL_HUAWEI_subpass_shading>.
---
---     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/HUAWEI/SPV_HUAWEI_subpass_shading.html SPV_HUAWEI_subpass_shading>.
+--
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/huawei/GLSL_HUAWEI_subpass_shading.txt GL_HUAWEI_subpass_shading>.
 --
 -- [__Contributors__]
 --
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs-boot b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs-boot
--- a/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs-boot
+++ b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs-boot
@@ -38,10 +38,10 @@
 -- [__Interactions and External Dependencies__]
 --
 --     -   This extension requires
---         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/huawei/GLSL_HUAWEI_subpass_shading.txt GL_HUAWEI_subpass_shading>.
---
---     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/HUAWEI/SPV_HUAWEI_subpass_shading.html SPV_HUAWEI_subpass_shading>.
+--
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/huawei/GLSL_HUAWEI_subpass_shading.txt GL_HUAWEI_subpass_shading>.
 --
 -- [__Contributors__]
 --
diff --git a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs
--- a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs
+++ b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs
@@ -36,6 +36,14 @@
 -- [__IP Status__]
 --     No known IP claims.
 --
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/INTEL/SPV_INTEL_shader_integer_functions2.html SPV_INTEL_shader_integer_functions2>.
+--
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/INTEL/INTEL_shader_integer_functions2.txt GL_INTEL_shader_integer_functions2>.
+--
 -- [__Contributors__]
 --
 --     -   Ian Romanick, Intel
diff --git a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot
--- a/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot
+++ b/src/Vulkan/Extensions/VK_INTEL_shader_integer_functions2.hs-boot
@@ -36,6 +36,14 @@
 -- [__IP Status__]
 --     No known IP claims.
 --
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/INTEL/SPV_INTEL_shader_integer_functions2.html SPV_INTEL_shader_integer_functions2>.
+--
+--     -   This extension provides API support for
+--         <https://www.khronos.org/registry/OpenGL/extensions/INTEL/INTEL_shader_integer_functions2.txt GL_INTEL_shader_integer_functions2>.
+--
 -- [__Contributors__]
 --
 --     -   Ian Romanick, Intel
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
@@ -4981,7 +4981,8 @@
   , -- | #limits-minAccelerationStructureScratchOffsetAlignment#
     -- @minAccelerationStructureScratchOffsetAlignment@ is the minimum
     -- /required/ alignment, in bytes, for scratch data passed in to an
-    -- acceleration structure build command.
+    -- acceleration structure build command. The value /must/ be a power of
+    -- two.
     minAccelerationStructureScratchOffsetAlignment :: Word32
   }
   deriving (Typeable, Eq)
diff --git a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs
--- a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs
+++ b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering.hs
@@ -1690,9 +1690,9 @@
 -- = Description
 --
 -- This structure can be included in the @pNext@ chain of
--- 'RenderingInfoKHR' to define a fragment density map. If @imageView@ is
--- 'Vulkan.Core10.APIConstants.NULL_HANDLE', or if this structure is not
--- specified, @imageView@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE'.
+-- 'RenderingInfoKHR' to define a fragment density map. If this structure
+-- is not included in the @pNext@ chain, @imageView@ is treated as
+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'.
 --
 -- == Valid Usage
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
--- a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
+++ b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
@@ -40,6 +40,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_fragment_shading_rate.html SPV_KHR_fragment_shading_rate>.
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_fragment_shading_rate.txt GL_EXT_fragment_shading_rate>
+--
 -- [__Contributors__]
 --
 --     -   Tobias Hector, AMD
diff --git a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs-boot b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs-boot
@@ -40,6 +40,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_fragment_shading_rate.html SPV_KHR_fragment_shading_rate>.
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_fragment_shading_rate.txt GL_EXT_fragment_shading_rate>
+--
 -- [__Contributors__]
 --
 --     -   Tobias Hector, AMD
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
--- a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
@@ -127,6 +127,11 @@
 --
 -- -   'KHR_MAINTENANCE_4_SPEC_VERSION'
 --
+-- -   Extending
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'
+--
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR'
@@ -462,12 +467,14 @@
 -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06417# If
 --     @pCreateInfo@::@flags@ has
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
---     set then @planAspect@ /must/ not be zero
+--     set then @planeAspect@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'
 --
 -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06418# If
 --     @pCreateInfo@::@flags@ has
 --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
---     set then @planAspect@ /must/ not be zero
+--     set then @planeAspect@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'
 --
 -- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06419# If
 --     @pCreateInfo@::@flags@ has
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
@@ -127,6 +127,11 @@
 --
 -- -   'KHR_MAINTENANCE_4_SPEC_VERSION'
 --
+-- -   Extending
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_NONE_KHR'
+--
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR'
diff --git a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs
--- a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs
+++ b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs
@@ -412,7 +412,8 @@
     -- @minVertexInputBindingStrideAlignment@ indicates the minimum alignment
     -- for vertex input strides.
     -- 'Vulkan.Core10.Pipeline.VertexInputBindingDescription'::@stride@ /must/
-    -- be a multiple of, and at least as large as, this value.
+    -- be a multiple of, and at least as large as, this value. The value /must/
+    -- be a power of two.
     minVertexInputBindingStrideAlignment :: Word32 }
   deriving (Typeable, Eq)
 #if defined(GENERIC_INSTANCES)
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
@@ -3268,7 +3268,7 @@
     -- 'cmdTraceRaysIndirectKHR' or 'cmdTraceRaysKHR' command.
     maxRayDispatchInvocationCount :: Word32
   , -- | @shaderGroupHandleAlignment@ is the /required/ alignment in bytes for
-    -- each shader binding table entry.
+    -- each shader binding table entry. The value /must/ be a power of two.
     shaderGroupHandleAlignment :: Word32
   , -- | @maxRayHitAttributeSize@ is the maximum size in bytes for a ray
     -- attribute structure
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_subgroup_uniform_control_flow.html SPV_KHR_subgroup_uniform_control_flow>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_subgroupuniform_qualifier.txt GL_EXT_subgroupuniform_qualifier>
+--
 -- [__Contributors__]
 --
 --     -   Alan Baker, Google
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_uniform_control_flow.hs-boot
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_subgroup_uniform_control_flow.html SPV_KHR_subgroup_uniform_control_flow>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_subgroupuniform_qualifier.txt GL_EXT_subgroupuniform_qualifier>
+--
 -- [__Contributors__]
 --
 --     -   Alan Baker, Google
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
@@ -934,9 +934,6 @@
 -- -   #VUID-vkCmdResetEvent2KHR-stageMask-parameter# @stageMask@ /must/ be
 --     a valid combination of 'PipelineStageFlagBits2KHR' values
 --
--- -   #VUID-vkCmdResetEvent2KHR-stageMask-requiredbitmask# @stageMask@
---     /must/ not be @0@
---
 -- -   #VUID-vkCmdResetEvent2KHR-commandBuffer-recording# @commandBuffer@
 --     /must/ be in the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>
@@ -1808,9 +1805,6 @@
 -- -   #VUID-vkCmdWriteTimestamp2KHR-stage-parameter# @stage@ /must/ be a
 --     valid combination of 'PipelineStageFlagBits2KHR' values
 --
--- -   #VUID-vkCmdWriteTimestamp2KHR-stage-requiredbitmask# @stage@ /must/
---     not be @0@
---
 -- -   #VUID-vkCmdWriteTimestamp2KHR-queryPool-parameter# @queryPool@
 --     /must/ be a valid 'Vulkan.Core10.Handles.QueryPool' handle
 --
@@ -2001,9 +1995,6 @@
 --
 -- -   #VUID-vkCmdWriteBufferMarker2AMD-stage-parameter# @stage@ /must/ be
 --     a valid combination of 'PipelineStageFlagBits2KHR' values
---
--- -   #VUID-vkCmdWriteBufferMarker2AMD-stage-requiredbitmask# @stage@
---     /must/ not be @0@
 --
 -- -   #VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-parameter# @dstBuffer@
 --     /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle
diff --git a/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs b/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs
--- a/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs
+++ b/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_workgroup_memory_explicit_layout.html SPV_KHR_workgroup_memory_explicit_layout>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shared_memory_block.txt GL_EXT_shared_memory_block>
+--
 -- [__Contributors__]
 --
 --     -   Caio Marcelo de Oliveira Filho, Intel
diff --git a/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs-boot b/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_workgroup_memory_explicit_layout.hs-boot
@@ -41,6 +41,9 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_workgroup_memory_explicit_layout.html SPV_KHR_workgroup_memory_explicit_layout>
 --
+--     -   This extension provides API support for
+--         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GL_EXT_shared_memory_block.txt GL_EXT_shared_memory_block>
+--
 -- [__Contributors__]
 --
 --     -   Caio Marcelo de Oliveira Filho, Intel
diff --git a/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs b/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs
--- a/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs
+++ b/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs
@@ -36,9 +36,8 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_shader_sm_builtins.html SPV_NV_shader_sm_builtins>.
 --
---     -   This extension enables
+--     -   This extension provides API support for
 --         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_shader_sm_builtins.txt GL_NV_shader_sm_builtins>
---         for GLSL source languages.
 --
 -- [__Contributors__]
 --
diff --git a/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs-boot b/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_shader_sm_builtins.hs-boot
@@ -36,9 +36,8 @@
 --     -   This extension requires
 --         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/NV/SPV_NV_shader_sm_builtins.html SPV_NV_shader_sm_builtins>.
 --
---     -   This extension enables
+--     -   This extension provides API support for
 --         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/nv/GLSL_NV_shader_sm_builtins.txt GL_NV_shader_sm_builtins>
---         for GLSL source languages.
 --
 -- [__Contributors__]
 --
diff --git a/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs b/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs
--- a/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs
+++ b/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs
@@ -977,15 +977,14 @@
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShadingRateImagePropertiesNV = PhysicalDeviceShadingRateImagePropertiesNV
-  { -- | #limits-shading-rate-texel-size# @shadingRateTexelSize@ indicates the
-    -- width and height of the portion of the framebuffer corresponding to each
-    -- texel in the shading rate image.
+  { -- | #limits-shadingRateTexelSize# @shadingRateTexelSize@ indicates the width
+    -- and height of the portion of the framebuffer corresponding to each texel
+    -- in the shading rate image.
     shadingRateTexelSize :: Extent2D
-  , -- | #limits-shading-rate-palette-size# @shadingRatePaletteSize@ indicates
-    -- the maximum number of palette entries supported for the shading rate
-    -- image.
+  , -- | #limits-shadingRatePaletteSize# @shadingRatePaletteSize@ indicates the
+    -- maximum number of palette entries supported for the shading rate image.
     shadingRatePaletteSize :: Word32
-  , -- | #limits-shading-rate-max-coarse-samples# @shadingRateMaxCoarseSamples@
+  , -- | #limits-shadingRateMaxCoarseSamples# @shadingRateMaxCoarseSamples@
     -- specifies the maximum number of coverage samples supported in a single
     -- fragment. If the product of the fragment size derived from the base
     -- shading rate and the number of coverage samples per pixel exceeds this
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 = 201
+pattern HEADER_VERSION = 202
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 201
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 202
 
 
 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.14.1
+version:        3.14.2
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
