diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.13] - 2021-10-14
+- Bump API version to v1.2.196
+
 ## [3.12.2] - 2021-08-18
 - Bump API version to v1.2.189
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.12.2"
+version: "3.13"
 synopsis: Bindings to the Vulkan graphics API.
 description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category: Graphics
diff --git a/src/Vulkan/CStruct/Extends.hs b/src/Vulkan/CStruct/Extends.hs
--- a/src/Vulkan/CStruct/Extends.hs
+++ b/src/Vulkan/CStruct/Extends.hs
@@ -72,6 +72,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (AcquireNextImageInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (AcquireProfilingLockInfoKHR)
 import {-# SOURCE #-} Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
+import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AndroidHardwareBufferFormatProperties2ANDROID)
 import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AndroidHardwareBufferFormatPropertiesANDROID)
 import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AndroidHardwareBufferPropertiesANDROID)
 import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AndroidHardwareBufferUsageANDROID)
@@ -96,6 +97,12 @@
 import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (BindVertexBufferIndirectCommandNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (BlitImageInfo2KHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionBufferCreateInfoFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionConstraintsInfoFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionCreateInfoFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionImageCreateInfoFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionPropertiesFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferConstraintsInfoFUCHSIA)
 import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (BufferCopy)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (BufferCopy2KHR)
 import {-# SOURCE #-} Vulkan.Core10.Buffer (BufferCreateInfo)
@@ -169,6 +176,7 @@
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing (DescriptorSetVariableDescriptorCountLayoutSupport)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template (DescriptorUpdateTemplateCreateInfo)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template (DescriptorUpdateTemplateEntry)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (DeviceBufferMemoryRequirementsKHR)
 import {-# SOURCE #-} Vulkan.Core10.Device (DeviceCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (DeviceDeviceMemoryReportCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (DeviceDiagnosticsConfigCreateInfoNV)
@@ -181,6 +189,7 @@
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group (DeviceGroupRenderPassBeginInfo)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_group (DeviceGroupSubmitInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupSwapchainCreateInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (DeviceImageMemoryRequirementsKHR)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (DeviceMemoryOpaqueCaptureAddressInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_memory_overallocation_behavior (DeviceMemoryOverallocationCreateInfoAMD)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_device_memory_report (DeviceMemoryReportCallbackDataEXT)
@@ -209,7 +218,9 @@
 import {-# SOURCE #-} Vulkan.Core10.OtherTypes (DrawIndexedIndirectCommand)
 import {-# SOURCE #-} Vulkan.Core10.OtherTypes (DrawIndirectCommand)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_mesh_shader (DrawMeshTasksIndirectCommandNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (DrmFormatModifierProperties2EXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (DrmFormatModifierPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (DrmFormatModifierPropertiesList2EXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (DrmFormatModifierPropertiesListEXT)
 import {-# SOURCE #-} Vulkan.Core10.Event (EventCreateInfo)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_external_fence (ExportFenceCreateInfo)
@@ -239,6 +250,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_filter_cubic (FilterCubicImageViewImageFormatPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (FormatProperties)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (FormatProperties2)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_format_feature_flags2 (FormatProperties3KHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_fragment_shading_rate (FragmentShadingRateAttachmentInfoKHR)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (FramebufferAttachmentImageInfo)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (FramebufferAttachmentsCreateInfo)
@@ -258,12 +270,14 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_MVK_ios_surface (IOSSurfaceCreateInfoMVK)
 import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageBlit)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (ImageBlit2KHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (ImageConstraintsInfoFUCHSIA)
 import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageCopy)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (ImageCopy2KHR)
 import {-# SOURCE #-} Vulkan.Core10.Image (ImageCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (ImageDrmFormatModifierExplicitCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (ImageDrmFormatModifierListCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (ImageDrmFormatModifierPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (ImageFormatConstraintsInfoFUCHSIA)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_image_format_list (ImageFormatListCreateInfo)
 import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (ImageFormatProperties)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (ImageFormatProperties2)
@@ -288,6 +302,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (ImportAndroidHardwareBufferInfoANDROID)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_fd (ImportFenceFdInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_fence_win32 (ImportFenceWin32HandleInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (ImportMemoryBufferCollectionFUCHSIA)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_fd (ImportMemoryFdInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_external_memory_host (ImportMemoryHostPointerInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_win32 (ImportMemoryWin32HandleInfoKHR)
@@ -351,6 +366,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (PhysicalDeviceAccelerationStructurePropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_blend_operation_advanced (PhysicalDeviceBlendOperationAdvancedFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_blend_operation_advanced (PhysicalDeviceBlendOperationAdvancedPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_border_color_swizzle (PhysicalDeviceBorderColorSwizzleFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (PhysicalDeviceBufferDeviceAddressFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_buffer_device_address (PhysicalDeviceBufferDeviceAddressFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_device_coherent_memory (PhysicalDeviceCoherentMemoryFeaturesAMD)
@@ -417,6 +433,8 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (PhysicalDeviceMaintenance3Properties)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (PhysicalDeviceMaintenance4FeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (PhysicalDeviceMaintenance4PropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceMemoryProperties)
@@ -430,6 +448,7 @@
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesVALVE)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pci_bus_info (PhysicalDevicePCIBusInfoPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pageable_device_local_memory (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeaturesEXT)
@@ -439,6 +458,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_portability_subset (PhysicalDevicePortabilitySubsetPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_present_id (PhysicalDevicePresentIdFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_present_wait (PhysicalDevicePresentWaitFeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_primitive_topology_list_restart (PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (PhysicalDevicePrivateDataFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceProperties)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2 (PhysicalDeviceProperties2)
@@ -447,6 +467,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PhysicalDeviceProvokingVertexFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PhysicalDeviceProvokingVertexPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_push_descriptor (PhysicalDevicePushDescriptorPropertiesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rgba10x6_formats (PhysicalDeviceRGBA10X6FormatsFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_query (PhysicalDeviceRayQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR)
@@ -471,6 +492,8 @@
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsPropertiesNV)
@@ -484,6 +507,8 @@
 import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup (PhysicalDeviceSubgroupProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_subgroup_size_control (PhysicalDeviceSubgroupSizeControlFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_subgroup_size_control (PhysicalDeviceSubgroupSizeControlPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_subpass_shading (PhysicalDeviceSubpassShadingFeaturesHUAWEI)
+import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_subpass_shading (PhysicalDeviceSubpassShadingPropertiesHUAWEI)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_surface_capabilities2 (PhysicalDeviceSurfaceInfo2KHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_synchronization2 (PhysicalDeviceSynchronization2FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_texel_buffer_alignment (PhysicalDeviceTexelBufferAlignmentFeaturesEXT)
@@ -594,6 +619,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (SRTDataNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationsInfoEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_border_color_swizzle (SamplerBorderColorComponentMappingCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Core10.Sampler (SamplerCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (SamplerCustomBorderColorCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax (SamplerReductionModeCreateInfo)
@@ -642,6 +668,7 @@
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve (SubpassDescriptionDepthStencilResolve)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2 (SubpassEndInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SubpassSampleLocationsEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_subpass_shading (SubpassShadingPipelineCreateInfoHUAWEI)
 import {-# SOURCE #-} Vulkan.Core10.Image (SubresourceLayout)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_surface_counter (SurfaceCapabilities2EXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_get_surface_capabilities2 (SurfaceCapabilities2KHR)
@@ -655,6 +682,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (SwapchainCounterCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (SwapchainCreateInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_display_native_hdr (SwapchainDisplayNativeHdrCreateInfoAMD)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (SysmemColorSpaceFUCHSIA)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_texture_gather_bias_lod (TextureLODGatherFormatPropertiesAMD)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (TimelineSemaphoreSubmitInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (TraceRaysIndirectCommandKHR)
@@ -691,6 +719,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BaseOutStructure', 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BaseOutStructure = BaseOutStructure
   { -- | @sType@ is the structure type of the structure being iterated through.
@@ -745,6 +774,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BaseInStructure', 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BaseInStructure = BaseInStructure
   { -- | @sType@ is the structure type of the structure being iterated through.
@@ -794,6 +824,7 @@
   Extends AccelerationStructureCreateInfoKHR AccelerationStructureMotionInfoNV = ()
   Extends AccelerationStructureGeometryTrianglesDataKHR AccelerationStructureGeometryMotionTrianglesDataNV = ()
   Extends AndroidHardwareBufferPropertiesANDROID AndroidHardwareBufferFormatPropertiesANDROID = ()
+  Extends AndroidHardwareBufferPropertiesANDROID AndroidHardwareBufferFormatProperties2ANDROID = ()
   Extends AttachmentDescription2 AttachmentDescriptionStencilLayout = ()
   Extends AttachmentReference2 AttachmentReferenceStencilLayout = ()
   Extends BindBufferMemoryInfo BindBufferMemoryDeviceGroupInfo = ()
@@ -806,12 +837,14 @@
   Extends BufferCreateInfo ExternalMemoryBufferCreateInfo = ()
   Extends BufferCreateInfo BufferOpaqueCaptureAddressCreateInfo = ()
   Extends BufferCreateInfo BufferDeviceAddressCreateInfoEXT = ()
+  Extends BufferCreateInfo BufferCollectionBufferCreateInfoFUCHSIA = ()
   Extends BufferImageCopy2KHR CopyCommandTransformInfoQCOM = ()
   Extends CommandBufferBeginInfo DeviceGroupCommandBufferBeginInfo = ()
   Extends CommandBufferInheritanceInfo CommandBufferInheritanceConditionalRenderingInfoEXT = ()
   Extends CommandBufferInheritanceInfo CommandBufferInheritanceRenderPassTransformInfoQCOM = ()
   Extends CommandBufferInheritanceInfo CommandBufferInheritanceViewportScissorInfoNV = ()
   Extends ComputePipelineCreateInfo PipelineCreationFeedbackCreateInfoEXT = ()
+  Extends ComputePipelineCreateInfo SubpassShadingPipelineCreateInfoHUAWEI = ()
   Extends ComputePipelineCreateInfo PipelineCompilerControlCreateInfoAMD = ()
   Extends DescriptorPoolCreateInfo DescriptorPoolInlineUniformBlockCreateInfoEXT = ()
   Extends DescriptorPoolCreateInfo MutableDescriptorTypeCreateInfoVALVE = ()
@@ -835,6 +868,7 @@
   Extends DeviceCreateInfo PhysicalDeviceBlendOperationAdvancedFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceMultiDrawFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceInlineUniformBlockFeaturesEXT = ()
+  Extends DeviceCreateInfo PhysicalDeviceMaintenance4FeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderDrawParametersFeatures = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderFloat16Int8Features = ()
   Extends DeviceCreateInfo PhysicalDeviceHostQueryResetFeatures = ()
@@ -872,6 +906,7 @@
   Extends DeviceCreateInfo PhysicalDeviceUniformBufferStandardLayoutFeatures = ()
   Extends DeviceCreateInfo PhysicalDeviceDepthClipEnableFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceMemoryPriorityFeaturesEXT = ()
+  Extends DeviceCreateInfo PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceBufferDeviceAddressFeatures = ()
   Extends DeviceCreateInfo PhysicalDeviceBufferDeviceAddressFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceImagelessFramebufferFeatures = ()
@@ -886,6 +921,7 @@
   Extends DeviceCreateInfo PhysicalDeviceShaderSMBuiltinsFeaturesNV = ()
   Extends DeviceCreateInfo PhysicalDeviceFragmentShaderInterlockFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceSeparateDepthStencilLayoutsFeatures = ()
+  Extends DeviceCreateInfo PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDevicePipelineExecutablePropertiesFeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceTexelBufferAlignmentFeaturesEXT = ()
@@ -896,6 +932,7 @@
   Extends DeviceCreateInfo PhysicalDeviceVulkan12Features = ()
   Extends DeviceCreateInfo PhysicalDeviceCoherentMemoryFeaturesAMD = ()
   Extends DeviceCreateInfo PhysicalDeviceCustomBorderColorFeaturesEXT = ()
+  Extends DeviceCreateInfo PhysicalDeviceBorderColorSwizzleFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceExtendedDynamicStateFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceExtendedDynamicState2FeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceDiagnosticsConfigFeaturesNV = ()
@@ -907,6 +944,7 @@
   Extends DeviceCreateInfo PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDevicePortabilitySubsetFeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDevice4444FormatsFeaturesEXT = ()
+  Extends DeviceCreateInfo PhysicalDeviceSubpassShadingFeaturesHUAWEI = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceFragmentShadingRateFeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderTerminateInvocationFeaturesKHR = ()
@@ -919,11 +957,15 @@
   Extends DeviceCreateInfo PhysicalDeviceInheritedViewportScissorFeaturesNV = ()
   Extends DeviceCreateInfo PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceProvokingVertexFeaturesEXT = ()
+  Extends DeviceCreateInfo PhysicalDeviceShaderIntegerDotProductFeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDeviceRayTracingMotionBlurFeaturesNV = ()
+  Extends DeviceCreateInfo PhysicalDeviceRGBA10X6FormatsFeaturesEXT = ()
   Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoEXT = ()
   Extends FenceCreateInfo ExportFenceCreateInfo = ()
   Extends FenceCreateInfo ExportFenceWin32HandleInfoKHR = ()
   Extends FormatProperties2 DrmFormatModifierPropertiesListEXT = ()
+  Extends FormatProperties2 FormatProperties3KHR = ()
+  Extends FormatProperties2 DrmFormatModifierPropertiesList2EXT = ()
   Extends FramebufferCreateInfo FramebufferAttachmentsCreateInfo = ()
   Extends GraphicsPipelineCreateInfo GraphicsPipelineShaderGroupsCreateInfoNV = ()
   Extends GraphicsPipelineCreateInfo PipelineDiscardRectangleStateCreateInfoEXT = ()
@@ -942,6 +984,7 @@
   Extends ImageCreateInfo ImageDrmFormatModifierListCreateInfoEXT = ()
   Extends ImageCreateInfo ImageDrmFormatModifierExplicitCreateInfoEXT = ()
   Extends ImageCreateInfo ImageStencilUsageCreateInfo = ()
+  Extends ImageCreateInfo BufferCollectionImageCreateInfoFUCHSIA = ()
   Extends ImageFormatProperties2 ExternalImageFormatProperties = ()
   Extends ImageFormatProperties2 SamplerYcbcrConversionImageFormatProperties = ()
   Extends ImageFormatProperties2 TextureLODGatherFormatPropertiesAMD = ()
@@ -972,6 +1015,7 @@
   Extends MemoryAllocateInfo ImportAndroidHardwareBufferInfoANDROID = ()
   Extends MemoryAllocateInfo MemoryPriorityAllocateInfoEXT = ()
   Extends MemoryAllocateInfo MemoryOpaqueCaptureAddressAllocateInfo = ()
+  Extends MemoryAllocateInfo ImportMemoryBufferCollectionFUCHSIA = ()
   Extends MemoryRequirements2 MemoryDedicatedRequirements = ()
   Extends PhysicalDeviceExternalSemaphoreInfo SemaphoreTypeCreateInfo = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = ()
@@ -987,6 +1031,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceBlendOperationAdvancedFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceMultiDrawFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceInlineUniformBlockFeaturesEXT = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceMaintenance4FeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderDrawParametersFeatures = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderFloat16Int8Features = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceHostQueryResetFeatures = ()
@@ -1022,6 +1067,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceUniformBufferStandardLayoutFeatures = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceDepthClipEnableFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceMemoryPriorityFeaturesEXT = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceBufferDeviceAddressFeatures = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceBufferDeviceAddressFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceImagelessFramebufferFeatures = ()
@@ -1036,6 +1082,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderSMBuiltinsFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShaderInterlockFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceSeparateDepthStencilLayoutsFeatures = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDevicePipelineExecutablePropertiesFeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceTexelBufferAlignmentFeaturesEXT = ()
@@ -1046,6 +1093,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceVulkan12Features = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceCoherentMemoryFeaturesAMD = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceCustomBorderColorFeaturesEXT = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceBorderColorSwizzleFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceExtendedDynamicStateFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceExtendedDynamicState2FeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceDiagnosticsConfigFeaturesNV = ()
@@ -1056,6 +1104,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDevicePortabilitySubsetFeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDevice4444FormatsFeaturesEXT = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceSubpassShadingFeaturesHUAWEI = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShadingRateFeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderTerminateInvocationFeaturesKHR = ()
@@ -1068,7 +1117,9 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceInheritedViewportScissorFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceProvokingVertexFeaturesEXT = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderIntegerDotProductFeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceRayTracingMotionBlurFeaturesNV = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceRGBA10X6FormatsFeaturesEXT = ()
   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()
   Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = ()
   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()
@@ -1091,6 +1142,7 @@
   Extends PhysicalDeviceProperties2 PhysicalDeviceBlendOperationAdvancedPropertiesEXT = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceInlineUniformBlockPropertiesEXT = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance3Properties = ()
+  Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance4PropertiesKHR = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceFloatControlsProperties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceExternalMemoryHostPropertiesEXT = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceConservativeRasterizationPropertiesEXT = ()
@@ -1114,6 +1166,7 @@
   Extends PhysicalDeviceProperties2 PhysicalDeviceShaderSMBuiltinsPropertiesNV = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceTexelBufferAlignmentPropertiesEXT = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceSubgroupSizeControlPropertiesEXT = ()
+  Extends PhysicalDeviceProperties2 PhysicalDeviceSubpassShadingPropertiesHUAWEI = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceLineRasterizationPropertiesEXT = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan11Properties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan12Properties = ()
@@ -1123,6 +1176,7 @@
   Extends PhysicalDeviceProperties2 PhysicalDeviceFragmentShadingRatePropertiesKHR = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceFragmentShadingRateEnumsPropertiesNV = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceProvokingVertexPropertiesEXT = ()
+  Extends PhysicalDeviceProperties2 PhysicalDeviceShaderIntegerDotProductPropertiesKHR = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceDrmPropertiesEXT = ()
   Extends PhysicalDeviceSurfaceInfo2KHR SurfaceFullScreenExclusiveInfoEXT = ()
   Extends PhysicalDeviceSurfaceInfo2KHR SurfaceFullScreenExclusiveWin32InfoEXT = ()
@@ -1170,6 +1224,7 @@
   Extends SamplerCreateInfo SamplerYcbcrConversionInfo = ()
   Extends SamplerCreateInfo SamplerReductionModeCreateInfo = ()
   Extends SamplerCreateInfo SamplerCustomBorderColorCreateInfoEXT = ()
+  Extends SamplerCreateInfo SamplerBorderColorComponentMappingCreateInfoEXT = ()
   Extends SamplerYcbcrConversionCreateInfo ExternalFormatANDROID = ()
   Extends SemaphoreCreateInfo ExportSemaphoreCreateInfo = ()
   Extends SemaphoreCreateInfo ExportSemaphoreWin32HandleInfoKHR = ()
@@ -1408,6 +1463,8 @@
   STRUCTURE_TYPE_IMAGE_FORMAT_LIST_CREATE_INFO -> go @ImageFormatListCreateInfo
   STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT -> go @ShaderModuleValidationCacheCreateInfoEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES -> go @PhysicalDeviceMaintenance3Properties
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR -> go @PhysicalDeviceMaintenance4FeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR -> go @PhysicalDeviceMaintenance4PropertiesKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DRAW_PARAMETERS_FEATURES -> go @PhysicalDeviceShaderDrawParametersFeatures
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT16_INT8_FEATURES -> go @PhysicalDeviceShaderFloat16Int8Features
   STRUCTURE_TYPE_PHYSICAL_DEVICE_FLOAT_CONTROLS_PROPERTIES -> go @PhysicalDeviceFloatControlsProperties
@@ -1499,6 +1556,7 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT -> go @PhysicalDeviceMemoryBudgetPropertiesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT -> go @PhysicalDeviceMemoryPriorityFeaturesEXT
   STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT -> go @MemoryPriorityAllocateInfoEXT
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT -> go @PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES -> go @PhysicalDeviceBufferDeviceAddressFeatures
   STRUCTURE_TYPE_PHYSICAL_DEVICE_BUFFER_DEVICE_ADDRESS_FEATURES_EXT -> go @PhysicalDeviceBufferDeviceAddressFeaturesEXT
   STRUCTURE_TYPE_BUFFER_OPAQUE_CAPTURE_ADDRESS_CREATE_INFO -> go @BufferOpaqueCaptureAddressCreateInfo
@@ -1532,6 +1590,7 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT -> go @PhysicalDeviceFragmentShaderInterlockFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SEPARATE_DEPTH_STENCIL_LAYOUTS_FEATURES -> go @PhysicalDeviceSeparateDepthStencilLayoutsFeatures
   STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT -> go @AttachmentReferenceStencilLayout
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT -> go @PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
   STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_STENCIL_LAYOUT -> go @AttachmentDescriptionStencilLayout
   STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR -> go @PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_DEMOTE_TO_HELPER_INVOCATION_FEATURES_EXT -> go @PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
@@ -1540,6 +1599,8 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_FEATURES_EXT -> go @PhysicalDeviceSubgroupSizeControlFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBGROUP_SIZE_CONTROL_PROPERTIES_EXT -> go @PhysicalDeviceSubgroupSizeControlPropertiesEXT
   STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_REQUIRED_SUBGROUP_SIZE_CREATE_INFO_EXT -> go @PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
+  STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI -> go @SubpassShadingPipelineCreateInfoHUAWEI
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI -> go @PhysicalDeviceSubpassShadingPropertiesHUAWEI
   STRUCTURE_TYPE_MEMORY_OPAQUE_CAPTURE_ADDRESS_ALLOCATE_INFO -> go @MemoryOpaqueCaptureAddressAllocateInfo
   STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT -> go @PhysicalDeviceLineRasterizationFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT -> go @PhysicalDeviceLineRasterizationPropertiesEXT
@@ -1554,6 +1615,8 @@
   STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("struct type STRUCTURE_TYPE_SAMPLER_CUSTOM_BORDER_COLOR_CREATE_INFO_EXT contains an undiscriminated union (ClearColorValue) and can't be safely peeked") Nothing Nothing
   STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_PROPERTIES_EXT -> go @PhysicalDeviceCustomBorderColorPropertiesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_CUSTOM_BORDER_COLOR_FEATURES_EXT -> go @PhysicalDeviceCustomBorderColorFeaturesEXT
+  STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT -> go @SamplerBorderColorComponentMappingCreateInfoEXT
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT -> go @PhysicalDeviceBorderColorSwizzleFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT -> go @PhysicalDeviceExtendedDynamicStateFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_2_FEATURES_EXT -> go @PhysicalDeviceExtendedDynamicState2FeaturesEXT
   STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM -> go @RenderPassTransformBeginInfoQCOM
@@ -1570,6 +1633,7 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR -> go @PhysicalDevicePortabilitySubsetFeaturesKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_PROPERTIES_KHR -> go @PhysicalDevicePortabilitySubsetPropertiesKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT -> go @PhysicalDevice4444FormatsFeaturesEXT
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI -> go @PhysicalDeviceSubpassShadingFeaturesHUAWEI
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT -> go @PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
   STRUCTURE_TYPE_FRAGMENT_SHADING_RATE_ATTACHMENT_INFO_KHR -> go @FragmentShadingRateAttachmentInfoKHR
   STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR -> go @PipelineFragmentShadingRateStateCreateInfoKHR
@@ -1594,10 +1658,19 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_FEATURES_EXT -> go @PhysicalDeviceProvokingVertexFeaturesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_PROVOKING_VERTEX_PROPERTIES_EXT -> go @PhysicalDeviceProvokingVertexPropertiesEXT
   STRUCTURE_TYPE_PIPELINE_RASTERIZATION_PROVOKING_VERTEX_STATE_CREATE_INFO_EXT -> go @PipelineRasterizationProvokingVertexStateCreateInfoEXT
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR -> go @PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR -> go @PhysicalDeviceShaderIntegerDotProductPropertiesKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT -> go @PhysicalDeviceDrmPropertiesEXT
   STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV -> go @PhysicalDeviceRayTracingMotionBlurFeaturesNV
   STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("struct type STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV contains an undiscriminated union (DeviceOrHostAddressConstKHR) and can't be safely peeked") Nothing Nothing
   STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV -> go @AccelerationStructureMotionInfoNV
+  STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA -> go @ImportMemoryBufferCollectionFUCHSIA
+  STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA -> go @BufferCollectionImageCreateInfoFUCHSIA
+  STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA -> go @BufferCollectionBufferCreateInfoFUCHSIA
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT -> go @PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+  STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR -> go @FormatProperties3KHR
+  STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT -> go @DrmFormatModifierPropertiesList2EXT
+  STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID -> go @AndroidHardwareBufferFormatProperties2ANDROID
   t -> throwIO $ IOError Nothing InvalidArgument "peekChainHead" ("Unrecognized struct type: " <> show t) Nothing Nothing
  where
   go :: forall e . (Typeable e, FromCStruct e, ToCStruct e, Show e) => IO b
@@ -1756,6 +1829,8 @@
 {-# complete (::&) :: ImageFormatListCreateInfo #-}
 {-# complete (::&) :: ShaderModuleValidationCacheCreateInfoEXT #-}
 {-# complete (::&) :: PhysicalDeviceMaintenance3Properties #-}
+{-# complete (::&) :: PhysicalDeviceMaintenance4FeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceMaintenance4PropertiesKHR #-}
 {-# complete (::&) :: PhysicalDeviceShaderDrawParametersFeatures #-}
 {-# complete (::&) :: PhysicalDeviceShaderFloat16Int8Features #-}
 {-# complete (::&) :: PhysicalDeviceFloatControlsProperties #-}
@@ -1847,6 +1922,7 @@
 {-# complete (::&) :: PhysicalDeviceMemoryBudgetPropertiesEXT #-}
 {-# complete (::&) :: PhysicalDeviceMemoryPriorityFeaturesEXT #-}
 {-# complete (::&) :: MemoryPriorityAllocateInfoEXT #-}
+{-# complete (::&) :: PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceBufferDeviceAddressFeatures #-}
 {-# complete (::&) :: PhysicalDeviceBufferDeviceAddressFeaturesEXT #-}
 {-# complete (::&) :: BufferOpaqueCaptureAddressCreateInfo #-}
@@ -1880,6 +1956,7 @@
 {-# complete (::&) :: PhysicalDeviceFragmentShaderInterlockFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceSeparateDepthStencilLayoutsFeatures #-}
 {-# complete (::&) :: AttachmentReferenceStencilLayout #-}
+{-# complete (::&) :: PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT #-}
 {-# complete (::&) :: AttachmentDescriptionStencilLayout #-}
 {-# complete (::&) :: PhysicalDevicePipelineExecutablePropertiesFeaturesKHR #-}
 {-# complete (::&) :: PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT #-}
@@ -1888,6 +1965,8 @@
 {-# complete (::&) :: PhysicalDeviceSubgroupSizeControlFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceSubgroupSizeControlPropertiesEXT #-}
 {-# complete (::&) :: PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT #-}
+{-# complete (::&) :: SubpassShadingPipelineCreateInfoHUAWEI #-}
+{-# complete (::&) :: PhysicalDeviceSubpassShadingPropertiesHUAWEI #-}
 {-# complete (::&) :: MemoryOpaqueCaptureAddressAllocateInfo #-}
 {-# complete (::&) :: PhysicalDeviceLineRasterizationFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceLineRasterizationPropertiesEXT #-}
@@ -1902,6 +1981,8 @@
 {-# complete (::&) :: SamplerCustomBorderColorCreateInfoEXT #-}
 {-# complete (::&) :: PhysicalDeviceCustomBorderColorPropertiesEXT #-}
 {-# complete (::&) :: PhysicalDeviceCustomBorderColorFeaturesEXT #-}
+{-# complete (::&) :: SamplerBorderColorComponentMappingCreateInfoEXT #-}
+{-# complete (::&) :: PhysicalDeviceBorderColorSwizzleFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceExtendedDynamicStateFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceExtendedDynamicState2FeaturesEXT #-}
 {-# complete (::&) :: RenderPassTransformBeginInfoQCOM #-}
@@ -1918,6 +1999,7 @@
 {-# complete (::&) :: PhysicalDevicePortabilitySubsetFeaturesKHR #-}
 {-# complete (::&) :: PhysicalDevicePortabilitySubsetPropertiesKHR #-}
 {-# complete (::&) :: PhysicalDevice4444FormatsFeaturesEXT #-}
+{-# complete (::&) :: PhysicalDeviceSubpassShadingFeaturesHUAWEI #-}
 {-# complete (::&) :: PhysicalDeviceShaderImageAtomicInt64FeaturesEXT #-}
 {-# complete (::&) :: FragmentShadingRateAttachmentInfoKHR #-}
 {-# complete (::&) :: PipelineFragmentShadingRateStateCreateInfoKHR #-}
@@ -1942,10 +2024,19 @@
 {-# complete (::&) :: PhysicalDeviceProvokingVertexFeaturesEXT #-}
 {-# complete (::&) :: PhysicalDeviceProvokingVertexPropertiesEXT #-}
 {-# complete (::&) :: PipelineRasterizationProvokingVertexStateCreateInfoEXT #-}
+{-# complete (::&) :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceShaderIntegerDotProductPropertiesKHR #-}
 {-# complete (::&) :: PhysicalDeviceDrmPropertiesEXT #-}
 {-# complete (::&) :: PhysicalDeviceRayTracingMotionBlurFeaturesNV #-}
 {-# complete (::&) :: AccelerationStructureGeometryMotionTrianglesDataNV #-}
 {-# complete (::&) :: AccelerationStructureMotionInfoNV #-}
+{-# complete (::&) :: ImportMemoryBufferCollectionFUCHSIA #-}
+{-# complete (::&) :: BufferCollectionImageCreateInfoFUCHSIA #-}
+{-# complete (::&) :: BufferCollectionBufferCreateInfoFUCHSIA #-}
+{-# complete (::&) :: PhysicalDeviceRGBA10X6FormatsFeaturesEXT #-}
+{-# complete (::&) :: FormatProperties3KHR #-}
+{-# complete (::&) :: DrmFormatModifierPropertiesList2EXT #-}
+{-# complete (::&) :: AndroidHardwareBufferFormatProperties2ANDROID #-}
 
 -- | View the head and tail of a 'Chain', see '::&'
 --
diff --git a/src/Vulkan/Core10/APIConstants.hs b/src/Vulkan/Core10/APIConstants.hs
--- a/src/Vulkan/Core10/APIConstants.hs
+++ b/src/Vulkan/Core10/APIConstants.hs
@@ -64,7 +64,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern LOD_CLAMP_NONE :: Float
 pattern LOD_CLAMP_NONE = 1000.0
 
@@ -123,7 +123,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>
 pattern LUID_SIZE :: forall a . Integral a => a
 pattern LUID_SIZE = 8
 
@@ -179,7 +179,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern REMAINING_MIP_LEVELS :: Word32
 pattern REMAINING_MIP_LEVELS = 0xffffffff
 
@@ -190,7 +190,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern REMAINING_ARRAY_LAYERS :: Word32
 pattern REMAINING_ARRAY_LAYERS = 0xffffffff
 
@@ -201,7 +201,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern WHOLE_SIZE :: Word64
 pattern WHOLE_SIZE = 0xffffffffffffffff
 
@@ -212,7 +212,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern ATTACHMENT_UNUSED :: Word32
 pattern ATTACHMENT_UNUSED = 0xffffffff
 
@@ -223,7 +223,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern QUEUE_FAMILY_IGNORED :: Word32
 pattern QUEUE_FAMILY_IGNORED = 0xffffffff
 
@@ -234,7 +234,8 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory VK_KHR_external_memory>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>
 pattern QUEUE_FAMILY_EXTERNAL :: Word32
 pattern QUEUE_FAMILY_EXTERNAL = 0xfffffffe
 
@@ -245,7 +246,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_queue_family_foreign VK_EXT_queue_family_foreign>
 pattern QUEUE_FAMILY_FOREIGN_EXT :: Word32
 pattern QUEUE_FAMILY_FOREIGN_EXT = 0xfffffffd
 
@@ -257,7 +258,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern SUBPASS_EXTERNAL :: Word32
 pattern SUBPASS_EXTERNAL = 0xffffffff
 
@@ -268,7 +269,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>
 pattern MAX_DEVICE_GROUP_SIZE :: forall a . Integral a => a
 pattern MAX_DEVICE_GROUP_SIZE = 32
 
@@ -280,7 +281,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>
 pattern MAX_DRIVER_NAME_SIZE :: forall a . Integral a => a
 pattern MAX_DRIVER_NAME_SIZE = 256
 
@@ -292,7 +293,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>
 pattern MAX_DRIVER_INFO_SIZE :: forall a . Integral a => a
 pattern MAX_DRIVER_INFO_SIZE = 256
 
@@ -303,7 +304,8 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>
 pattern SHADER_UNUSED_KHR :: Word32
 pattern SHADER_UNUSED_KHR = 0xffffffff
 
@@ -319,7 +321,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 pattern NULL_HANDLE :: IsHandle a => a
 pattern NULL_HANDLE <- ((== zero) -> True)
   where NULL_HANDLE = zero
diff --git a/src/Vulkan/Core10/AllocationCallbacks.hs b/src/Vulkan/Core10/AllocationCallbacks.hs
--- a/src/Vulkan/Core10/AllocationCallbacks.hs
+++ b/src/Vulkan/Core10/AllocationCallbacks.hs
@@ -50,11 +50,13 @@
 -- 'Vulkan.Core10.FuncPointers.PFN_vkInternalAllocationNotification',
 -- 'Vulkan.Core10.FuncPointers.PFN_vkInternalFreeNotification',
 -- 'Vulkan.Core10.FuncPointers.PFN_vkReallocationFunction',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Memory.allocateMemory',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.createAccelerationStructureKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.createAccelerationStructureNV',
 -- 'Vulkan.Extensions.VK_KHR_android_surface.createAndroidSurfaceKHR',
 -- 'Vulkan.Core10.Buffer.createBuffer',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.createBufferCollectionFUCHSIA',
 -- 'Vulkan.Core10.BufferView.createBufferView',
 -- 'Vulkan.Core10.CommandPool.createCommandPool',
 -- 'Vulkan.Core10.Pipeline.createComputePipelines',
@@ -112,6 +114,7 @@
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.destroyAccelerationStructureKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.destroyAccelerationStructureNV',
 -- 'Vulkan.Core10.Buffer.destroyBuffer',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.destroyBufferCollectionFUCHSIA',
 -- 'Vulkan.Core10.BufferView.destroyBufferView',
 -- 'Vulkan.Core10.CommandPool.destroyCommandPool',
 -- 'Vulkan.Extensions.VK_NVX_binary_import.destroyCuFunctionNVX',
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
@@ -56,6 +56,7 @@
 import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
 import Vulkan.Core10.Handles (Buffer)
 import Vulkan.Core10.Handles (Buffer(..))
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionBufferCreateInfoFUCHSIA)
 import Vulkan.Core10.Enums.BufferCreateFlagBits (BufferCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_buffer_device_address (BufferDeviceAddressCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (BufferOpaqueCaptureAddressCreateInfo)
@@ -109,6 +110,15 @@
 --     resources on the device to exceed
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@sparseAddressSpaceSize@
 --
+-- -   #VUID-vkCreateBuffer-pNext-06387# If using the
+--     'Vulkan.Core10.Handles.Buffer' for an import operation from a
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' where a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA'
+--     has been chained to @pNext@, @pCreateInfo@ /must/ match the
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferConstraintsInfoFUCHSIA'::@createInfo@
+--     used when setting the constraints on the buffer collection with
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.setBufferCollectionBufferConstraintsFUCHSIA'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCreateBuffer-device-parameter# @device@ /must/ be a valid
@@ -140,6 +150,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Buffer', 'BufferCreateInfo',
 -- 'Vulkan.Core10.Handles.Device'
@@ -230,6 +241,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Device'
 destroyBuffer :: forall io
@@ -357,6 +369,10 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-bufferDeviceAddressCaptureReplayEXT ::bufferDeviceAddressCaptureReplay>
 --     feature /must/ be enabled
 --
+-- -   #VUID-VkBufferCreateInfo-size-06409# @size@ /must/ be less than or
+--     equal to
+--     'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR'::@maxBufferSize@
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkBufferCreateInfo-sType-sType# @sType@ /must/ be
@@ -365,6 +381,7 @@
 -- -   #VUID-VkBufferCreateInfo-pNext-pNext# Each @pNext@ member of any
 --     structure (including this one) in the @pNext@ chain /must/ be either
 --     @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA',
 --     'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',
 --     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo',
 --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV',
@@ -393,8 +410,11 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferConstraintsInfoFUCHSIA',
 -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlags',
 -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlags',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.DeviceBufferMemoryRequirementsKHR',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.SharingMode.SharingMode',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createBuffer'
@@ -432,6 +452,7 @@
   getNext BufferCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends BufferCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @BufferCollectionBufferCreateInfoFUCHSIA = Just f
     | Just Refl <- eqT @e @BufferDeviceAddressCreateInfoEXT = Just f
     | Just Refl <- eqT @e @BufferOpaqueCaptureAddressCreateInfo = Just f
     | Just Refl <- eqT @e @ExternalMemoryBufferCreateInfo = Just f
diff --git a/src/Vulkan/Core10/BufferView.hs b/src/Vulkan/Core10/BufferView.hs
--- a/src/Vulkan/Core10/BufferView.hs
+++ b/src/Vulkan/Core10/BufferView.hs
@@ -99,6 +99,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.BufferView', 'BufferViewCreateInfo',
 -- 'Vulkan.Core10.Handles.Device'
@@ -190,6 +191,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.BufferView', 'Vulkan.Core10.Handles.Device'
 destroyBufferView :: forall io
@@ -336,6 +338,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.Enums.BufferViewCreateFlags.BufferViewCreateFlags',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
diff --git a/src/Vulkan/Core10/CommandBuffer.hs b/src/Vulkan/Core10/CommandBuffer.hs
--- a/src/Vulkan/Core10/CommandBuffer.hs
+++ b/src/Vulkan/Core10/CommandBuffer.hs
@@ -183,6 +183,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'CommandBufferAllocateInfo',
 -- 'Vulkan.Core10.Handles.Device'
 allocateCommandBuffers :: forall io
@@ -276,6 +277,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Handles.CommandPool', 'Vulkan.Core10.Handles.Device'
 freeCommandBuffers :: forall io
@@ -372,6 +374,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'CommandBufferBeginInfo'
 beginCommandBuffer :: forall a io
                     . (Extendss CommandBufferBeginInfo a, PokeChain a, MonadIO io)
@@ -482,6 +485,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 endCommandBuffer :: forall io
                   . (MonadIO io)
@@ -552,6 +556,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.CommandBufferResetFlagBits.CommandBufferResetFlags'
 resetCommandBuffer :: forall io
@@ -583,6 +588,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.CommandBufferLevel.CommandBufferLevel',
 -- 'Vulkan.Core10.Handles.CommandPool',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -707,6 +713,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'CommandBufferBeginInfo',
 -- 'Vulkan.Core10.Handles.Framebuffer',
 -- 'Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlags',
@@ -874,6 +881,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'CommandBufferInheritanceInfo',
 -- 'Vulkan.Core10.Enums.CommandBufferUsageFlagBits.CommandBufferUsageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'beginCommandBuffer'
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
@@ -261,6 +261,11 @@
 --     'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysKHR' and
 --     'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysIndirectKHR'.
 --
+-- -   The pipeline bound to
+--     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI'
+--     controls the behavior of
+--     'Vulkan.Extensions.VK_HUAWEI_subpass_shading.cmdSubpassShadingHUAWEI'.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdBindPipeline-pipelineBindPoint-00777# If
@@ -366,6 +371,17 @@
 --     to this bind point within the current renderpass instance, including
 --     any pipeline already bound when beginning the renderpass instance
 --
+-- -   #VUID-vkCmdBindPipeline-pipelineBindPoint-04949# If
+--     @pipelineBindPoint@ is
+--     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI',
+--     the 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support compute operations
+--
+-- -   #VUID-vkCmdBindPipeline-pipelineBindPoint-04950# If
+--     @pipelineBindPoint@ is
+--     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI',
+--     @pipeline@ /must/ be a subpass shading pipeline
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdBindPipeline-commandBuffer-parameter# @commandBuffer@
@@ -410,6 +426,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint'
 cmdBindPipeline :: forall io
@@ -441,10 +458,18 @@
   "dynamic" mkVkCmdSetViewport
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Viewport -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Viewport -> IO ()
 
--- | vkCmdSetViewport - Set the viewport on a command buffer
+-- | vkCmdSetViewport - Set the viewport dynamically for a command buffer
 --
 -- = Description
 --
+-- This command sets the viewport transformation parameters state for
+-- subsequent drawing commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@pViewports@
+-- values used to create the currently active pipeline.
+--
 -- The viewport parameters taken from element i of @pViewports@ replace the
 -- current state for the viewport index @firstViewport@ + i, for i in [0,
 -- @viewportCount@).
@@ -509,6 +534,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Pipeline.Viewport'
 cmdSetViewport :: forall io
                 . (MonadIO io)
@@ -541,7 +567,8 @@
   "dynamic" mkVkCmdSetScissor
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Rect2D -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Rect2D -> IO ()
 
--- | vkCmdSetScissor - Set the dynamic scissor rectangles on a command buffer
+-- | vkCmdSetScissor - Set scissor rectangles dynamically for a command
+-- buffer
 --
 -- = Description
 --
@@ -549,10 +576,13 @@
 -- current state for the scissor index @firstScissor@ + i, for i in [0,
 -- @scissorCount@).
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR'
--- set in
+-- This command sets the scissor rectangles for subsequent drawing commands
+-- when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR' set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@pScissors@
+-- values used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -626,6 +656,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D'
 cmdSetScissor :: forall io
@@ -659,8 +690,18 @@
   "dynamic" mkVkCmdSetLineWidth
   :: FunPtr (Ptr CommandBuffer_T -> CFloat -> IO ()) -> Ptr CommandBuffer_T -> CFloat -> IO ()
 
--- | vkCmdSetLineWidth - Set the dynamic line width state
+-- | vkCmdSetLineWidth - Set line width dynamically for a command buffer
 --
+-- = Description
+--
+-- This command sets the line width for subsequent drawing commands when
+-- the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_WIDTH' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@lineWidth@
+-- value used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetLineWidth-lineWidth-00788# If the
@@ -700,6 +741,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetLineWidth :: forall io
                  . (MonadIO io)
@@ -725,79 +767,19 @@
   "dynamic" mkVkCmdSetDepthBias
   :: FunPtr (Ptr CommandBuffer_T -> CFloat -> CFloat -> CFloat -> IO ()) -> Ptr CommandBuffer_T -> CFloat -> CFloat -> CFloat -> IO ()
 
--- | vkCmdSetDepthBias - Set the depth bias dynamic state
+-- | vkCmdSetDepthBias - Set depth bias factors and clamp dynamically for a
+-- command buffer
 --
 -- = Description
 --
--- If @depthBiasEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE' at draw
--- time, no depth bias is applied and the fragment’s depth values are
--- unchanged.
---
--- @depthBiasSlopeFactor@ scales the maximum depth slope of the polygon,
--- and @depthBiasConstantFactor@ scales the minimum resolvable difference
--- of the depth buffer. The resulting values are summed to produce the
--- depth bias value which is then clamped to a minimum or maximum value
--- specified by @depthBiasClamp@. @depthBiasSlopeFactor@,
--- @depthBiasConstantFactor@, and @depthBiasClamp@ /can/ each be positive,
--- negative, or zero.
---
--- The maximum depth slope m of a triangle is
---
--- \[m = \sqrt{ \left({{\partial z_f} \over {\partial x_f}}\right)^2
---         +  \left({{\partial z_f} \over {\partial y_f}}\right)^2}\]
---
--- where (xf, yf, zf) is a point on the triangle. m /may/ be approximated
--- as
---
--- \[m = \max\left( \left| { {\partial z_f} \over {\partial x_f} } \right|,
---                \left| { {\partial z_f} \over {\partial y_f} } \right|
---        \right).\]
---
--- The minimum resolvable difference r is a parameter that depends on the
--- depth buffer representation. It is the smallest difference in
--- framebuffer coordinate z values that is guaranteed to remain distinct
--- throughout polygon rasterization and in the depth buffer. All pairs of
--- fragments generated by the rasterization of two polygons with otherwise
--- identical vertices, but @z@f values that differ by r, will have distinct
--- depth values.
---
--- For fixed-point depth buffer representations, r is constant throughout
--- the range of the entire depth buffer. Its value is
--- implementation-dependent but /must/ be at most
---
--- -   r = 2 × 2-n
---
--- for an n-bit buffer. For floating-point depth buffers, there is no
--- single minimum resolvable difference. In this case, the minimum
--- resolvable difference for a given polygon is dependent on the maximum
--- exponent, e, in the range of z values spanned by the primitive. If n is
--- the number of bits in the floating-point mantissa, the minimum
--- resolvable difference, r, for the given primitive is defined as
---
--- -   r = 2e-n
---
--- If a triangle is rasterized using the
--- 'Vulkan.Core10.Enums.PolygonMode.POLYGON_MODE_FILL_RECTANGLE_NV' polygon
--- mode, then this minimum resolvable difference /may/ not be resolvable
--- for samples outside of the triangle, where the depth is extrapolated.
---
--- If no depth buffer is present, r is undefined.
---
--- The bias value o for a polygon is
---
--- \[\begin{aligned}
--- o &= \mathrm{dbclamp}( m \times \mathtt{depthBiasSlopeFactor} + r \times \mathtt{depthBiasConstantFactor} ) \\
--- \text{where} &\quad \mathrm{dbclamp}(x) =
--- \begin{cases}
---     x                                 & \mathtt{depthBiasClamp} = 0 \ \text{or}\ \texttt{NaN} \\
---     \min(x, \mathtt{depthBiasClamp})  & \mathtt{depthBiasClamp} > 0 \\
---     \max(x, \mathtt{depthBiasClamp})  & \mathtt{depthBiasClamp} < 0 \\
--- \end{cases}
--- \end{aligned}\]
---
--- m is computed as described above. If the depth buffer uses a fixed-point
--- representation, m is a function of depth values in the range [0,1], and
--- o is applied to depth values in the same range.
+-- This command sets the depth bias parameters for subsequent drawing
+-- commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BIAS' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the corresponding
+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@depthBiasConstantFactor@,
+-- @depthBiasClamp@, and @depthBiasSlopeFactor@ values used to create the
+-- currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -838,6 +820,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetDepthBias :: forall io
                  . (MonadIO io)
@@ -871,6 +854,16 @@
 
 -- | vkCmdSetBlendConstants - Set the values of blend constants
 --
+-- = Description
+--
+-- This command sets blend constants for subsequent drawing commands when
+-- the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_BLEND_CONSTANTS' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@blendConstants@
+-- values used to create the currently active pipeline.
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdSetBlendConstants-commandBuffer-parameter#
@@ -905,6 +898,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetBlendConstants :: forall io
                       . (MonadIO io)
@@ -912,8 +906,8 @@
                         -- recorded.
                         CommandBuffer
                      -> -- | @blendConstants@ is a pointer to an array of four values specifying the
-                        -- R, G, B, and A components of the blend constant color used in blending,
-                        -- depending on the
+                        -- Rc, Gc, Bc, and Ac components of the blend constant color used in
+                        -- blending, depending on the
                         -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#framebuffer-blendfactors blend factor>.
                         ("blendConstants" ::: (Float, Float, Float, Float))
                      -> io ()
@@ -941,15 +935,20 @@
   "dynamic" mkVkCmdSetDepthBounds
   :: FunPtr (Ptr CommandBuffer_T -> CFloat -> CFloat -> IO ()) -> Ptr CommandBuffer_T -> CFloat -> CFloat -> IO ()
 
--- | vkCmdSetDepthBounds - Set the depth bounds test values for a command
+-- | vkCmdSetDepthBounds - Set depth bounds range dynamically for a command
 -- buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the depth bounds range for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BOUNDS' set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@minDepthBounds@
+-- and
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@maxDepthBounds@
+-- values used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -994,6 +993,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetDepthBounds :: forall io
                    . (MonadIO io)
@@ -1021,15 +1021,20 @@
   "dynamic" mkVkCmdSetStencilCompareMask
   :: FunPtr (Ptr CommandBuffer_T -> StencilFaceFlags -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> StencilFaceFlags -> Word32 -> IO ()
 
--- | vkCmdSetStencilCompareMask - Set the stencil compare mask dynamic state
+-- | vkCmdSetStencilCompareMask - Set stencil compare mask dynamically for a
+-- command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the stencil compare mask for subsequent drawing
+-- commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_COMPARE_MASK'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@compareMask@
+-- value used to create the currently active pipeline, for both front and
+-- back faces.
 --
 -- == Valid Usage (Implicit)
 --
@@ -1072,6 +1077,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlags'
 cmdSetStencilCompareMask :: forall io
@@ -1102,15 +1108,20 @@
   "dynamic" mkVkCmdSetStencilWriteMask
   :: FunPtr (Ptr CommandBuffer_T -> StencilFaceFlags -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> StencilFaceFlags -> Word32 -> IO ()
 
--- | vkCmdSetStencilWriteMask - Set the stencil write mask dynamic state
+-- | vkCmdSetStencilWriteMask - Set stencil write mask dynamically for a
+-- command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the stencil write mask for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_WRITE_MASK' set
 -- in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@writeMask@
+-- value used to create the currently active pipeline, for both front and
+-- back faces.
 --
 -- == Valid Usage (Implicit)
 --
@@ -1153,6 +1164,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlags'
 cmdSetStencilWriteMask :: forall io
@@ -1184,15 +1196,20 @@
   "dynamic" mkVkCmdSetStencilReference
   :: FunPtr (Ptr CommandBuffer_T -> StencilFaceFlags -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> StencilFaceFlags -> Word32 -> IO ()
 
--- | vkCmdSetStencilReference - Set the stencil reference dynamic state
+-- | vkCmdSetStencilReference - Set stencil reference value dynamically for a
+-- command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the stencil reference value for subsequent drawing
+-- commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_REFERENCE' set
 -- in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@reference@
+-- value used to create the currently active pipeline, for both front and
+-- back faces.
 --
 -- == Valid Usage (Implicit)
 --
@@ -1235,6 +1252,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlags'
 cmdSetStencilReference :: forall io
@@ -1441,6 +1459,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Handles.DescriptorSet',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',
@@ -1561,6 +1580,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.IndexType.IndexType'
@@ -1575,7 +1595,7 @@
                       -- buffer address calculations.
                       ("offset" ::: DeviceSize)
                    -> -- | @indexType@ is a 'Vulkan.Core10.Enums.IndexType.IndexType' value
-                      -- specifying whether indices are treated as 16 bits or 32 bits.
+                      -- specifying the size of the indices.
                       IndexType
                    -> io ()
 cmdBindIndexBuffer commandBuffer buffer offset indexType = liftIO $ do
@@ -1697,6 +1717,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdBindVertexBuffers :: forall io
@@ -1816,6 +1837,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDraw-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDraw-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDraw-None-02697# For each set /n/ that is statically used
 --     by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind
 --     point used by this command, a descriptor set /must/ have been bound
@@ -1825,7 +1862,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDraw-None-02698# For each push constant that is
+-- -   #VUID-vkCmdDraw-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -1919,28 +1958,28 @@
 --
 -- -   #VUID-vkCmdDraw-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDraw-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDraw-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDraw-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -2305,6 +2344,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdDraw :: forall io
          . (MonadIO io)
@@ -2433,6 +2473,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawIndexed-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawIndexed-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawIndexed-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -2442,7 +2498,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawIndexed-None-02698# For each push constant that is
+-- -   #VUID-vkCmdDrawIndexed-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -2539,28 +2597,28 @@
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndexed-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -2934,6 +2992,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdDrawIndexed :: forall io
                 . (MonadIO io)
@@ -3050,6 +3109,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawIndirect-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawIndirect-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawIndirect-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -3059,7 +3134,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawIndirect-None-02698# For each push constant that is
+-- -   #VUID-vkCmdDrawIndirect-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -3156,28 +3233,28 @@
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndirect-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -3578,6 +3655,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDrawIndirect :: forall io
@@ -3694,6 +3772,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawIndexedIndirect-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawIndexedIndirect-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -3703,14 +3797,15 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawIndexedIndirect-None-02698# For each push constant
---     that is statically used by the 'Vulkan.Core10.Handles.Pipeline'
---     bound to the pipeline bind point used by this command, a push
---     constant value /must/ have been set for the same pipeline bind
---     point, with a 'Vulkan.Core10.Handles.PipelineLayout' that is
---     compatible for push constants, with the
---     'Vulkan.Core10.Handles.PipelineLayout' used to create the current
---     'Vulkan.Core10.Handles.Pipeline', as described in
+-- -   #VUID-vkCmdDrawIndexedIndirect-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
+--     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
+--     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
+--     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-02699# Descriptors in each bound
@@ -3802,28 +3897,28 @@
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -4225,6 +4320,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDrawIndexedIndirect :: forall io
@@ -4335,6 +4431,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDispatch-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDispatch-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDispatch-None-02697# For each set /n/ that is statically
 --     used by the 'Vulkan.Core10.Handles.Pipeline' bound to the pipeline
 --     bind point used by this command, a descriptor set /must/ have been
@@ -4344,7 +4456,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDispatch-None-02698# For each push constant that is
+-- -   #VUID-vkCmdDispatch-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -4440,28 +4554,28 @@
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDispatch-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -4550,6 +4664,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdDispatch :: forall io
              . (MonadIO io)
@@ -4663,6 +4778,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDispatchIndirect-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDispatchIndirect-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDispatchIndirect-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -4672,9 +4803,11 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDispatchIndirect-None-02698# For each push constant that
---     is statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to
---     the pipeline bind point used by this command, a push constant value
+-- -   #VUID-vkCmdDispatchIndirect-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
@@ -4769,28 +4902,28 @@
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDispatchIndirect-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -4875,6 +5008,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDispatchIndirect :: forall io
@@ -5019,6 +5153,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'BufferCopy',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdCopyBuffer :: forall io
@@ -5559,6 +5694,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Image',
 -- 'ImageCopy', 'Vulkan.Core10.Enums.ImageLayout.ImageLayout'
 cmdCopyImage :: forall io
@@ -5748,9 +5884,8 @@
 --     of @srcImage@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_BLIT_SRC_BIT'
 --
--- -   #VUID-vkCmdBlitImage-srcImage-01561# @srcImage@ /must/ not use a
---     format listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion ???>
+-- -   #VUID-vkCmdBlitImage-srcImage-06421# @srcImage@ /must/ not use a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion format that requires a sampler Y’CBCR conversion>
 --
 -- -   #VUID-vkCmdBlitImage-srcImage-00219# @srcImage@ /must/ have been
 --     created with
@@ -5777,9 +5912,8 @@
 --     of @dstImage@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_BLIT_DST_BIT'
 --
--- -   #VUID-vkCmdBlitImage-dstImage-01562# @dstImage@ /must/ not use a
---     format listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion ???>
+-- -   #VUID-vkCmdBlitImage-dstImage-06422# @dstImage@ /must/ not use a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion format that requires a sampler Y’CBCR conversion>
 --
 -- -   #VUID-vkCmdBlitImage-dstImage-00224# @dstImage@ /must/ have been
 --     created with
@@ -6000,6 +6134,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.Filter.Filter', 'Vulkan.Core10.Handles.Image',
 -- 'ImageBlit', 'Vulkan.Core10.Enums.ImageLayout.ImageLayout'
@@ -6353,6 +6488,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'BufferImageCopy',
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout'
@@ -6691,6 +6827,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'BufferImageCopy',
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout'
@@ -6849,6 +6986,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdUpdateBuffer :: forall io
@@ -6977,6 +7115,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdFillBuffer :: forall io
@@ -7036,9 +7175,9 @@
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'
 --     usage flag
 --
--- -   #VUID-vkCmdClearColorImage-image-01545# @image@ /must/ not use a
---     format listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>
+-- -   #VUID-vkCmdClearColorImage-image-01545# @image@ /must/ not use any
+--     of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>
 --
 -- -   #VUID-vkCmdClearColorImage-image-00003# If @image@ is non-sparse
 --     then it /must/ be bound completely and contiguously to a single
@@ -7157,6 +7296,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ClearColorValue', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
@@ -7375,6 +7515,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ClearDepthStencilValue', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
@@ -7441,7 +7582,7 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears clear commands>,
 -- 'cmdClearAttachments' executes as a drawing command, rather than a
 -- transfer command, with writes performed by it executing in
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primrast-order rasterization order>.
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-order rasterization order>.
 -- Clears to color attachments are executed as color attachment writes, by
 -- the
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT'
@@ -7566,6 +7707,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ClearAttachment', 'ClearRect', 'Vulkan.Core10.Handles.CommandBuffer'
 cmdClearAttachments :: forall io
                      . (MonadIO io)
@@ -7837,6 +7979,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout', 'ImageResolve'
 cmdResolveImage :: forall io
@@ -7996,6 +8139,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Event',
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlags'
 cmdSetEvent :: forall io
@@ -8154,6 +8298,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Event',
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlags'
 cmdResetEvent :: forall io
@@ -8567,6 +8712,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier',
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Event',
 -- 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',
@@ -8974,6 +9120,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.OtherTypes.BufferMemoryBarrier',
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlags',
@@ -9217,6 +9364,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlags',
 -- 'Vulkan.Core10.Handles.QueryPool'
@@ -9351,6 +9499,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.QueryPool'
 cmdEndQuery :: forall io
              . (MonadIO io)
@@ -9468,6 +9617,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.QueryPool'
 cmdResetQueryPool :: forall io
                    . (MonadIO io)
@@ -9659,6 +9809,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits',
 -- 'Vulkan.Core10.Handles.QueryPool'
@@ -9879,6 +10030,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Handles.QueryPool',
@@ -9932,7 +10084,8 @@
 -- = Description
 --
 -- When a command buffer begins recording, all push constant values are
--- undefined.
+-- undefined. Reads of undefined push constant values by the executing
+-- shader return undefined values.
 --
 -- Push constant values /can/ be updated incrementally, causing shader
 -- stages in @stageFlags@ to read the new data from @pValues@ for push
@@ -10033,6 +10186,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Handles.PipelineLayout',
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags'
@@ -10251,6 +10405,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'RenderPassBeginInfo',
 -- 'Vulkan.Core10.Enums.SubpassContents.SubpassContents'
 cmdBeginRenderPass :: forall a io
@@ -10366,6 +10521,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.SubpassContents.SubpassContents'
 cmdNextSubpass :: forall io
@@ -10447,6 +10603,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdEndRenderPass :: forall io
                   . (MonadIO io)
@@ -10680,6 +10837,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdExecuteCommands :: forall io
                     . (MonadIO io)
@@ -10711,6 +10869,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D', 'cmdClearAttachments'
 data ClearRect = ClearRect
   { -- | @rect@ is the two-dimensional region to be cleared.
@@ -10780,7 +10939,7 @@
 --
 -- -   #VUID-VkImageSubresourceLayers-aspectMask-02247# @aspectMask@ /must/
 --     not include @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index
---     @i@
+--     /i/
 --
 -- -   #VUID-VkImageSubresourceLayers-layerCount-01700# @layerCount@ /must/
 --     be greater than 0
@@ -10796,6 +10955,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BufferImageCopy',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR',
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags', 'ImageBlit',
@@ -10869,6 +11029,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'cmdCopyBuffer'
 data BufferCopy = BufferCopy
   { -- | @srcOffset@ is the starting offset in bytes from the start of
@@ -10964,6 +11125,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresourceLayers',
 -- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'cmdCopyImage'
 data ImageCopy = ImageCopy
@@ -11057,6 +11219,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ImageSubresourceLayers', 'Vulkan.Core10.FundamentalTypes.Offset3D',
 -- 'cmdBlitImage'
 data ImageBlit = ImageBlit
@@ -11218,6 +11381,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresourceLayers',
 -- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'cmdCopyBufferToImage',
@@ -11320,6 +11484,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresourceLayers',
 -- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'cmdResolveImage'
 data ImageResolve = ImageResolve
@@ -11411,6 +11576,10 @@
 -- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM'::@transform@,
 -- the resulting render area /must/ be equal to the framebuffer dimensions.
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+-- is enabled, then @renderArea@ /must/ equal the framebuffer dimensions.
+--
 -- When multiview is enabled, the resolve operation at the end of a subpass
 -- applies to all views in the view mask.
 --
@@ -11684,6 +11853,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ClearValue', 'Vulkan.Core10.Handles.Framebuffer',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
 -- 'Vulkan.Core10.Handles.RenderPass',
@@ -11776,6 +11946,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ClearValue', 'cmdClearDepthStencilImage'
 data ClearDepthStencilValue = ClearDepthStencilValue
   { -- | @depth@ is the clear value for the depth aspect of the depth\/stencil
@@ -11841,7 +12012,7 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_METADATA_BIT'
 --
 -- -   #VUID-VkClearAttachment-aspectMask-02246# @aspectMask@ /must/ not
---     include @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index @i@
+--     include @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index /i/
 --
 -- -   #VUID-VkClearAttachment-clearValue-00021# @clearValue@ /must/ be a
 --     valid 'ClearValue' union
@@ -11857,6 +12028,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ClearValue',
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',
 -- 'cmdClearAttachments'
diff --git a/src/Vulkan/Core10/CommandPool.hs b/src/Vulkan/Core10/CommandPool.hs
--- a/src/Vulkan/Core10/CommandPool.hs
+++ b/src/Vulkan/Core10/CommandPool.hs
@@ -115,6 +115,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.CommandPool', 'CommandPoolCreateInfo',
 -- 'Vulkan.Core10.Handles.Device'
@@ -220,6 +221,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.CommandPool', 'Vulkan.Core10.Handles.Device'
 destroyCommandPool :: forall io
@@ -308,6 +310,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandPool',
 -- 'Vulkan.Core10.Enums.CommandPoolResetFlagBits.CommandPoolResetFlags',
 -- 'Vulkan.Core10.Handles.Device'
@@ -355,6 +358,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.CommandPoolCreateFlagBits.CommandPoolCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createCommandPool'
 data CommandPoolCreateInfo = CommandPoolCreateInfo
diff --git a/src/Vulkan/Core10/DescriptorSet.hs b/src/Vulkan/Core10/DescriptorSet.hs
--- a/src/Vulkan/Core10/DescriptorSet.hs
+++ b/src/Vulkan/Core10/DescriptorSet.hs
@@ -182,6 +182,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.DescriptorSetLayout',
 -- 'DescriptorSetLayoutCreateInfo', 'Vulkan.Core10.Handles.Device'
@@ -273,6 +274,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.DescriptorSetLayout',
 -- 'Vulkan.Core10.Handles.Device'
@@ -345,6 +347,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.DescriptorPool', 'DescriptorPoolCreateInfo',
 -- 'Vulkan.Core10.Handles.Device'
@@ -445,6 +448,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.DescriptorPool', 'Vulkan.Core10.Handles.Device'
 destroyDescriptorPool :: forall io
@@ -520,6 +524,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DescriptorPool',
 -- 'Vulkan.Core10.Enums.DescriptorPoolResetFlags.DescriptorPoolResetFlags',
 -- 'Vulkan.Core10.Handles.Device'
@@ -649,6 +654,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DescriptorSet', 'DescriptorSetAllocateInfo',
 -- 'Vulkan.Core10.Handles.Device'
 allocateDescriptorSets :: forall a io
@@ -750,6 +756,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DescriptorPool',
 -- 'Vulkan.Core10.Handles.DescriptorSet', 'Vulkan.Core10.Handles.Device'
 freeDescriptorSets :: forall io
@@ -898,6 +905,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'CopyDescriptorSet', 'Vulkan.Core10.Handles.Device',
 -- 'WriteDescriptorSet'
 updateDescriptorSets :: forall io
@@ -980,6 +988,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'WriteDescriptorSet'
 data DescriptorBufferInfo = DescriptorBufferInfo
@@ -1090,6 +1099,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Handles.ImageView', 'Vulkan.Core10.Handles.Sampler',
 -- 'WriteDescriptorSet'
@@ -1205,7 +1215,8 @@
 -- skipped. This behavior applies recursively, with the update affecting
 -- consecutive bindings as needed to update all @descriptorCount@
 -- descriptors. Consecutive bindings /must/ have identical
--- elink::VkDescriptorType, elink::VkShaderStageFlags,
+-- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
 -- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlagBits',
 -- and immutable samplers references.
 --
@@ -1580,6 +1591,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.BufferView', 'DescriptorBufferInfo',
 -- 'DescriptorImageInfo', 'Vulkan.Core10.Handles.DescriptorSet',
 -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',
@@ -1906,6 +1918,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DescriptorSet',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'updateDescriptorSets'
@@ -2106,6 +2119,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'DescriptorSetLayoutCreateInfo',
 -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',
 -- 'Vulkan.Core10.Handles.Sampler',
@@ -2315,6 +2329,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'DescriptorSetLayoutBinding',
 -- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -2414,6 +2429,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'DescriptorPoolCreateInfo',
 -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType'
 data DescriptorPoolSize = DescriptorPoolSize
@@ -2608,6 +2624,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DescriptorPoolCreateFlags',
 -- 'DescriptorPoolSize', 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createDescriptorPool'
@@ -2739,6 +2756,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DescriptorPool',
 -- 'Vulkan.Core10.Handles.DescriptorSetLayout',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Core10/Device.hs b/src/Vulkan/Core10/Device.hs
--- a/src/Vulkan/Core10/Device.hs
+++ b/src/Vulkan/Core10/Device.hs
@@ -93,6 +93,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_astc_decode_mode (PhysicalDeviceASTCDecodeFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (PhysicalDeviceAccelerationStructureFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_blend_operation_advanced (PhysicalDeviceBlendOperationAdvancedFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_border_color_swizzle (PhysicalDeviceBorderColorSwizzleFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (PhysicalDeviceBufferDeviceAddressFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_buffer_device_address (PhysicalDeviceBufferDeviceAddressFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_device_coherent_memory (PhysicalDeviceCoherentMemoryFeaturesAMD)
@@ -130,20 +131,24 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_invocation_mask (PhysicalDeviceInvocationMaskFeaturesHUAWEI)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (PhysicalDeviceMaintenance4FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_mesh_shader (PhysicalDeviceMeshShaderFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_multi_draw (PhysicalDeviceMultiDrawFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesVALVE)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pageable_device_local_memory (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PhysicalDevicePipelineExecutablePropertiesFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_portability_subset (PhysicalDevicePortabilitySubsetFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_present_id (PhysicalDevicePresentIdFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_present_wait (PhysicalDevicePresentWaitFeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_primitive_topology_list_restart (PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (PhysicalDevicePrivateDataFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (PhysicalDeviceProtectedMemoryFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PhysicalDeviceProvokingVertexFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rgba10x6_formats (PhysicalDeviceRGBA10X6FormatsFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_query (PhysicalDeviceRayQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR)
@@ -161,6 +166,7 @@
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types (PhysicalDeviceShaderSubgroupExtendedTypesFeatures)
@@ -168,6 +174,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_terminate_invocation (PhysicalDeviceShaderTerminateInvocationFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shading_rate_image (PhysicalDeviceShadingRateImageFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_subgroup_size_control (PhysicalDeviceSubgroupSizeControlFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_subpass_shading (PhysicalDeviceSubpassShadingFeaturesHUAWEI)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_synchronization2 (PhysicalDeviceSynchronization2FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_texel_buffer_alignment (PhysicalDeviceTexelBufferAlignmentFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr (PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT)
@@ -278,6 +285,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'DeviceCreateInfo',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
@@ -379,11 +387,12 @@
 --
 -- -   Host access to @device@ /must/ be externally synchronized
 --
--- -   Host access to all 'Vulkan.Core10.Handles.Queue' objects received
+-- -   Host access to all 'Vulkan.Core10.Handles.Queue' objects created
 --     from @device@ /must/ be externally synchronized
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device'
 destroyDevice :: forall io
@@ -459,6 +468,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'DeviceCreateInfo',
 -- 'Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -731,6 +741,7 @@
 --     'Vulkan.Extensions.VK_EXT_astc_decode_mode.PhysicalDeviceASTCDecodeFeaturesEXT',
 --     'Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT',
+--     'Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT',
 --     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures',
 --     'Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT',
 --     'Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD',
@@ -767,20 +778,24 @@
 --     'Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeaturesEXT',
 --     'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI',
 --     'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',
+--     'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT',
 --     'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV',
 --     'Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT',
 --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',
 --     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE',
+--     'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
 --     'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT',
 --     'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR',
 --     'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR',
 --     'Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR',
 --     'Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR',
+--     'Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT',
 --     'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures',
 --     'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT',
+--     'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT',
 --     'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',
 --     'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV',
 --     'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',
@@ -798,6 +813,7 @@
 --     'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',
 --     'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT',
 --     'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',
+--     'Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR',
 --     'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',
 --     'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',
 --     'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',
@@ -805,7 +821,7 @@
 --     'Vulkan.Extensions.VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeaturesKHR',
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImageFeaturesNV',
 --     'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT',
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>,
+--     'Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI',
 --     'Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_texture_compression_astc_hdr.PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT',
@@ -858,6 +874,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.DeviceCreateFlags.DeviceCreateFlags',
 -- 'DeviceQueueCreateInfo',
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures',
@@ -902,7 +919,9 @@
   getNext DeviceCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @PhysicalDeviceRGBA10X6FormatsFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRayTracingMotionBlurFeaturesNV = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerDotProductFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceProvokingVertexFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceInheritedViewportScissorFeaturesNV = Just f
@@ -915,6 +934,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceShaderTerminateInvocationFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceSubpassShadingFeaturesHUAWEI = Just f
     | Just Refl <- eqT @e @PhysicalDevice4444FormatsFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDevicePortabilitySubsetFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = Just f
@@ -926,6 +946,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceDiagnosticsConfigFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExtendedDynamicState2FeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExtendedDynamicStateFeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceBorderColorSwizzleFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCustomBorderColorFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCoherentMemoryFeaturesAMD = Just f
     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f
@@ -936,6 +957,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceTexelBufferAlignmentFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDevicePipelineExecutablePropertiesFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSeparateDepthStencilLayoutsFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderInterlockFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderSMBuiltinsFeaturesNV = Just f
@@ -950,6 +972,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceImagelessFramebufferFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceBufferDeviceAddressFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceBufferDeviceAddressFeatures = Just f
+    | Just Refl <- eqT @e @PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMemoryPriorityFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceDepthClipEnableFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceUniformBufferStandardLayoutFeatures = Just f
@@ -987,6 +1010,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceHostQueryResetFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderFloat16Int8Features = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderDrawParametersFeatures = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceMaintenance4FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceInlineUniformBlockFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMultiDrawFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceBlendOperationAdvancedFeaturesEXT = Just f
diff --git a/src/Vulkan/Core10/DeviceInitialization.hs b/src/Vulkan/Core10/DeviceInitialization.hs
--- a/src/Vulkan/Core10/DeviceInitialization.hs
+++ b/src/Vulkan/Core10/DeviceInitialization.hs
@@ -303,6 +303,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance', 'InstanceCreateInfo'
 createInstance :: forall a io
@@ -388,6 +389,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance'
 destroyInstance :: forall io
@@ -467,6 +469,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Instance', 'Vulkan.Core10.Handles.PhysicalDevice'
 enumeratePhysicalDevices :: forall io
                           . (MonadIO io)
@@ -529,12 +532,14 @@
 -- +------------------+------------------+------------------+
 -- | device           | core             | fp3              |
 -- |                  | device-level     |                  |
--- |                  | Vulkan command2  |                  |
+-- |                  | dispatchable     |                  |
+-- |                  | command2         |                  |
 -- +------------------+------------------+------------------+
 -- | device           | enabled          | fp3              |
 -- |                  | extension        |                  |
 -- |                  | device-level     |                  |
--- |                  | commands2        |                  |
+-- |                  | dispatchable     |                  |
+-- |                  | command2         |                  |
 -- +------------------+------------------+------------------+
 -- | any other case,  |                  | @NULL@           |
 -- | not covered      |                  |                  |
@@ -563,6 +568,7 @@
 -- = See Also
 --
 -- 'Vulkan.Core10.FuncPointers.PFN_vkVoidFunction',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device'
 getDeviceProcAddr :: forall io
                    . (MonadIO io)
@@ -608,35 +614,36 @@
 -- 'Vulkan.Core10.FuncPointers.PFN_vkVoidFunction', and /must/ be cast to
 -- the type of the command being queried before use.
 --
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | @instance@       | @pName@                                                                 | return value     |
--- +==================+=========================================================================+==================+
--- | *1               | @NULL@                                                                  | undefined        |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | invalid          | *1                                                                      | undefined        |
--- | non-@NULL@       |                                                                         |                  |
--- | instance         |                                                                         |                  |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | @NULL@           | 'getInstanceProcAddr'                                                   | fp4              |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | @NULL@           | 'Vulkan.Core11.DeviceInitialization.enumerateInstanceVersion'           | fp               |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | @NULL@           | 'Vulkan.Core10.ExtensionDiscovery.enumerateInstanceExtensionProperties' | fp               |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | @NULL@           | 'Vulkan.Core10.LayerDiscovery.enumerateInstanceLayerProperties'         | fp               |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | @NULL@           | 'createInstance'                                                        | fp               |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | instance         | core Vulkan command                                                     | fp2              |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | instance         | enabled instance extension commands for @instance@                      | fp2              |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | instance         | available device extension3 commands for @instance@                     | fp2              |
--- +------------------+-------------------------------------------------------------------------+------------------+
--- | any other case,  |                                                                         | @NULL@           |
--- | not covered      |                                                                         |                  |
--- | above            |                                                                         |                  |
--- +------------------+-------------------------------------------------------------------------+------------------+
+-- +------------------+-----------------------+------------------+
+-- | @instance@       | @pName@               | return value     |
+-- +==================+=======================+==================+
+-- | *1               | @NULL@                | undefined        |
+-- +------------------+-----------------------+------------------+
+-- | invalid          | *1                    | undefined        |
+-- | non-@NULL@       |                       |                  |
+-- | instance         |                       |                  |
+-- +------------------+-----------------------+------------------+
+-- | @NULL@           | 'getInstanceProcAddr' | fp5              |
+-- +------------------+-----------------------+------------------+
+-- | @NULL@           | /global command/2     | fp               |
+-- +------------------+-----------------------+------------------+
+-- | instance         | core /dispatchable    | fp3              |
+-- |                  | command/              |                  |
+-- +------------------+-----------------------+------------------+
+-- | instance         | enabled instance      | fp3              |
+-- |                  | extension             |                  |
+-- |                  | dispatchable command  |                  |
+-- |                  | for @instance@        |                  |
+-- +------------------+-----------------------+------------------+
+-- | instance         | available device      | fp3              |
+-- |                  | extension4            |                  |
+-- |                  | dispatchable command  |                  |
+-- |                  | for @instance@        |                  |
+-- +------------------+-----------------------+------------------+
+-- | any other case,  |                       | @NULL@           |
+-- | not covered      |                       |                  |
+-- | above            |                       |                  |
+-- +------------------+-----------------------+------------------+
 --
 -- 'getInstanceProcAddr' behavior
 --
@@ -645,6 +652,14 @@
 --     valid values, invalid values, and @NULL@).
 --
 -- [2]
+--     The global commands are:
+--     'Vulkan.Core11.DeviceInitialization.enumerateInstanceVersion',
+--     'Vulkan.Core10.ExtensionDiscovery.enumerateInstanceExtensionProperties',
+--     'Vulkan.Core10.LayerDiscovery.enumerateInstanceLayerProperties', and
+--     'createInstance'. Dispatchable commands are all other commands which
+--     are not global.
+--
+-- [3]
 --     The returned function pointer /must/ only be called with a
 --     dispatchable object (the first parameter) that is @instance@ or a
 --     child of @instance@, e.g. 'Vulkan.Core10.Handles.Instance',
@@ -652,11 +667,11 @@
 --     'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Queue', or
 --     'Vulkan.Core10.Handles.CommandBuffer'.
 --
--- [3]
+-- [4]
 --     An “available device extension” is a device extension supported by
 --     any physical device enumerated by @instance@.
 --
--- [4]
+-- [5]
 --     Starting with Vulkan 1.2, 'getInstanceProcAddr' can resolve itself
 --     with a @NULL@ instance pointer.
 --
@@ -672,6 +687,7 @@
 -- = See Also
 --
 -- 'Vulkan.Core10.FuncPointers.PFN_vkVoidFunction',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Instance'
 getInstanceProcAddr :: forall io
                      . (MonadIO io)
@@ -704,6 +720,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PhysicalDeviceProperties'
 getPhysicalDeviceProperties :: forall io
                              . (MonadIO io)
@@ -767,6 +784,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'QueueFamilyProperties'
 getPhysicalDeviceQueueFamilyProperties :: forall io
                                         . (MonadIO io)
@@ -805,6 +823,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PhysicalDeviceMemoryProperties'
 getPhysicalDeviceMemoryProperties :: forall io
                                    . (MonadIO io)
@@ -839,6 +858,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PhysicalDeviceFeatures'
 getPhysicalDeviceFeatures :: forall io
                            . (MonadIO io)
@@ -875,6 +895,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.Format.Format', 'FormatProperties',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceFormatProperties :: forall io
@@ -953,6 +974,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlags',
 -- 'ImageFormatProperties', 'Vulkan.Core10.Enums.ImageTiling.ImageTiling',
@@ -1107,6 +1129,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'PhysicalDeviceLimits',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2',
 -- 'PhysicalDeviceSparseProperties',
@@ -1300,6 +1323,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'InstanceCreateInfo', 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ApplicationInfo = ApplicationInfo
   { -- | @pApplicationName@ is @NULL@ or is a pointer to a null-terminated UTF-8
@@ -1445,6 +1469,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ApplicationInfo',
 -- 'Vulkan.Core10.Enums.InstanceCreateFlags.InstanceCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createInstance'
@@ -1618,6 +1643,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.QueueFamilyProperties2',
 -- 'Vulkan.Core10.Enums.QueueFlagBits.QueueFlags',
@@ -1950,6 +1976,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'MemoryHeap', 'MemoryType',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2',
 -- 'getPhysicalDeviceMemoryProperties'
@@ -2022,6 +2049,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MemoryPropertyFlags',
 -- 'PhysicalDeviceMemoryProperties'
 data MemoryType = MemoryType
@@ -2075,6 +2103,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.MemoryHeapFlagBits.MemoryHeapFlags',
 -- 'PhysicalDeviceMemoryProperties'
@@ -2141,6 +2170,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlags',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2',
 -- 'getPhysicalDeviceFormatProperties'
@@ -2227,8 +2257,8 @@
 --         structure with a handle type included in the @handleTypes@
 --         member for which mipmap image support is not required
 --
---     -   image @format@ is one of those listed in
---         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>
+--     -   image @format@ is one of the
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>
 --
 --     -   @flags@ contains
 --         'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
@@ -2246,8 +2276,8 @@
 --         'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL' and
 --         @type@ is 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D'
 --
---     -   @format@ is one of those listed in
---         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>
+--     -   @format@ is one of the
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>
 --
 -- -   If @tiling@ is
 --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',
@@ -2292,6 +2322,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D',
 -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalImageFormatPropertiesNV',
@@ -2368,6 +2399,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Device.DeviceCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
@@ -3039,19 +3071,19 @@
     shaderStorageImageMultisample :: Bool
   , -- | #features-shaderStorageImageReadWithoutFormat#
     -- @shaderStorageImageReadWithoutFormat@ specifies whether storage images
-    -- require a format qualifier to be specified when reading from storage
-    -- images. If this feature is not enabled, the @OpImageRead@ instruction
-    -- /must/ not have an @OpTypeImage@ of @Unknown@. This also specifies
-    -- whether shader modules /can/ declare the @StorageImageReadWithoutFormat@
-    -- capability.
+    -- require a format qualifier to be specified when reading.
+    -- @shaderStorageImageReadWithoutFormat@ applies only to formats listed in
+    -- the
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-without-shader-storage-format storage without format>
+    -- list.
     shaderStorageImageReadWithoutFormat :: Bool
   , -- | #features-shaderStorageImageWriteWithoutFormat#
     -- @shaderStorageImageWriteWithoutFormat@ specifies whether storage images
-    -- require a format qualifier to be specified when writing to storage
-    -- images. If this feature is not enabled, the @OpImageWrite@ instruction
-    -- /must/ not have an @OpTypeImage@ of @Unknown@. This also specifies
-    -- whether shader modules /can/ declare the
-    -- @StorageImageWriteWithoutFormat@ capability.
+    -- require a format qualifier to be specified when writing.
+    -- @shaderStorageImageWriteWithoutFormat@ applies only to formats listed in
+    -- the
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-without-shader-storage-format storage without format>
+    -- list.
     shaderStorageImageWriteWithoutFormat :: Bool
   , -- | #features-shaderUniformBufferArrayDynamicIndexing#
     -- @shaderUniformBufferArrayDynamicIndexing@ specifies whether arrays of
@@ -3516,6 +3548,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'PhysicalDeviceProperties'
 data PhysicalDeviceSparseProperties = PhysicalDeviceSparseProperties
   { -- | @residencyStandard2DBlockShape@ is 'Vulkan.Core10.FundamentalTypes.TRUE'
@@ -3634,6 +3667,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'PhysicalDeviceProperties',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlags'
@@ -4116,17 +4150,17 @@
   , -- | #limits-maxComputeWorkGroupInvocations# @maxComputeWorkGroupInvocations@
     -- is the maximum total number of compute shader invocations in a single
     -- local workgroup. The product of the X, Y, and Z sizes, as specified by
-    -- the @LocalSize@ execution mode in shader modules or by the object
-    -- decorated by the @WorkgroupSize@ decoration, /must/ be less than or
-    -- equal to this limit.
+    -- the @LocalSize@ or @LocalSizeId@ execution mode in shader modules or by
+    -- the object decorated by the @WorkgroupSize@ decoration, /must/ be less
+    -- than or equal to this limit.
     maxComputeWorkGroupInvocations :: Word32
   , -- | #limits-maxComputeWorkGroupSize# @maxComputeWorkGroupSize@[3] is the
     -- maximum size of a local compute workgroup, per dimension. These three
     -- values represent the maximum local workgroup size in the X, Y, and Z
     -- dimensions, respectively. The @x@, @y@, and @z@ sizes, as specified by
-    -- the @LocalSize@ execution mode or by the object decorated by the
-    -- @WorkgroupSize@ decoration in shader modules, /must/ be less than or
-    -- equal to the corresponding limit.
+    -- the @LocalSize@ or @LocalSizeId@ execution mode or by the object
+    -- decorated by the @WorkgroupSize@ decoration in shader modules, /must/ be
+    -- less than or equal to the corresponding limit.
     maxComputeWorkGroupSize :: (Word32, Word32, Word32)
   , -- | #limits-subPixelPrecisionBits# @subPixelPrecisionBits@ is the number of
     -- bits of subpixel precision in framebuffer coordinates xf and yf. See
diff --git a/src/Vulkan/Core10/Enums.hs b/src/Vulkan/Core10/Enums.hs
--- a/src/Vulkan/Core10/Enums.hs
+++ b/src/Vulkan/Core10/Enums.hs
@@ -82,7 +82,7 @@
                             , module Vulkan.Core10.Enums.SamplerCreateFlagBits
                             , module Vulkan.Core10.Enums.SamplerMipmapMode
                             , module Vulkan.Core10.Enums.SemaphoreCreateFlags
-                            , module Vulkan.Core10.Enums.ShaderModuleCreateFlagBits
+                            , module Vulkan.Core10.Enums.ShaderModuleCreateFlags
                             , module Vulkan.Core10.Enums.ShaderStageFlagBits
                             , module Vulkan.Core10.Enums.SharingMode
                             , module Vulkan.Core10.Enums.SparseImageFormatFlagBits
@@ -178,7 +178,7 @@
 import Vulkan.Core10.Enums.SamplerCreateFlagBits
 import Vulkan.Core10.Enums.SamplerMipmapMode
 import Vulkan.Core10.Enums.SemaphoreCreateFlags
-import Vulkan.Core10.Enums.ShaderModuleCreateFlagBits
+import Vulkan.Core10.Enums.ShaderModuleCreateFlags
 import Vulkan.Core10.Enums.ShaderStageFlagBits
 import Vulkan.Core10.Enums.SharingMode
 import Vulkan.Core10.Enums.SparseImageFormatFlagBits
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
@@ -52,8 +52,8 @@
 --
 -- = Description
 --
--- These values all have the same value\/meaning as the equivalently named
--- values for 'Vulkan.Extensions.VK_KHR_synchronization2.AccessFlags2KHR'.
+-- These values all have the same meaning as the equivalently named values
+-- for 'Vulkan.Extensions.VK_KHR_synchronization2.AccessFlags2KHR'.
 --
 -- Certain access types are only performed by a subset of pipeline stages.
 -- Any synchronization command that takes both stage masks and access masks
@@ -107,7 +107,8 @@
 -- |                                                                                      | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT', or                  |
 -- |                                                                                      | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_COMPUTE_SHADER_BIT'                       |
 -- +--------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
--- | 'ACCESS_INPUT_ATTACHMENT_READ_BIT'                                                   | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT'                      |
+-- | 'ACCESS_INPUT_ATTACHMENT_READ_BIT'                                                   | 'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI', or         |
+-- |                                                                                      | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT'                      |
 -- +--------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
 -- | 'ACCESS_COLOR_ATTACHMENT_READ_BIT'                                                   | 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT'              |
 -- +--------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+
@@ -172,6 +173,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'AccessFlags'
 newtype AccessFlagBits = AccessFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -202,7 +204,10 @@
 pattern ACCESS_UNIFORM_READ_BIT                     = AccessFlagBits 0x00000008
 -- | 'ACCESS_INPUT_ATTACHMENT_READ_BIT' specifies read access to an
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass input attachment>
--- within a render pass during fragment shading. Such access occurs in the
+-- within a render pass during subpass shading or fragment shading. Such
+-- access occurs in the
+-- 'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+-- or
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_FRAGMENT_SHADER_BIT'
 -- pipeline stage.
 pattern ACCESS_INPUT_ATTACHMENT_READ_BIT            = AccessFlagBits 0x00000010
diff --git a/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs b/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs
--- a/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/AttachmentDescriptionFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'AttachmentDescriptionFlags'
 newtype AttachmentDescriptionFlagBits = AttachmentDescriptionFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs b/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
--- a/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
+++ b/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
@@ -21,6 +21,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pass.AttachmentDescription',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2'
 newtype AttachmentLoadOp = AttachmentLoadOp Int32
diff --git a/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs b/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs
--- a/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs
+++ b/src/Vulkan/Core10/Enums/AttachmentStoreOp.hs
@@ -28,6 +28,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pass.AttachmentDescription',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2'
 newtype AttachmentStoreOp = AttachmentStoreOp Int32
diff --git a/src/Vulkan/Core10/Enums/BlendFactor.hs b/src/Vulkan/Core10/Enums/BlendFactor.hs
--- a/src/Vulkan/Core10/Enums/BlendFactor.hs
+++ b/src/Vulkan/Core10/Enums/BlendFactor.hs
@@ -106,6 +106,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState'
 newtype BlendFactor = BlendFactor Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/BlendOp.hs b/src/Vulkan/Core10/Enums/BlendOp.hs
--- a/src/Vulkan/Core10/Enums/BlendOp.hs
+++ b/src/Vulkan/Core10/Enums/BlendOp.hs
@@ -133,6 +133,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState'
 newtype BlendOp = BlendOp Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/BorderColor.hs b/src/Vulkan/Core10/Enums/BorderColor.hs
--- a/src/Vulkan/Core10/Enums/BorderColor.hs
+++ b/src/Vulkan/Core10/Enums/BorderColor.hs
@@ -29,6 +29,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Sampler.SamplerCreateInfo'
 newtype BorderColor = BorderColor Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs b/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/BufferCreateFlagBits.hs
@@ -36,6 +36,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BufferCreateFlags'
 newtype BufferCreateFlagBits = BufferCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs b/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/BufferUsageFlagBits.hs
@@ -38,6 +38,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BufferUsageFlags'
 newtype BufferUsageFlagBits = BufferUsageFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs b/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/BufferViewCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.BufferView.BufferViewCreateInfo'
 newtype BufferViewCreateFlags = BufferViewCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs b/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ColorComponentFlagBits.hs
@@ -37,6 +37,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ColorComponentFlags'
 newtype ColorComponentFlagBits = ColorComponentFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/CommandBufferLevel.hs b/src/Vulkan/Core10/Enums/CommandBufferLevel.hs
--- a/src/Vulkan/Core10/Enums/CommandBufferLevel.hs
+++ b/src/Vulkan/Core10/Enums/CommandBufferLevel.hs
@@ -18,6 +18,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo'
 newtype CommandBufferLevel = CommandBufferLevel Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs b/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandBufferResetFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'CommandBufferResetFlags'
 newtype CommandBufferResetFlagBits = CommandBufferResetFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs b/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandBufferUsageFlagBits.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'CommandBufferUsageFlags'
 newtype CommandBufferUsageFlagBits = CommandBufferUsageFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs b/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandPoolCreateFlagBits.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'CommandPoolCreateFlags'
 newtype CommandPoolCreateFlagBits = CommandPoolCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs b/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CommandPoolResetFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'CommandPoolResetFlags'
 newtype CommandPoolResetFlagBits = CommandPoolResetFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/CompareOp.hs b/src/Vulkan/Core10/Enums/CompareOp.hs
--- a/src/Vulkan/Core10/Enums/CompareOp.hs
+++ b/src/Vulkan/Core10/Enums/CompareOp.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo',
 -- 'Vulkan.Core10.Sampler.SamplerCreateInfo',
 -- 'Vulkan.Core10.Pipeline.StencilOpState',
diff --git a/src/Vulkan/Core10/Enums/ComponentSwizzle.hs b/src/Vulkan/Core10/Enums/ComponentSwizzle.hs
--- a/src/Vulkan/Core10/Enums/ComponentSwizzle.hs
+++ b/src/Vulkan/Core10/Enums/ComponentSwizzle.hs
@@ -42,6 +42,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.ImageView.ComponentMapping'
 newtype ComponentSwizzle = ComponentSwizzle Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/CullModeFlagBits.hs b/src/Vulkan/Core10/Enums/CullModeFlagBits.hs
--- a/src/Vulkan/Core10/Enums/CullModeFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/CullModeFlagBits.hs
@@ -31,6 +31,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'CullModeFlags'
 newtype CullModeFlagBits = CullModeFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/DependencyFlagBits.hs b/src/Vulkan/Core10/Enums/DependencyFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DependencyFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DependencyFlagBits.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'DependencyFlags'
 newtype DependencyFlagBits = DependencyFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs b/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DescriptorPoolCreateFlagBits.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'DescriptorPoolCreateFlags'
 newtype DescriptorPoolCreateFlagBits = DescriptorPoolCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs b/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs
--- a/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs
+++ b/src/Vulkan/Core10/Enums/DescriptorPoolResetFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.resetDescriptorPool'
 newtype DescriptorPoolResetFlags = DescriptorPoolResetFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs b/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DescriptorSetLayoutCreateFlagBits.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'DescriptorSetLayoutCreateFlags'
 newtype DescriptorSetLayoutCreateFlagBits = DescriptorSetLayoutCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/DescriptorType.hs b/src/Vulkan/Core10/Enums/DescriptorType.hs
--- a/src/Vulkan/Core10/Enums/DescriptorType.hs
+++ b/src/Vulkan/Core10/Enums/DescriptorType.hs
@@ -132,6 +132,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.DescriptorPoolSize',
 -- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateEntry',
diff --git a/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs b/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/DeviceCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Device.DeviceCreateInfo'
 newtype DeviceCreateFlags = DeviceCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs b/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/DeviceQueueCreateFlagBits.hs
@@ -23,6 +23,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'DeviceQueueCreateFlags'
 newtype DeviceQueueCreateFlagBits = DeviceQueueCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/DynamicState.hs b/src/Vulkan/Core10/Enums/DynamicState.hs
--- a/src/Vulkan/Core10/Enums/DynamicState.hs
+++ b/src/Vulkan/Core10/Enums/DynamicState.hs
@@ -54,6 +54,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'
 newtype DynamicState = DynamicState Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs b/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/EventCreateFlagBits.hs
@@ -28,6 +28,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'EventCreateFlags'
 newtype EventCreateFlagBits = EventCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs b/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/FenceCreateFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'FenceCreateFlags'
 newtype FenceCreateFlagBits = FenceCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/Filter.hs b/src/Vulkan/Core10/Enums/Filter.hs
--- a/src/Vulkan/Core10/Enums/Filter.hs
+++ b/src/Vulkan/Core10/Enums/Filter.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BlitImageInfo2KHR',
 -- 'Vulkan.Core10.Sampler.SamplerCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo',
diff --git a/src/Vulkan/Core10/Enums/Format.hs b/src/Vulkan/Core10/Enums/Format.hs
--- a/src/Vulkan/Core10/Enums/Format.hs
+++ b/src/Vulkan/Core10/Enums/Format.hs
@@ -263,7 +263,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR',
+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID',
 -- 'Vulkan.Core10.Pass.AttachmentDescription',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2',
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
@@ -50,8 +50,10 @@
 --
 -- = Description
 --
--- The following bits /may/ be set in @linearTilingFeatures@,
--- @optimalTilingFeatures@, and
+-- These values all have the same meaning as the equivalently named values
+-- for
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR'
+-- and /may/ be set in @linearTilingFeatures@, @optimalTilingFeatures@, and
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT'::@drmFormatModifierTilingFeatures@,
 -- specifying that the features are supported by <VkImage.html images> or
 -- <VkImageView.html image views> or
@@ -110,14 +112,13 @@
 --     only specifies that the depth aspect (not the stencil aspect) of an
 --     image of this format supports linear filtering, and that linear
 --     filtering of the depth aspect is supported whether depth compare is
---     enabled in the sampler or not. If this bit is not present, linear
---     filtering with depth compare disabled is unsupported and linear
---     filtering with depth compare enabled is supported, but /may/ compute
---     the filtered value in an implementation-dependent manner which
---     differs from the normal rules of linear filtering. The resulting
---     value /must/ be in the range [0,1] and /should/ be proportional to,
---     or a weighted average of, the number of comparison passes or
---     failures.
+--     enabled in the sampler or not. Where depth comparison is supported
+--     it /may/ be linear filtered whether this bit is present or not, but
+--     where this bit is not present the filtered value /may/ be computed
+--     in an implementation-dependent manner which differs from the normal
+--     rules of linear filtering. The resulting value /must/ be in the
+--     range [0,1] and /should/ be proportional to, or a weighted average
+--     of, the number of comparison passes or failures.
 --
 -- -   'FORMAT_FEATURE_TRANSFER_SRC_BIT' specifies that an image /can/ be
 --     used as a source image for
@@ -255,6 +256,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'FormatFeatureFlags'
 newtype FormatFeatureFlagBits = FormatFeatureFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -325,9 +327,9 @@
 -- specifies that the depth aspect (not the stencil aspect) of an image of
 -- this format supports linear filtering, and that linear filtering of the
 -- depth aspect is supported whether depth compare is enabled in the
--- sampler or not. If this bit is not present, linear filtering with depth
--- compare disabled is unsupported and linear filtering with depth compare
--- enabled is supported, but /may/ compute the filtered value in an
+-- sampler or not. Where depth comparison is supported it /may/ be linear
+-- filtered whether this bit is present or not, but where this bit is not
+-- present the filtered value /may/ be computed in an
 -- implementation-dependent manner which differs from the normal rules of
 -- linear filtering. The resulting value /must/ be in the range [0,1] and
 -- /should/ be proportional to, or a weighted average of, the number of
diff --git a/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs b/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/FramebufferCreateFlagBits.hs
@@ -23,6 +23,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'FramebufferCreateFlags'
 newtype FramebufferCreateFlagBits = FramebufferCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/FrontFace.hs b/src/Vulkan/Core10/Enums/FrontFace.hs
--- a/src/Vulkan/Core10/Enums/FrontFace.hs
+++ b/src/Vulkan/Core10/Enums/FrontFace.hs
@@ -23,6 +23,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT'
 newtype FrontFace = FrontFace Int32
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
@@ -34,7 +34,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.DeviceImageMemoryRequirementsKHR',
 -- 'ImageAspectFlags',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo'
 newtype ImageAspectFlagBits = ImageAspectFlagBits Flags
diff --git a/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs b/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageCreateFlagBits.hs
@@ -46,6 +46,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ImageCreateFlags'
 newtype ImageCreateFlagBits = ImageCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/ImageLayout.hs b/src/Vulkan/Core10/Enums/ImageLayout.hs
--- a/src/Vulkan/Core10/Enums/ImageLayout.hs
+++ b/src/Vulkan/Core10/Enums/ImageLayout.hs
@@ -58,6 +58,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pass.AttachmentDescription',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout',
diff --git a/src/Vulkan/Core10/Enums/ImageTiling.hs b/src/Vulkan/Core10/Enums/ImageTiling.hs
--- a/src/Vulkan/Core10/Enums/ImageTiling.hs
+++ b/src/Vulkan/Core10/Enums/ImageTiling.hs
@@ -19,6 +19,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Image.ImageCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2',
diff --git a/src/Vulkan/Core10/Enums/ImageType.hs b/src/Vulkan/Core10/Enums/ImageType.hs
--- a/src/Vulkan/Core10/Enums/ImageType.hs
+++ b/src/Vulkan/Core10/Enums/ImageType.hs
@@ -19,6 +19,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Image.ImageCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceImageFormatInfo2',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceSparseImageFormatInfo2',
diff --git a/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs b/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageUsageFlagBits.hs
@@ -33,6 +33,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ImageUsageFlags'
 newtype ImageUsageFlagBits = ImageUsageFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -64,14 +65,15 @@
 -- use as a depth\/stencil or depth\/stencil resolve attachment in a
 -- 'Vulkan.Core10.Handles.Framebuffer'.
 pattern IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT             = ImageUsageFlagBits 0x00000020
--- | 'IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT' specifies that the memory bound
--- to this image will be allocated with the
+-- | 'IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT' specifies that implementations
+-- /may/ support using
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory memory allocations>
+-- with the
 -- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT'
--- (see
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory>
--- for more detail). This bit /can/ be set for any image that /can/ be used
--- to create a 'Vulkan.Core10.Handles.ImageView' suitable for use as a
--- color, resolve, depth\/stencil, or input attachment.
+-- to back an image with this usage. This bit /can/ be set for any image
+-- that /can/ be used to create a 'Vulkan.Core10.Handles.ImageView'
+-- suitable for use as a color, resolve, depth\/stencil, or input
+-- attachment.
 pattern IMAGE_USAGE_TRANSIENT_ATTACHMENT_BIT                 = ImageUsageFlagBits 0x00000040
 -- | 'IMAGE_USAGE_INPUT_ATTACHMENT_BIT' specifies that the image /can/ be
 -- used to create a 'Vulkan.Core10.Handles.ImageView' suitable for
diff --git a/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs b/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ImageViewCreateFlagBits.hs
@@ -25,6 +25,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ImageViewCreateFlags'
 newtype ImageViewCreateFlagBits = ImageViewCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/ImageViewType.hs b/src/Vulkan/Core10/Enums/ImageViewType.hs
--- a/src/Vulkan/Core10/Enums/ImageViewType.hs
+++ b/src/Vulkan/Core10/Enums/ImageViewType.hs
@@ -23,6 +23,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.ImageView.ImageViewCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT'
 newtype ImageViewType = ImageViewType Int32
diff --git a/src/Vulkan/Core10/Enums/IndexType.hs b/src/Vulkan/Core10/Enums/IndexType.hs
--- a/src/Vulkan/Core10/Enums/IndexType.hs
+++ b/src/Vulkan/Core10/Enums/IndexType.hs
@@ -20,6 +20,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryTrianglesDataKHR',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryTrianglesNV',
diff --git a/src/Vulkan/Core10/Enums/InstanceCreateFlags.hs b/src/Vulkan/Core10/Enums/InstanceCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/InstanceCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/InstanceCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo'
 newtype InstanceCreateFlags = InstanceCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/InternalAllocationType.hs b/src/Vulkan/Core10/Enums/InternalAllocationType.hs
--- a/src/Vulkan/Core10/Enums/InternalAllocationType.hs
+++ b/src/Vulkan/Core10/Enums/InternalAllocationType.hs
@@ -18,7 +18,8 @@
 -- = See Also
 --
 -- 'Vulkan.Core10.FuncPointers.PFN_vkInternalAllocationNotification',
--- 'Vulkan.Core10.FuncPointers.PFN_vkInternalFreeNotification'
+-- 'Vulkan.Core10.FuncPointers.PFN_vkInternalFreeNotification',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 newtype InternalAllocationType = InternalAllocationType Int32
   deriving newtype (Eq, Ord, Storable, Zero)
 
diff --git a/src/Vulkan/Core10/Enums/LogicOp.hs b/src/Vulkan/Core10/Enums/LogicOp.hs
--- a/src/Vulkan/Core10/Enums/LogicOp.hs
+++ b/src/Vulkan/Core10/Enums/LogicOp.hs
@@ -93,6 +93,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT'
 newtype LogicOp = LogicOp Int32
diff --git a/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs b/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs
--- a/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/MemoryHeapFlagBits.hs
@@ -24,13 +24,14 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'MemoryHeapFlags'
 newtype MemoryHeapFlagBits = MemoryHeapFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
 -- | 'MEMORY_HEAP_DEVICE_LOCAL_BIT' specifies that the heap corresponds to
--- device local memory. Device local memory /may/ have different
--- performance characteristics than host local memory, and /may/ support
+-- device-local memory. Device-local memory /may/ have different
+-- performance characteristics than host-local memory, and /may/ support
 -- different memory property flags.
 pattern MEMORY_HEAP_DEVICE_LOCAL_BIT   = MemoryHeapFlagBits 0x00000001
 -- | 'MEMORY_HEAP_MULTI_INSTANCE_BIT' specifies that in a logical device
diff --git a/src/Vulkan/Core10/Enums/MemoryMapFlags.hs b/src/Vulkan/Core10/Enums/MemoryMapFlags.hs
--- a/src/Vulkan/Core10/Enums/MemoryMapFlags.hs
+++ b/src/Vulkan/Core10/Enums/MemoryMapFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Memory.mapMemory'
 newtype MemoryMapFlags = MemoryMapFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs b/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs
--- a/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/MemoryPropertyFlagBits.hs
@@ -54,6 +54,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'MemoryPropertyFlags'
 newtype MemoryPropertyFlagBits = MemoryPropertyFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/ObjectType.hs b/src/Vulkan/Core10/Enums/ObjectType.hs
--- a/src/Vulkan/Core10/Enums/ObjectType.hs
+++ b/src/Vulkan/Core10/Enums/ObjectType.hs
@@ -26,6 +26,7 @@
                                                   , OBJECT_TYPE_DESCRIPTOR_SET
                                                   , OBJECT_TYPE_FRAMEBUFFER
                                                   , OBJECT_TYPE_COMMAND_POOL
+                                                  , OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA
                                                   , OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT
                                                   , OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV
                                                   , OBJECT_TYPE_DEFERRED_OPERATION_KHR
@@ -151,6 +152,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectNameInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsObjectTagInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT',
@@ -211,6 +213,8 @@
 pattern OBJECT_TYPE_FRAMEBUFFER                     = ObjectType 24
 -- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_COMMAND_POOL"
 pattern OBJECT_TYPE_COMMAND_POOL                    = ObjectType 25
+-- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA"
+pattern OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA       = ObjectType 1000366000
 -- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT"
 pattern OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT           = ObjectType 1000295000
 -- No documentation found for Nested "VkObjectType" "VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV"
@@ -271,6 +275,7 @@
              OBJECT_TYPE_DESCRIPTOR_SET,
              OBJECT_TYPE_FRAMEBUFFER,
              OBJECT_TYPE_COMMAND_POOL,
+             OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
              OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
              OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
              OBJECT_TYPE_DEFERRED_OPERATION_KHR,
@@ -323,6 +328,7 @@
   , (OBJECT_TYPE_DESCRIPTOR_SET                 , "DESCRIPTOR_SET")
   , (OBJECT_TYPE_FRAMEBUFFER                    , "FRAMEBUFFER")
   , (OBJECT_TYPE_COMMAND_POOL                   , "COMMAND_POOL")
+  , (OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA      , "BUFFER_COLLECTION_FUCHSIA")
   , (OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT          , "PRIVATE_DATA_SLOT_EXT")
   , (OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV    , "INDIRECT_COMMANDS_LAYOUT_NV")
   , (OBJECT_TYPE_DEFERRED_OPERATION_KHR         , "DEFERRED_OPERATION_KHR")
diff --git a/src/Vulkan/Core10/Enums/PhysicalDeviceType.hs b/src/Vulkan/Core10/Enums/PhysicalDeviceType.hs
--- a/src/Vulkan/Core10/Enums/PhysicalDeviceType.hs
+++ b/src/Vulkan/Core10/Enums/PhysicalDeviceType.hs
@@ -28,6 +28,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties'
 newtype PhysicalDeviceType = PhysicalDeviceType Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/PipelineBindPoint.hs b/src/Vulkan/Core10/Enums/PipelineBindPoint.hs
--- a/src/Vulkan/Core10/Enums/PipelineBindPoint.hs
+++ b/src/Vulkan/Core10/Enums/PipelineBindPoint.hs
@@ -2,6 +2,7 @@
 -- No documentation found for Chapter "PipelineBindPoint"
 module Vulkan.Core10.Enums.PipelineBindPoint  (PipelineBindPoint( PIPELINE_BIND_POINT_GRAPHICS
                                                                 , PIPELINE_BIND_POINT_COMPUTE
+                                                                , PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI
                                                                 , PIPELINE_BIND_POINT_RAY_TRACING_KHR
                                                                 , ..
                                                                 )) where
@@ -20,6 +21,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV',
@@ -34,14 +36,18 @@
   deriving newtype (Eq, Ord, Storable, Zero)
 
 -- | 'PIPELINE_BIND_POINT_GRAPHICS' specifies binding as a graphics pipeline.
-pattern PIPELINE_BIND_POINT_GRAPHICS        = PipelineBindPoint 0
+pattern PIPELINE_BIND_POINT_GRAPHICS               = PipelineBindPoint 0
 -- | 'PIPELINE_BIND_POINT_COMPUTE' specifies binding as a compute pipeline.
-pattern PIPELINE_BIND_POINT_COMPUTE         = PipelineBindPoint 1
+pattern PIPELINE_BIND_POINT_COMPUTE                = PipelineBindPoint 1
+-- | 'PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI' specifies binding as a
+-- subpass shading pipeline.
+pattern PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI = PipelineBindPoint 1000369003
 -- | 'PIPELINE_BIND_POINT_RAY_TRACING_KHR' specifies binding as a ray tracing
 -- pipeline.
-pattern PIPELINE_BIND_POINT_RAY_TRACING_KHR = PipelineBindPoint 1000165000
+pattern PIPELINE_BIND_POINT_RAY_TRACING_KHR        = PipelineBindPoint 1000165000
 {-# complete PIPELINE_BIND_POINT_GRAPHICS,
              PIPELINE_BIND_POINT_COMPUTE,
+             PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI,
              PIPELINE_BIND_POINT_RAY_TRACING_KHR :: PipelineBindPoint #-}
 
 conNamePipelineBindPoint :: String
@@ -52,9 +58,10 @@
 
 showTablePipelineBindPoint :: [(PipelineBindPoint, String)]
 showTablePipelineBindPoint =
-  [ (PIPELINE_BIND_POINT_GRAPHICS       , "GRAPHICS")
-  , (PIPELINE_BIND_POINT_COMPUTE        , "COMPUTE")
-  , (PIPELINE_BIND_POINT_RAY_TRACING_KHR, "RAY_TRACING_KHR")
+  [ (PIPELINE_BIND_POINT_GRAPHICS              , "GRAPHICS")
+  , (PIPELINE_BIND_POINT_COMPUTE               , "COMPUTE")
+  , (PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, "SUBPASS_SHADING_HUAWEI")
+  , (PIPELINE_BIND_POINT_RAY_TRACING_KHR       , "RAY_TRACING_KHR")
   ]
 
 instance Show PipelineBindPoint where
diff --git a/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineCacheCreateFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pipeline_creation_cache_control VK_EXT_pipeline_creation_cache_control>,
 -- 'PipelineCacheCreateFlags'
 newtype PipelineCacheCreateFlagBits = PipelineCacheCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineCacheHeaderVersion.hs b/src/Vulkan/Core10/Enums/PipelineCacheHeaderVersion.hs
--- a/src/Vulkan/Core10/Enums/PipelineCacheHeaderVersion.hs
+++ b/src/Vulkan/Core10/Enums/PipelineCacheHeaderVersion.hs
@@ -17,6 +17,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.OtherTypes.PipelineCacheHeaderVersionOne',
 -- 'Vulkan.Core10.PipelineCache.createPipelineCache',
 -- 'Vulkan.Core10.PipelineCache.getPipelineCacheData'
diff --git a/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineColorBlendStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'
 newtype PipelineColorBlendStateCreateFlags = PipelineColorBlendStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
@@ -159,6 +159,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'PipelineCreateFlags'
 newtype PipelineCreateFlagBits = PipelineCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineDepthStencilStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'
 newtype PipelineDepthStencilStateCreateFlags = PipelineDepthStencilStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineDynamicStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'
 newtype PipelineDynamicStateCreateFlags = PipelineDynamicStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineInputAssemblyStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'
 newtype PipelineInputAssemblyStateCreateFlags = PipelineInputAssemblyStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineLayoutCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'
 newtype PipelineLayoutCreateFlags = PipelineLayoutCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineMultisampleStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'
 newtype PipelineMultisampleStateCreateFlags = PipelineMultisampleStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineRasterizationStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'
 newtype PipelineRasterizationStateCreateFlags = PipelineRasterizationStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
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
@@ -43,6 +43,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'PipelineShaderStageCreateFlags'
 newtype PipelineShaderStageCreateFlagBits = PipelineShaderStageCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineStageFlagBits.hs
@@ -49,12 +49,12 @@
 --
 -- = Description
 --
--- These values all have the same value\/meaning as the equivalently named
--- values for
--- 'Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlags2KHR'.
+-- These values all have the same meaning as the equivalently named values
+-- for 'Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlags2KHR'.
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_NV_device_diagnostic_checkpoints.CheckpointDataNV',
 -- 'PipelineStageFlags',
 -- 'Vulkan.Extensions.VK_AMD_buffer_marker.cmdWriteBufferMarkerAMD',
diff --git a/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineTessellationStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo'
 newtype PipelineTessellationStateCreateFlags = PipelineTessellationStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineVertexInputStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineVertexInputStateCreateInfo'
 newtype PipelineVertexInputStateCreateFlags = PipelineVertexInputStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs b/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/PipelineViewportStateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'
 newtype PipelineViewportStateCreateFlags = PipelineViewportStateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/PolygonMode.hs b/src/Vulkan/Core10/Enums/PolygonMode.hs
--- a/src/Vulkan/Core10/Enums/PolygonMode.hs
+++ b/src/Vulkan/Core10/Enums/PolygonMode.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'
 newtype PolygonMode = PolygonMode Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/PrimitiveTopology.hs b/src/Vulkan/Core10/Enums/PrimitiveTopology.hs
--- a/src/Vulkan/Core10/Enums/PrimitiveTopology.hs
+++ b/src/Vulkan/Core10/Enums/PrimitiveTopology.hs
@@ -58,6 +58,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'
 newtype PrimitiveTopology = PrimitiveTopology Int32
diff --git a/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs b/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueryControlFlagBits.hs
@@ -23,6 +23,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'QueryControlFlags'
 newtype QueryControlFlagBits = QueryControlFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs b/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueryPipelineStatisticFlagBits.hs
@@ -59,6 +59,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'QueryPipelineStatisticFlags'
 newtype QueryPipelineStatisticFlagBits = QueryPipelineStatisticFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -128,7 +129,7 @@
 -- that queries managed by the pool will count the number of fragment
 -- shader invocations. The counter’s value is incremented each time the
 -- fragment shader is
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-execution invoked>.
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-shader invoked>.
 pattern QUERY_PIPELINE_STATISTIC_FRAGMENT_SHADER_INVOCATIONS_BIT         = QueryPipelineStatisticFlagBits 0x00000080
 -- | 'QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT'
 -- specifies that queries managed by the pool will count the number of
diff --git a/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs b/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/QueryPoolCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Query.QueryPoolCreateInfo'
 newtype QueryPoolCreateFlags = QueryPoolCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs b/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueryResultFlagBits.hs
@@ -27,6 +27,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'QueryResultFlags'
 newtype QueryResultFlagBits = QueryResultFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/QueryType.hs b/src/Vulkan/Core10/Enums/QueryType.hs
--- a/src/Vulkan/Core10/Enums/QueryType.hs
+++ b/src/Vulkan/Core10/Enums/QueryType.hs
@@ -25,6 +25,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Query.QueryPoolCreateInfo',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.cmdWriteAccelerationStructuresPropertiesKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdWriteAccelerationStructuresPropertiesNV',
diff --git a/src/Vulkan/Core10/Enums/QueueFlagBits.hs b/src/Vulkan/Core10/Enums/QueueFlagBits.hs
--- a/src/Vulkan/Core10/Enums/QueueFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/QueueFlagBits.hs
@@ -52,6 +52,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'QueueFlags'
 newtype QueueFlagBits = QueueFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs b/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/RenderPassCreateFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'RenderPassCreateFlags'
 newtype RenderPassCreateFlagBits = RenderPassCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/Result.hs b/src/Vulkan/Core10/Enums/Result.hs
--- a/src/Vulkan/Core10/Enums/Result.hs
+++ b/src/Vulkan/Core10/Enums/Result.hs
@@ -94,6 +94,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR'
 newtype Result = Result Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs b/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SampleCountFlagBits.hs
@@ -30,6 +30,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pass.AttachmentDescription',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentDescription2',
 -- 'Vulkan.Extensions.VK_NV_coverage_reduction_mode.FramebufferMixedSamplesCombinationNV',
diff --git a/src/Vulkan/Core10/Enums/SamplerAddressMode.hs b/src/Vulkan/Core10/Enums/SamplerAddressMode.hs
--- a/src/Vulkan/Core10/Enums/SamplerAddressMode.hs
+++ b/src/Vulkan/Core10/Enums/SamplerAddressMode.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Sampler.SamplerCreateInfo'
 newtype SamplerAddressMode = SamplerAddressMode Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs b/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SamplerCreateFlagBits.hs
@@ -36,6 +36,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'SamplerCreateFlags'
 newtype SamplerCreateFlagBits = SamplerCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/SamplerMipmapMode.hs b/src/Vulkan/Core10/Enums/SamplerMipmapMode.hs
--- a/src/Vulkan/Core10/Enums/SamplerMipmapMode.hs
+++ b/src/Vulkan/Core10/Enums/SamplerMipmapMode.hs
@@ -23,6 +23,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Sampler.SamplerCreateInfo'
 newtype SamplerMipmapMode = SamplerMipmapMode Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs b/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs
--- a/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs
+++ b/src/Vulkan/Core10/Enums/SemaphoreCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.QueueSemaphore.SemaphoreCreateInfo'
 newtype SemaphoreCreateFlags = SemaphoreCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/ShaderModuleCreateFlagBits.hs b/src/Vulkan/Core10/Enums/ShaderModuleCreateFlagBits.hs
deleted file mode 100644
--- a/src/Vulkan/Core10/Enums/ShaderModuleCreateFlagBits.hs
+++ /dev/null
@@ -1,47 +0,0 @@
-{-# language CPP #-}
--- No documentation found for Chapter "ShaderModuleCreateFlagBits"
-module Vulkan.Core10.Enums.ShaderModuleCreateFlagBits  ( ShaderModuleCreateFlags
-                                                       , ShaderModuleCreateFlagBits(..)
-                                                       ) where
-
-import Vulkan.Internal.Utils (enumReadPrec)
-import Vulkan.Internal.Utils (enumShowsPrec)
-import GHC.Show (showString)
-import Numeric (showHex)
-import Vulkan.Zero (Zero)
-import Data.Bits (Bits)
-import Data.Bits (FiniteBits)
-import Foreign.Storable (Storable)
-import GHC.Read (Read(readPrec))
-import GHC.Show (Show(showsPrec))
-import Vulkan.Core10.FundamentalTypes (Flags)
-type ShaderModuleCreateFlags = ShaderModuleCreateFlagBits
-
--- No documentation found for TopLevel "VkShaderModuleCreateFlagBits"
-newtype ShaderModuleCreateFlagBits = ShaderModuleCreateFlagBits Flags
-  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
-
-
-
-conNameShaderModuleCreateFlagBits :: String
-conNameShaderModuleCreateFlagBits = "ShaderModuleCreateFlagBits"
-
-enumPrefixShaderModuleCreateFlagBits :: String
-enumPrefixShaderModuleCreateFlagBits = ""
-
-showTableShaderModuleCreateFlagBits :: [(ShaderModuleCreateFlagBits, String)]
-showTableShaderModuleCreateFlagBits = []
-
-instance Show ShaderModuleCreateFlagBits where
-  showsPrec = enumShowsPrec enumPrefixShaderModuleCreateFlagBits
-                            showTableShaderModuleCreateFlagBits
-                            conNameShaderModuleCreateFlagBits
-                            (\(ShaderModuleCreateFlagBits x) -> x)
-                            (\x -> showString "0x" . showHex x)
-
-instance Read ShaderModuleCreateFlagBits where
-  readPrec = enumReadPrec enumPrefixShaderModuleCreateFlagBits
-                          showTableShaderModuleCreateFlagBits
-                          conNameShaderModuleCreateFlagBits
-                          ShaderModuleCreateFlagBits
-
diff --git a/src/Vulkan/Core10/Enums/ShaderModuleCreateFlags.hs b/src/Vulkan/Core10/Enums/ShaderModuleCreateFlags.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Core10/Enums/ShaderModuleCreateFlags.hs
@@ -0,0 +1,53 @@
+{-# language CPP #-}
+-- No documentation found for Chapter "ShaderModuleCreateFlags"
+module Vulkan.Core10.Enums.ShaderModuleCreateFlags  (ShaderModuleCreateFlags(..)) where
+
+import Vulkan.Internal.Utils (enumReadPrec)
+import Vulkan.Internal.Utils (enumShowsPrec)
+import GHC.Show (showString)
+import Numeric (showHex)
+import Vulkan.Zero (Zero)
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
+import Foreign.Storable (Storable)
+import GHC.Read (Read(readPrec))
+import GHC.Show (Show(showsPrec))
+import Vulkan.Core10.FundamentalTypes (Flags)
+-- | VkShaderModuleCreateFlags - Reserved for future use
+--
+-- = Description
+--
+-- 'ShaderModuleCreateFlags' is a bitmask type for setting a mask, but is
+-- currently reserved for future use.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
+-- 'Vulkan.Core10.Shader.ShaderModuleCreateInfo'
+newtype ShaderModuleCreateFlags = ShaderModuleCreateFlags Flags
+  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
+
+
+
+conNameShaderModuleCreateFlags :: String
+conNameShaderModuleCreateFlags = "ShaderModuleCreateFlags"
+
+enumPrefixShaderModuleCreateFlags :: String
+enumPrefixShaderModuleCreateFlags = ""
+
+showTableShaderModuleCreateFlags :: [(ShaderModuleCreateFlags, String)]
+showTableShaderModuleCreateFlags = []
+
+instance Show ShaderModuleCreateFlags where
+  showsPrec = enumShowsPrec enumPrefixShaderModuleCreateFlags
+                            showTableShaderModuleCreateFlags
+                            conNameShaderModuleCreateFlags
+                            (\(ShaderModuleCreateFlags x) -> x)
+                            (\x -> showString "0x" . showHex x)
+
+instance Read ShaderModuleCreateFlags where
+  readPrec = enumReadPrec enumPrefixShaderModuleCreateFlags
+                          showTableShaderModuleCreateFlags
+                          conNameShaderModuleCreateFlags
+                          ShaderModuleCreateFlags
+
diff --git a/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs b/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs
--- a/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/ShaderStageFlagBits.hs
@@ -9,6 +9,7 @@
                                                                      , SHADER_STAGE_COMPUTE_BIT
                                                                      , SHADER_STAGE_ALL_GRAPHICS
                                                                      , SHADER_STAGE_ALL
+                                                                     , SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI
                                                                      , SHADER_STAGE_MESH_BIT_NV
                                                                      , SHADER_STAGE_TASK_BIT_NV
                                                                      , SHADER_STAGE_CALLABLE_BIT_KHR
@@ -46,6 +47,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo',
 -- 'ShaderStageFlags',
 -- 'Vulkan.Extensions.VK_AMD_shader_info.getShaderInfoAMD'
@@ -74,6 +76,8 @@
 -- all shader stages supported by the device, including all additional
 -- stages which are introduced by extensions.
 pattern SHADER_STAGE_ALL                         = ShaderStageFlagBits 0x7fffffff
+-- No documentation found for Nested "VkShaderStageFlagBits" "VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI"
+pattern SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI  = ShaderStageFlagBits 0x00004000
 -- | 'SHADER_STAGE_MESH_BIT_NV' specifies the mesh stage.
 pattern SHADER_STAGE_MESH_BIT_NV                 = ShaderStageFlagBits 0x00000080
 -- | 'SHADER_STAGE_TASK_BIT_NV' specifies the task stage.
@@ -107,6 +111,7 @@
   , (SHADER_STAGE_COMPUTE_BIT                , "COMPUTE_BIT")
   , (SHADER_STAGE_ALL_GRAPHICS               , "ALL_GRAPHICS")
   , (SHADER_STAGE_ALL                        , "ALL")
+  , (SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI , "SUBPASS_SHADING_BIT_HUAWEI")
   , (SHADER_STAGE_MESH_BIT_NV                , "MESH_BIT_NV")
   , (SHADER_STAGE_TASK_BIT_NV                , "TASK_BIT_NV")
   , (SHADER_STAGE_CALLABLE_BIT_KHR           , "CALLABLE_BIT_KHR")
diff --git a/src/Vulkan/Core10/Enums/SharingMode.hs b/src/Vulkan/Core10/Enums/SharingMode.hs
--- a/src/Vulkan/Core10/Enums/SharingMode.hs
+++ b/src/Vulkan/Core10/Enums/SharingMode.hs
@@ -56,6 +56,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Buffer.BufferCreateInfo',
 -- 'Vulkan.Core10.Image.ImageCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.PhysicalDeviceImageDrmFormatModifierInfoEXT',
diff --git a/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs b/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SparseImageFormatFlagBits.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'SparseImageFormatFlags'
 newtype SparseImageFormatFlagBits = SparseImageFormatFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs b/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SparseMemoryBindFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'SparseMemoryBindFlags'
 newtype SparseMemoryBindFlagBits = SparseMemoryBindFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs b/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs
--- a/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/StencilFaceFlagBits.hs
@@ -31,6 +31,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'StencilFaceFlags'
 newtype StencilFaceFlagBits = StencilFaceFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/StencilOp.hs b/src/Vulkan/Core10/Enums/StencilOp.hs
--- a/src/Vulkan/Core10/Enums/StencilOp.hs
+++ b/src/Vulkan/Core10/Enums/StencilOp.hs
@@ -29,6 +29,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.StencilOpState',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT'
 newtype StencilOp = StencilOp Int32
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
@@ -49,6 +49,13 @@
                                                         , STRUCTURE_TYPE_MEMORY_BARRIER
                                                         , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
                                                         , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
+                                                        , STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR
+                                                        , STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT
                                                         , STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT
@@ -60,11 +67,26 @@
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV
                                                         , STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
+                                                        , STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI
+                                                        , STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA
+                                                        , STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA
+                                                        , STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA
+                                                        , STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA
+                                                        , STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA
+                                                        , STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA
+                                                        , STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA
+                                                        , STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA
+                                                        , STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA
+                                                        , STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA
                                                         , STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA
                                                         , STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA
                                                         , STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA
                                                         , STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA
                                                         , STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA
+                                                        , STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT
                                                         , STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT
                                                         , STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT
@@ -72,6 +94,7 @@
                                                         , STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE
                                                         , STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT
                                                         , STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR
                                                         , STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR
@@ -129,6 +152,8 @@
                                                         , STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR
                                                         , STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
@@ -251,6 +276,7 @@
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR
                                                         , STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT
                                                         , STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT
+                                                        , STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT
                                                         , STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT
                                                         , STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
                                                         , STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT
@@ -293,6 +319,7 @@
                                                         , STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID
                                                         , STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID
                                                         , STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID
                                                         , STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID
@@ -538,6 +565,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR',
@@ -554,6 +582,7 @@
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureVersionInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.AcquireProfilingLockInfoKHR',
+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferPropertiesANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferUsageANDROID',
@@ -574,6 +603,12 @@
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BlitImageInfo2KHR',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionConstraintsInfoFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferConstraintsInfoFUCHSIA',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferCopy2KHR',
 -- 'Vulkan.Core10.Buffer.BufferCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.BufferDeviceAddressCreateInfoEXT',
@@ -633,6 +668,7 @@
 -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo',
 -- 'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountLayoutSupport',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.DeviceBufferMemoryRequirementsKHR',
 -- 'Vulkan.Core10.Device.DeviceCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceDeviceMemoryReportCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_NV_device_diagnostics_config.DeviceDiagnosticsConfigCreateInfoNV',
@@ -645,6 +681,7 @@
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupSubmitInfo',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupSwapchainCreateInfoKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.DeviceImageMemoryRequirementsKHR',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.DeviceMemoryOpaqueCaptureAddressInfo',
 -- 'Vulkan.Extensions.VK_AMD_memory_overallocation_behavior.DeviceMemoryOverallocationCreateInfoAMD',
 -- 'Vulkan.Extensions.VK_EXT_device_memory_report.DeviceMemoryReportCallbackDataEXT',
@@ -664,6 +701,7 @@
 -- 'Vulkan.Extensions.VK_KHR_display_swapchain.DisplayPresentInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayProperties2KHR',
 -- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR',
+-- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT',
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT',
 -- 'Vulkan.Core10.Event.EventCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_external_fence.ExportFenceCreateInfo',
@@ -687,6 +725,7 @@
 -- 'Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR',
 -- 'Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2',
+-- 'Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR',
 -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentImageInfo',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.FramebufferAttachmentsCreateInfo',
@@ -704,11 +743,13 @@
 -- 'Vulkan.Extensions.VK_EXT_headless_surface.HeadlessSurfaceCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_MVK_ios_surface.IOSSurfaceCreateInfoMVK',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ImageBlit2KHR',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageConstraintsInfoFUCHSIA',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ImageCopy2KHR',
 -- 'Vulkan.Core10.Image.ImageCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierListCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsInfoFUCHSIA',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.ImageFormatProperties2',
 -- 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',
@@ -728,6 +769,7 @@
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID',
 -- 'Vulkan.Extensions.VK_KHR_external_fence_fd.ImportFenceFdInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_external_fence_win32.ImportFenceWin32HandleInfoKHR',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA',
 -- 'Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR',
 -- 'Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT',
 -- 'Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR',
@@ -778,6 +820,7 @@
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructurePropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT',
+-- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures',
 -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT',
 -- 'Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD',
@@ -842,6 +885,8 @@
 -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceMemoryProperties2',
@@ -854,6 +899,7 @@
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewProperties',
 -- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE',
 -- 'Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT',
+-- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT',
@@ -863,6 +909,7 @@
 -- 'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetPropertiesKHR',
 -- 'Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR',
+-- 'Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures',
@@ -870,6 +917,7 @@
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT',
 -- 'Vulkan.Extensions.VK_KHR_push_descriptor.PhysicalDevicePushDescriptorPropertiesKHR',
+-- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT',
 -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',
@@ -894,6 +942,8 @@
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',
 -- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',
+-- 'Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR',
+-- 'Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR',
 -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',
 -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',
 -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV',
@@ -906,8 +956,8 @@
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties',
 -- 'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI',
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR',
 -- 'Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT',
@@ -1007,6 +1057,7 @@
 -- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.ResolveImageInfo2KHR',
 -- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT',
+-- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT',
 -- 'Vulkan.Core10.Sampler.SamplerCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT',
 -- 'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo',
@@ -1035,7 +1086,7 @@
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassDescription2',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassEndInfo',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassShadingPipelineCreateInfoHUAWEI VkSubpassShadingPipelineCreateInfoHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI',
 -- 'Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCapabilities2EXT',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR',
 -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT',
@@ -1046,6 +1097,7 @@
 -- 'Vulkan.Extensions.VK_EXT_display_control.SwapchainCounterCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.SysmemColorSpaceFUCHSIA',
 -- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.TimelineSemaphoreSubmitInfo',
 -- 'Vulkan.Extensions.VK_EXT_validation_cache.ValidationCacheCreateInfoEXT',
@@ -1083,6 +1135,16 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersAddInfoEXT VkVideoEncodeH264SessionParametersAddInfoEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersCreateInfoEXT VkVideoEncodeH264SessionParametersCreateInfoEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264VclFrameInfoEXT VkVideoEncodeH264VclFrameInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265DpbSlotInfoEXT VkVideoEncodeH265DpbSlotInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265EmitPictureParametersEXT VkVideoEncodeH265EmitPictureParametersEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceEXT VkVideoEncodeH265NaluSliceEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileEXT VkVideoEncodeH265ProfileEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ReferenceListsEXT VkVideoEncodeH265ReferenceListsEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoEXT VkVideoEncodeH265SessionCreateInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersAddInfoEXT VkVideoEncodeH265SessionParametersAddInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersCreateInfoEXT VkVideoEncodeH265SessionParametersCreateInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265VclFrameInfoEXT VkVideoEncodeH265VclFrameInfoEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeInfoKHR VkVideoEncodeInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeRateControlInfoKHR VkVideoEncodeRateControlInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEndCodingInfoKHR VkVideoEndCodingInfoKHR>,
@@ -1207,6 +1269,20 @@
 pattern STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO               = StructureType 47
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO"
 pattern STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                 = StructureType 48
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR"
+pattern STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR      = StructureType 1000413003
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR"
+pattern STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR     = StructureType 1000413002
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR = StructureType 1000413001
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR = StructureType 1000413000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT = StructureType 1000412000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT"
+pattern STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT = StructureType 1000411001
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT = StructureType 1000411000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT = StructureType 1000392001
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT"
@@ -1229,6 +1305,32 @@
 pattern STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV         = StructureType 1000371000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI = StructureType 1000370000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = StructureType 1000369002
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = StructureType 1000369001
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI"
+pattern STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = StructureType 1000369000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA"
+pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = StructureType 1000366009
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA"
+pattern STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA                = StructureType 1000366008
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA"
+pattern STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA     = StructureType 1000366007
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA"
+pattern STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA            = StructureType 1000366006
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA"
+pattern STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA = StructureType 1000366005
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA"
+pattern STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA           = StructureType 1000366004
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA"
+pattern STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA      = StructureType 1000366003
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA"
+pattern STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA = StructureType 1000366002
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA"
+pattern STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA   = StructureType 1000366001
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA"
+pattern STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA     = StructureType 1000366000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA"
 pattern STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA  = StructureType 1000365001
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA"
@@ -1239,6 +1341,10 @@
 pattern STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA   = StructureType 1000364001
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA"
 pattern STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA  = StructureType 1000364000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR"
+pattern STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR                   = StructureType 1000360000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = StructureType 1000356000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT        = StructureType 1000353000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT"
@@ -1253,6 +1359,8 @@
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE = StructureType 1000351000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT"
 pattern STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT          = StructureType 1000346000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT = StructureType 1000344000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT = StructureType 1000340000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR"
@@ -1367,6 +1475,10 @@
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT = StructureType 1000281001
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT = StructureType 1000281000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR = StructureType 1000280001
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR = StructureType 1000280000
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV"
 pattern STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV = StructureType 1000278001
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV"
@@ -1611,6 +1723,8 @@
 pattern STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT = StructureType 1000160001
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT"
 pattern STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT          = StructureType 1000160000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT"
+pattern STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT = StructureType 1000158006
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT"
 pattern STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT  = StructureType 1000158005
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT"
@@ -1695,6 +1809,8 @@
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT = StructureType 1000138001
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT = StructureType 1000138000
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID"
+pattern STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID = StructureType 1000129006
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID"
 pattern STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                   = StructureType 1000129005
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID"
@@ -2202,6 +2318,13 @@
              STRUCTURE_TYPE_MEMORY_BARRIER,
              STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO,
              STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO,
+             STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR,
+             STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT,
+             STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT,
              STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT,
@@ -2213,11 +2336,26 @@
              STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV,
              STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
+             STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
+             STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
+             STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
+             STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
+             STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA,
+             STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
+             STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
+             STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
+             STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
+             STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
+             STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
              STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
              STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
              STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
              STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
              STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
+             STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT,
              STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT,
              STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT,
@@ -2225,6 +2363,7 @@
              STRUCTURE_TYPE_MUTABLE_DESCRIPTOR_TYPE_CREATE_INFO_VALVE,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE,
              STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT,
              STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR,
              STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR,
@@ -2282,6 +2421,8 @@
              STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_PROPERTIES_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR,
+             STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR,
              STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV,
@@ -2404,6 +2545,7 @@
              STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR,
              STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT,
              STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT,
+             STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT,
              STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT,
              STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT,
              STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT,
@@ -2446,6 +2588,7 @@
              STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_INLINE_UNIFORM_BLOCK_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_PROPERTIES_EXT,
              STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT,
+             STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID,
              STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID,
              STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
              STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID,
@@ -2733,8 +2876,21 @@
   , (STRUCTURE_TYPE_MEMORY_BARRIER                           , "MEMORY_BARRIER")
   , (STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO              , "LOADER_INSTANCE_CREATE_INFO")
   , (STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO                , "LOADER_DEVICE_CREATE_INFO")
-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT, "PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT")
-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT  , "PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT")
+  , (STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR     , "DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR")
+  , (STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR    , "DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR")
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR, "PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR")
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR, "PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR")
+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
+    , "PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT"
+    )
+  , ( STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
+    , "SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT"
+    )
+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT
+    , "PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT"
+    )
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT  , "PHYSICAL_DEVICE_MULTI_DRAW_PROPERTIES_EXT")
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT    , "PHYSICAL_DEVICE_MULTI_DRAW_FEATURES_EXT")
   , (STRUCTURE_TYPE_QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT, "QUEUE_FAMILY_GLOBAL_PRIORITY_PROPERTIES_EXT")
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT
     , "PHYSICAL_DEVICE_GLOBAL_PRIORITY_QUERY_FEATURES_EXT"
@@ -2750,14 +2906,33 @@
     )
   , (STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV              , "MEMORY_GET_REMOTE_ADDRESS_INFO_NV")
   , (STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI, "PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI")
+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
+    , "PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI"
+    )
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI, "PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI")
+  , (STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI    , "SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI")
+  , (STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA     , "BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA")
+  , (STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA                     , "SYSMEM_COLOR_SPACE_FUCHSIA")
+  , (STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA          , "IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA")
+  , (STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA                 , "IMAGE_CONSTRAINTS_INFO_FUCHSIA")
+  , (STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA   , "BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA")
+  , (STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA                , "BUFFER_CONSTRAINTS_INFO_FUCHSIA")
+  , (STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA           , "BUFFER_COLLECTION_PROPERTIES_FUCHSIA")
+  , (STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA    , "BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA")
+  , (STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA        , "IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA")
+  , (STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA          , "BUFFER_COLLECTION_CREATE_INFO_FUCHSIA")
   , (STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA       , "SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA")
   , (STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA    , "IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA")
   , (STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA          , "MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA")
   , (STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA        , "MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA")
   , (STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA       , "IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA")
-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT             , "PHYSICAL_DEVICE_DRM_PROPERTIES_EXT")
-  , (STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT       , "VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT")
-  , (STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT         , "VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT")
+  , (STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR                        , "FORMAT_PROPERTIES_3_KHR")
+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT
+    , "PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT"
+    )
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT      , "PHYSICAL_DEVICE_DRM_PROPERTIES_EXT")
+  , (STRUCTURE_TYPE_VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT, "VERTEX_INPUT_ATTRIBUTE_DESCRIPTION_2_EXT")
+  , (STRUCTURE_TYPE_VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT  , "VERTEX_INPUT_BINDING_DESCRIPTION_2_EXT")
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT
     , "PHYSICAL_DEVICE_VERTEX_INPUT_DYNAMIC_STATE_FEATURES_EXT"
     )
@@ -2765,19 +2940,20 @@
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE
     , "PHYSICAL_DEVICE_MUTABLE_DESCRIPTOR_TYPE_FEATURES_VALVE"
     )
-  , (STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT         , "DIRECTFB_SURFACE_CREATE_INFO_EXT")
-  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT, "PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT")
-  , (STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                      , "IMAGE_RESOLVE_2_KHR")
-  , (STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                  , "BUFFER_IMAGE_COPY_2_KHR")
-  , (STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                         , "IMAGE_BLIT_2_KHR")
-  , (STRUCTURE_TYPE_IMAGE_COPY_2_KHR                         , "IMAGE_COPY_2_KHR")
-  , (STRUCTURE_TYPE_BUFFER_COPY_2_KHR                        , "BUFFER_COPY_2_KHR")
-  , (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                 , "RESOLVE_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                    , "BLIT_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR          , "COPY_IMAGE_TO_BUFFER_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR          , "COPY_BUFFER_TO_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                    , "COPY_IMAGE_INFO_2_KHR")
-  , (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                   , "COPY_BUFFER_INFO_2_KHR")
+  , (STRUCTURE_TYPE_DIRECTFB_SURFACE_CREATE_INFO_EXT             , "DIRECTFB_SURFACE_CREATE_INFO_EXT")
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT, "PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT")
+  , (STRUCTURE_TYPE_PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT    , "PHYSICAL_DEVICE_4444_FORMATS_FEATURES_EXT")
+  , (STRUCTURE_TYPE_IMAGE_RESOLVE_2_KHR                          , "IMAGE_RESOLVE_2_KHR")
+  , (STRUCTURE_TYPE_BUFFER_IMAGE_COPY_2_KHR                      , "BUFFER_IMAGE_COPY_2_KHR")
+  , (STRUCTURE_TYPE_IMAGE_BLIT_2_KHR                             , "IMAGE_BLIT_2_KHR")
+  , (STRUCTURE_TYPE_IMAGE_COPY_2_KHR                             , "IMAGE_COPY_2_KHR")
+  , (STRUCTURE_TYPE_BUFFER_COPY_2_KHR                            , "BUFFER_COPY_2_KHR")
+  , (STRUCTURE_TYPE_RESOLVE_IMAGE_INFO_2_KHR                     , "RESOLVE_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_BLIT_IMAGE_INFO_2_KHR                        , "BLIT_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_IMAGE_TO_BUFFER_INFO_2_KHR              , "COPY_IMAGE_TO_BUFFER_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_BUFFER_TO_IMAGE_INFO_2_KHR              , "COPY_BUFFER_TO_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_IMAGE_INFO_2_KHR                        , "COPY_IMAGE_INFO_2_KHR")
+  , (STRUCTURE_TYPE_COPY_BUFFER_INFO_2_KHR                       , "COPY_BUFFER_INFO_2_KHR")
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR
     , "PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"
     )
@@ -2859,6 +3035,12 @@
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT
     , "PHYSICAL_DEVICE_TEXEL_BUFFER_ALIGNMENT_FEATURES_EXT"
     )
+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR
+    , "PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR"
+    )
+  , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR
+    , "PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR"
+    )
   , ( STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV
     , "COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV"
     )
@@ -3075,6 +3257,7 @@
   , (STRUCTURE_TYPE_PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR, "PHYSICAL_DEVICE_PORTABILITY_SUBSET_FEATURES_KHR")
   , (STRUCTURE_TYPE_SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT , "SHADER_MODULE_VALIDATION_CACHE_CREATE_INFO_EXT")
   , (STRUCTURE_TYPE_VALIDATION_CACHE_CREATE_INFO_EXT               , "VALIDATION_CACHE_CREATE_INFO_EXT")
+  , (STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT      , "DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT")
   , (STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT       , "IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT")
   , ( STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT
     , "IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT"
@@ -3148,6 +3331,9 @@
     )
   , ( STRUCTURE_TYPE_PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT
     , "PHYSICAL_DEVICE_INLINE_UNIFORM_BLOCK_FEATURES_EXT"
+    )
+  , ( STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID
+    , "ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID"
     )
   , (STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID                        , "EXTERNAL_FORMAT_ANDROID")
   , (STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID, "MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID")
diff --git a/src/Vulkan/Core10/Enums/SubpassContents.hs b/src/Vulkan/Core10/Enums/SubpassContents.hs
--- a/src/Vulkan/Core10/Enums/SubpassContents.hs
+++ b/src/Vulkan/Core10/Enums/SubpassContents.hs
@@ -19,6 +19,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.SubpassBeginInfo',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdBeginRenderPass',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdNextSubpass'
diff --git a/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs b/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
--- a/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/SubpassDescriptionFlagBits.hs
@@ -37,6 +37,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'SubpassDescriptionFlags'
 newtype SubpassDescriptionFlagBits = SubpassDescriptionFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core10/Enums/SystemAllocationScope.hs b/src/Vulkan/Core10/Enums/SystemAllocationScope.hs
--- a/src/Vulkan/Core10/Enums/SystemAllocationScope.hs
+++ b/src/Vulkan/Core10/Enums/SystemAllocationScope.hs
@@ -86,6 +86,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
 newtype SystemAllocationScope = SystemAllocationScope Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core10/Enums/VendorId.hs b/src/Vulkan/Core10/Enums/VendorId.hs
--- a/src/Vulkan/Core10/Enums/VendorId.hs
+++ b/src/Vulkan/Core10/Enums/VendorId.hs
@@ -35,7 +35,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>
 newtype VendorId = VendorId Int32
   deriving newtype (Eq, Ord, Storable, Zero)
 -- Note that the zero instance does not produce a valid value, passing 'zero' to Vulkan will result in an error
diff --git a/src/Vulkan/Core10/Enums/VertexInputRate.hs b/src/Vulkan/Core10/Enums/VertexInputRate.hs
--- a/src/Vulkan/Core10/Enums/VertexInputRate.hs
+++ b/src/Vulkan/Core10/Enums/VertexInputRate.hs
@@ -19,6 +19,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.VertexInputBindingDescription',
 -- 'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.VertexInputBindingDescription2EXT'
 newtype VertexInputRate = VertexInputRate Int32
diff --git a/src/Vulkan/Core10/Event.hs b/src/Vulkan/Core10/Event.hs
--- a/src/Vulkan/Core10/Event.hs
+++ b/src/Vulkan/Core10/Event.hs
@@ -118,6 +118,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Event',
 -- 'EventCreateInfo'
@@ -207,6 +208,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Event'
 destroyEvent :: forall io
@@ -288,6 +290,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Event'
 getEventStatus :: forall io
                 . (MonadIO io)
@@ -371,6 +374,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Event'
 setEvent :: forall io
           . (MonadIO io)
@@ -449,6 +453,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Event'
 resetEvent :: forall io
             . (MonadIO io)
@@ -473,6 +478,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.EventCreateFlagBits.EventCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createEvent'
 data EventCreateInfo = EventCreateInfo
diff --git a/src/Vulkan/Core10/ExtensionDiscovery.hs b/src/Vulkan/Core10/ExtensionDiscovery.hs
--- a/src/Vulkan/Core10/ExtensionDiscovery.hs
+++ b/src/Vulkan/Core10/ExtensionDiscovery.hs
@@ -133,6 +133,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ExtensionProperties'
 enumerateInstanceExtensionProperties :: forall io
                                       . (MonadIO io)
@@ -218,6 +219,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ExtensionProperties', 'Vulkan.Core10.Handles.PhysicalDevice'
 enumerateDeviceExtensionProperties :: forall io
                                     . (MonadIO io)
@@ -253,12 +255,15 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- <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#VkVideoDecodeH264SessionCreateInfoEXT VkVideoDecodeH264SessionCreateInfoEXT>,
 -- <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#VkVideoDecodeH265SessionCreateInfoEXT VkVideoDecodeH265SessionCreateInfoEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesEXT VkVideoEncodeH264CapabilitiesEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoEXT VkVideoEncodeH264SessionCreateInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoEXT VkVideoEncodeH265SessionCreateInfoEXT>,
 -- 'enumerateDeviceExtensionProperties',
 -- 'enumerateInstanceExtensionProperties'
 data ExtensionProperties = ExtensionProperties
diff --git a/src/Vulkan/Core10/Fence.hs b/src/Vulkan/Core10/Fence.hs
--- a/src/Vulkan/Core10/Fence.hs
+++ b/src/Vulkan/Core10/Fence.hs
@@ -126,6 +126,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Fence',
 -- 'FenceCreateInfo'
@@ -216,6 +217,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Fence'
 destroyFence :: forall io
@@ -304,6 +306,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Fence'
 resetFences :: forall io
              . (MonadIO io)
@@ -380,6 +383,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Fence'
 getFenceStatus :: forall io
                 . (MonadIO io)
@@ -517,6 +521,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.Handles.Fence'
 waitForFences :: forall io
@@ -585,6 +590,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.FenceCreateFlagBits.FenceCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createFence'
 data FenceCreateInfo (es :: [Type]) = FenceCreateInfo
diff --git a/src/Vulkan/Core10/FuncPointers.hs b/src/Vulkan/Core10/FuncPointers.hs
--- a/src/Vulkan/Core10/FuncPointers.hs
+++ b/src/Vulkan/Core10/FuncPointers.hs
@@ -30,6 +30,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
 type PFN_vkInternalAllocationNotification = FunPtr FN_vkInternalAllocationNotification
 
@@ -44,6 +45,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
 type PFN_vkInternalFreeNotification = FunPtr FN_vkInternalFreeNotification
 
@@ -82,6 +84,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
 type PFN_vkReallocationFunction = FunPtr FN_vkReallocationFunction
 
@@ -127,6 +130,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
 type PFN_vkAllocationFunction = FunPtr FN_vkAllocationFunction
 
@@ -143,6 +147,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
 type PFN_vkFreeFunction = FunPtr FN_vkFreeFunction
 
@@ -153,6 +158,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DeviceInitialization.getDeviceProcAddr',
 -- 'Vulkan.Core10.DeviceInitialization.getInstanceProcAddr'
 type PFN_vkVoidFunction = FunPtr FN_vkVoidFunction
diff --git a/src/Vulkan/Core10/FuncPointers.hs-boot b/src/Vulkan/Core10/FuncPointers.hs-boot
--- a/src/Vulkan/Core10/FuncPointers.hs-boot
+++ b/src/Vulkan/Core10/FuncPointers.hs-boot
@@ -12,6 +12,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DeviceInitialization.getDeviceProcAddr',
 -- 'Vulkan.Core10.DeviceInitialization.getInstanceProcAddr'
 type PFN_vkVoidFunction = FunPtr FN_vkVoidFunction
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
@@ -60,6 +60,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR',
 -- 'Rect2D', 'Vulkan.Extensions.VK_KHR_incremental_present.RectLayerKHR',
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesEXT VkVideoDecodeH264CapabilitiesEXT>,
@@ -113,6 +114,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR',
 -- 'Vulkan.Core10.CommandBufferBuilding.ImageBlit',
@@ -176,6 +178,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayModeParametersKHR',
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR',
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',
@@ -197,11 +200,12 @@
 -- <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#VkVideoEncodeH264CapabilitiesEXT VkVideoEncodeH264CapabilitiesEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoEXT VkVideoEncodeH264SessionCreateInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesEXT VkVideoEncodeH265CapabilitiesEXT>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeInfoKHR VkVideoEncodeInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceKHR VkVideoPictureResourceKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>,
 -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.cmdSetFragmentShadingRateKHR',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI',
 -- 'Vulkan.Core10.Pass.getRenderAreaGranularity'
 data Extent2D = Extent2D
   { -- | @width@ is the width of the extent.
@@ -251,6 +255,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBufferBuilding.BufferImageCopy',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BufferImageCopy2KHR',
 -- 'Vulkan.Core10.CommandBufferBuilding.ImageCopy',
@@ -316,6 +321,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo',
 -- 'Vulkan.Core10.CommandBufferBuilding.ClearRect',
 -- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM',
@@ -391,6 +397,7 @@
 -- = See Also
 --
 -- 'FALSE', 'TRUE',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureGeometryInstancesDataKHR',
 -- 'Vulkan.Extensions.VK_EXT_conditional_rendering.CommandBufferInheritanceConditionalRenderingInfoEXT',
 -- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo',
@@ -413,6 +420,7 @@
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.PhysicalDeviceAccelerationStructureFeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_blend_operation_advanced.PhysicalDeviceBlendOperationAdvancedPropertiesEXT',
+-- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.PhysicalDeviceBorderColorSwizzleFeaturesEXT',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeatures',
 -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.PhysicalDeviceBufferDeviceAddressFeaturesEXT',
 -- 'Vulkan.Extensions.VK_AMD_device_coherent_memory.PhysicalDeviceCoherentMemoryFeaturesAMD',
@@ -460,12 +468,14 @@
 -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI',
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',
 -- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4FeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderFeaturesNV',
 -- 'Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawFeaturesEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_multiview.PhysicalDeviceMultiviewFeatures',
 -- 'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',
 -- 'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.PhysicalDeviceMutableDescriptorTypeFeaturesVALVE',
+-- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeaturesEXT',
@@ -473,11 +483,13 @@
 -- 'Vulkan.Extensions.VK_KHR_portability_subset.PhysicalDevicePortabilitySubsetFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_present_id.PhysicalDevicePresentIdFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_present_wait.PhysicalDevicePresentWaitFeaturesKHR',
+-- 'Vulkan.Extensions.VK_EXT_primitive_topology_list_restart.PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryFeatures',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.PhysicalDeviceProtectedMemoryProperties',
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PhysicalDeviceProvokingVertexPropertiesEXT',
+-- 'Vulkan.Extensions.VK_EXT_rgba10x6_formats.PhysicalDeviceRGBA10X6FormatsFeaturesEXT',
 -- 'Vulkan.Extensions.VK_KHR_ray_query.PhysicalDeviceRayQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.PhysicalDeviceRayTracingMotionBlurFeaturesNV',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.PhysicalDeviceRayTracingPipelineFeaturesKHR',
@@ -497,6 +509,8 @@
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',
 -- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',
+-- 'Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeaturesKHR',
+-- 'Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR',
 -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',
 -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',
@@ -506,7 +520,7 @@
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceSparseProperties',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties',
 -- 'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlFeaturesEXT',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubpassShadingFeaturesHUAWEI VkPhysicalDeviceSubpassShadingFeaturesHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingFeaturesHUAWEI',
 -- 'Vulkan.Extensions.VK_KHR_synchronization2.PhysicalDeviceSynchronization2FeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',
@@ -546,6 +560,7 @@
 -- 'Vulkan.Extensions.VK_NV_shading_rate_image.PipelineViewportShadingRateImageStateCreateInfoNV',
 -- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.PipelineViewportWScalingStateCreateInfoNV',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo',
+-- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT',
 -- 'Vulkan.Core10.Sampler.SamplerCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.SurfaceCapabilitiesFullScreenExclusiveEXT',
@@ -554,6 +569,7 @@
 -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.SwapchainDisplayNativeHdrCreateInfoAMD',
 -- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD',
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264EmitPictureParametersEXT VkVideoEncodeH264EmitPictureParametersEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265EmitPictureParametersEXT VkVideoEncodeH265EmitPictureParametersEXT>,
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV',
 -- 'Vulkan.Extensions.VK_EXT_color_write_enable.cmdSetColorWriteEnableEXT',
@@ -597,6 +613,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'
 type SampleMask = Word32
 
@@ -642,6 +659,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.ColorComponentFlagBits.ColorComponentFlags'
 type Flags = Word32
 
@@ -654,6 +672,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV',
@@ -687,6 +706,7 @@
 -- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT',
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',
@@ -738,6 +758,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV',
diff --git a/src/Vulkan/Core10/FundamentalTypes.hs-boot b/src/Vulkan/Core10/FundamentalTypes.hs-boot
--- a/src/Vulkan/Core10/FundamentalTypes.hs-boot
+++ b/src/Vulkan/Core10/FundamentalTypes.hs-boot
@@ -62,6 +62,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindIndexBufferIndirectCommandNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.BindVertexBufferIndirectCommandNV',
@@ -79,6 +80,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildSizesInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureCreateInfoNV',
@@ -112,6 +114,7 @@
 -- 'Vulkan.Extensions.VK_EXT_external_memory_host.PhysicalDeviceExternalMemoryHostPropertiesEXT',
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_robustness2.PhysicalDeviceRobustness2PropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',
diff --git a/src/Vulkan/Core10/Handles.hs b/src/Vulkan/Core10/Handles.hs
--- a/src/Vulkan/Core10/Handles.hs
+++ b/src/Vulkan/Core10/Handles.hs
@@ -76,6 +76,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_android_surface.createAndroidSurfaceKHR',
 -- 'Vulkan.Extensions.VK_EXT_debug_report.createDebugReportCallbackEXT',
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.createDebugUtilsMessengerEXT',
@@ -122,6 +123,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.DeviceGroupDeviceCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group_creation.PhysicalDeviceGroupProperties',
 -- 'Vulkan.Extensions.VK_EXT_acquire_drm_display.acquireDrmDisplayEXT',
@@ -216,6 +218,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.acquireFullScreenExclusiveModeEXT',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImage2KHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImageKHR',
@@ -240,6 +243,7 @@
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.createAccelerationStructureKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.createAccelerationStructureNV',
 -- 'Vulkan.Core10.Buffer.createBuffer',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.createBufferCollectionFUCHSIA',
 -- 'Vulkan.Core10.BufferView.createBufferView',
 -- 'Vulkan.Core10.CommandPool.createCommandPool',
 -- 'Vulkan.Core10.Pipeline.createComputePipelines',
@@ -282,6 +286,7 @@
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.destroyAccelerationStructureKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.destroyAccelerationStructureNV',
 -- 'Vulkan.Core10.Buffer.destroyBuffer',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.destroyBufferCollectionFUCHSIA',
 -- 'Vulkan.Core10.BufferView.destroyBufferView',
 -- 'Vulkan.Core10.CommandPool.destroyCommandPool',
 -- 'Vulkan.Extensions.VK_NVX_binary_import.destroyCuFunctionNVX',
@@ -323,6 +328,7 @@
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.getAccelerationStructureHandleNV',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.getAccelerationStructureMemoryRequirementsNV',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.getAndroidHardwareBufferPropertiesANDROID',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.getBufferDeviceAddress',
 -- 'Vulkan.Extensions.VK_EXT_buffer_device_address.getBufferDeviceAddressEXT',
 -- 'Vulkan.Extensions.VK_KHR_buffer_device_address.getBufferDeviceAddressKHR',
@@ -337,18 +343,21 @@
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.getDescriptorSetLayoutSupport',
 -- 'Vulkan.Extensions.VK_KHR_maintenance3.getDescriptorSetLayoutSupportKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.getDeviceAccelerationStructureCompatibilityKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.getDeviceBufferMemoryRequirementsKHR',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.getDeviceGroupPeerMemoryFeatures',
 -- 'Vulkan.Extensions.VK_KHR_device_group.getDeviceGroupPeerMemoryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.getDeviceGroupPresentCapabilitiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getDeviceGroupSurfacePresentModes2EXT',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.getDeviceGroupSurfacePresentModesKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.getDeviceImageMemoryRequirementsKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.getDeviceImageSparseMemoryRequirementsKHR',
 -- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.getDeviceMemoryOpaqueCaptureAddress',
 -- 'Vulkan.Extensions.VK_KHR_buffer_device_address.getDeviceMemoryOpaqueCaptureAddressKHR',
 -- 'Vulkan.Core10.DeviceInitialization.getDeviceProcAddr',
 -- 'Vulkan.Core10.Queue.getDeviceQueue',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.getDeviceQueue2',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI',
 -- 'Vulkan.Core10.Event.getEventStatus',
 -- 'Vulkan.Extensions.VK_KHR_external_fence_fd.getFenceFdKHR',
 -- 'Vulkan.Core10.Fence.getFenceStatus',
@@ -419,8 +428,11 @@
 -- 'Vulkan.Core10.Event.resetEvent', 'Vulkan.Core10.Fence.resetFences',
 -- 'Vulkan.Core12.Promoted_From_VK_EXT_host_query_reset.resetQueryPool',
 -- 'Vulkan.Extensions.VK_EXT_host_query_reset.resetQueryPoolEXT',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.setBufferCollectionBufferConstraintsFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.setBufferCollectionImageConstraintsFUCHSIA',
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.setDebugUtilsObjectNameEXT',
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.setDebugUtilsObjectTagEXT',
+-- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.setDeviceMemoryPriorityEXT',
 -- 'Vulkan.Core10.Event.setEvent',
 -- 'Vulkan.Extensions.VK_EXT_hdr_metadata.setHdrMetadataEXT',
 -- 'Vulkan.Extensions.VK_AMD_display_native_hdr.setLocalDimmingAMD',
@@ -458,6 +470,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Queue.getDeviceQueue',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.getDeviceQueue2',
 -- 'Vulkan.Extensions.VK_KHR_synchronization2.getQueueCheckpointData2NV',
@@ -489,6 +502,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_synchronization2.CommandBufferSubmitInfoKHR',
 -- 'Vulkan.Core10.Queue.SubmitInfo',
 -- 'Vulkan.Core10.CommandBuffer.allocateCommandBuffers',
@@ -631,7 +645,7 @@
 -- 'Vulkan.Extensions.VK_NV_shading_rate_image.cmdSetViewportShadingRatePaletteNV',
 -- 'Vulkan.Extensions.VK_NV_clip_space_w_scaling.cmdSetViewportWScalingNV',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetViewportWithCountEXT',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.cmdSubpassShadingHUAWEI',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysIndirectKHR',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdTraceRaysNV',
@@ -663,6 +677,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',
@@ -684,7 +699,9 @@
 -- 'Vulkan.Core10.Memory.freeMemory',
 -- 'Vulkan.Core10.Memory.getDeviceMemoryCommitment',
 -- 'Vulkan.Extensions.VK_NV_external_memory_win32.getMemoryWin32HandleNV',
--- 'Vulkan.Core10.Memory.mapMemory', 'Vulkan.Core10.Memory.unmapMemory'
+-- 'Vulkan.Core10.Memory.mapMemory',
+-- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.setDeviceMemoryPriorityEXT',
+-- 'Vulkan.Core10.Memory.unmapMemory'
 newtype DeviceMemory = DeviceMemory Word64
   deriving newtype (Eq, Ord, Storable, Zero)
   deriving anyclass (IsHandle)
@@ -698,6 +715,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBuffer.CommandBufferAllocateInfo',
 -- 'Vulkan.Core10.CommandPool.createCommandPool',
 -- 'Vulkan.Core10.CommandPool.destroyCommandPool',
@@ -718,6 +736,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureCreateInfoKHR',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferDeviceAddressInfo',
@@ -784,6 +803,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet',
 -- 'Vulkan.Core10.BufferView.createBufferView',
 -- 'Vulkan.Core10.BufferView.destroyBufferView'
@@ -800,6 +820,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.BlitImageInfo2KHR',
 -- 'Vulkan.Extensions.VK_KHR_copy_commands2.CopyBufferToImageInfo2KHR',
@@ -842,6 +863,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo',
 -- 'Vulkan.Core10.Pass.FramebufferCreateInfo',
 -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX',
@@ -865,6 +887,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo',
 -- 'Vulkan.Core10.Shader.createShaderModule',
 -- 'Vulkan.Core10.Shader.destroyShaderModule'
@@ -881,6 +904,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.ComputePipelineCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV',
@@ -917,6 +941,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.ComputePipelineCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo',
 -- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',
@@ -942,6 +967,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo',
 -- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutBinding',
 -- 'Vulkan.Extensions.VK_NVX_image_view_handle.ImageViewHandleInfoNVX',
@@ -960,6 +986,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.CopyDescriptorSet',
 -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet',
 -- 'Vulkan.Core10.DescriptorSet.allocateDescriptorSets',
@@ -980,6 +1007,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo',
 -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo',
@@ -998,6 +1026,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo',
 -- 'Vulkan.Core10.DescriptorSet.createDescriptorPool',
 -- 'Vulkan.Core10.DescriptorSet.destroyDescriptorPool',
@@ -1016,6 +1045,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR',
@@ -1043,6 +1073,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo',
 -- 'Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR',
@@ -1074,6 +1105,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdResetEvent',
 -- 'Vulkan.Extensions.VK_KHR_synchronization2.cmdResetEvent2KHR',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetEvent',
@@ -1096,6 +1128,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery',
 -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginQueryIndexedEXT',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',
@@ -1124,6 +1157,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo',
 -- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo',
 -- 'Vulkan.Core10.Pass.createFramebuffer',
@@ -1141,16 +1175,17 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo',
 -- 'Vulkan.Core10.Pass.FramebufferCreateInfo',
 -- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassShadingPipelineCreateInfoHUAWEI VkSubpassShadingPipelineCreateInfoHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI',
 -- 'Vulkan.Core10.Pass.createRenderPass',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.createRenderPass2',
 -- 'Vulkan.Extensions.VK_KHR_create_renderpass2.createRenderPass2KHR',
 -- 'Vulkan.Core10.Pass.destroyRenderPass',
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI>,
+-- 'Vulkan.Extensions.VK_HUAWEI_subpass_shading.getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI',
 -- 'Vulkan.Core10.Pass.getRenderAreaGranularity'
 newtype RenderPass = RenderPass Word64
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1165,6 +1200,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Pipeline.createComputePipelines',
 -- 'Vulkan.Core10.Pipeline.createGraphicsPipelines',
 -- 'Vulkan.Core10.PipelineCache.createPipelineCache',
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
@@ -54,6 +54,7 @@
 import Vulkan.CStruct.Extends (forgetExtensions)
 import Vulkan.NamedType ((:::))
 import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionImageCreateInfoFUCHSIA)
 import Vulkan.CStruct.Extends (Chain)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_dedicated_allocation (DedicatedAllocationImageCreateInfoNV)
 import Vulkan.Core10.Handles (Device)
@@ -118,6 +119,13 @@
 --     resources on the device to exceed
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@sparseAddressSpaceSize@
 --
+-- -   #VUID-vkCreateImage-pNext-06389# If a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'
+--     has been chained to @pNext@, @pCreateInfo@ /must/ match the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#sysmem-chosen-create-infos Sysmem chosen >
+--     excepting members 'ImageCreateInfo'::@extent@ and
+--     'ImageCreateInfo'::@usage@ in the match criteria
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCreateImage-device-parameter# @device@ /must/ be a valid
@@ -147,6 +155,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image',
 -- 'ImageCreateInfo'
@@ -241,6 +250,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image'
 destroyImage :: forall io
@@ -374,7 +384,7 @@
 --     the @image@ is
 --     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',
 --     then the @aspectMask@ member of @pSubresource@ /must/ be
---     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ and the index @i@ /must/ be
+--     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ and the index /i/ /must/ be
 --     less than the
 --     'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT'::@drmFormatModifierPlaneCount@
 --     associated with the image’s @format@ and
@@ -401,6 +411,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource',
 -- 'SubresourceLayout'
@@ -457,8 +468,8 @@
 --     and\/or
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_TRANSFER_DST_BIT'
 --
--- Images created with a @format@ from one of those listed in
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>
+-- Images created with one of the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>,
 -- have further restrictions on their limits and capabilities compared to
 -- images created with other formats. Creation of images with a format
 -- requiring
@@ -588,6 +599,15 @@
 --         'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.getAndroidHardwareBufferPropertiesANDROID'
 --         with a matching @externalFormat@ value.
 --
+--     -   If the @pNext@ chain includes a
+--         'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'
+--         structure, then @imageCreateFormatFeatures@ is the value of
+--         'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA'::@formatFeatures@
+--         found by calling
+--         'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA'
+--         with a parameter @collection@ equal to
+--         'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'::@collection@
+--
 --     -   If @tiling@ is
 --         'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',
 --         then the value of @imageCreateFormatFeatures@ is found by
@@ -1053,11 +1073,7 @@
 -- -   #VUID-VkImageCreateInfo-flags-01572# If @flags@ contains
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT',
 --     then @format@ /must/ be a
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#appendix-compressedtex-bc block-compressed image format>,
---     an
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#appendix-compressedtex-etc2 ETC compressed image format>,
---     or an
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#appendix-compressedtex-astc ASTC compressed image format>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#compressed_image_formats compressed image format>
 --
 -- -   #VUID-VkImageCreateInfo-flags-01573# If @flags@ contains
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT',
@@ -1075,25 +1091,25 @@
 --     structure whose @handleTypes@ member is not @0@, @initialLayout@
 --     /must/ be 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_UNDEFINED'
 --
--- -   #VUID-VkImageCreateInfo-format-02561# If the image @format@ is one
---     of those listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>,
---     then @mipLevels@ /must/ be 1
+-- -   #VUID-VkImageCreateInfo-format-06410# If the image @format@ is one
+--     of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>,
+--     @mipLevels@ /must/ be 1
 --
--- -   #VUID-VkImageCreateInfo-format-02562# If the image @format@ is one
---     of those listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>,
+-- -   #VUID-VkImageCreateInfo-format-06411# If the image @format@ is one
+--     of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>,
 --     @samples@ /must/ be
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SAMPLE_COUNT_1_BIT'
 --
--- -   #VUID-VkImageCreateInfo-format-02563# If the image @format@ is one
---     of those listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>,
+-- -   #VUID-VkImageCreateInfo-format-06412# If the image @format@ is one
+--     of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>,
 --     @imageType@ /must/ be 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_2D'
 --
--- -   #VUID-VkImageCreateInfo-format-02653# If the image @format@ is one
---     of those listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>,
+-- -   #VUID-VkImageCreateInfo-format-06413# If the image @format@ is one
+--     of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>,
 --     and the @ycbcrImageArrays@ feature is not enabled, @arrayLayers@
 --     /must/ be 1
 --
@@ -1333,6 +1349,12 @@
 --     'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'::@viewFormatCount@
 --     /must/ be @0@ or @1@
 --
+-- -   #VUID-VkImageCreateInfo-pNext-06390# If the
+--     'Vulkan.Core10.Handles.Image' is to be used to import memory from a
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA', a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'
+--     structure /must/ be chained to @pNext@.
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkImageCreateInfo-sType-sType# @sType@ /must/ be
@@ -1341,6 +1363,7 @@
 -- -   #VUID-VkImageCreateInfo-pNext-pNext# Each @pNext@ member of any
 --     structure (including this one) in the @pNext@ chain /must/ be either
 --     @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA',
 --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV',
 --     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID',
 --     'Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExternalMemoryImageCreateInfo',
@@ -1390,9 +1413,12 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.DeviceImageMemoryRequirementsKHR',
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D',
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlags',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImageFormatConstraintsInfoFUCHSIA',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Enums.ImageTiling.ImageTiling',
 -- 'Vulkan.Core10.Enums.ImageType.ImageType',
@@ -1460,6 +1486,7 @@
   getNext ImageCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends ImageCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @BufferCollectionImageCreateInfoFUCHSIA = Just f
     | Just Refl <- eqT @e @ImageStencilUsageCreateInfo = Just f
     | Just Refl <- eqT @e @ImageDrmFormatModifierExplicitCreateInfoEXT = Just f
     | Just Refl <- eqT @e @ImageDrmFormatModifierListCreateInfoEXT = Just f
@@ -1619,7 +1646,7 @@
 -- then the @aspectMask@ member of
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.ImageSubresource' /must/
 -- be one of @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@, where the maximum
--- allowed plane index @i@ is defined by the
+-- allowed plane index /i/ is defined by the
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT'::@drmFormatModifierPlaneCount@
 -- associated with the image’s 'ImageCreateInfo'::@format@ and
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#glossary-drm-format-modifier modifier>.
@@ -1634,6 +1661,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT',
 -- 'getImageSubresourceLayout'
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
@@ -126,6 +126,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.ImageView',
 -- 'ImageViewCreateInfo'
@@ -216,6 +217,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.ImageView'
 destroyImageView :: forall io
@@ -247,9 +249,13 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA',
 -- 'Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle',
 -- 'ImageViewCreateInfo',
+-- 'Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
 data ComponentMapping = ComponentMapping
   { -- | @r@ is a 'Vulkan.Core10.Enums.ComponentSwizzle.ComponentSwizzle'
@@ -423,7 +429,7 @@
 --
 -- -   #VUID-VkImageSubresourceRange-aspectMask-02278# @aspectMask@ /must/
 --     not include @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index
---     @i@
+--     /i/
 --
 -- == Valid Usage (Implicit)
 --
@@ -436,6 +442,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',
 -- 'Vulkan.Core10.OtherTypes.ImageMemoryBarrier',
 -- 'Vulkan.Extensions.VK_KHR_synchronization2.ImageMemoryBarrier2KHR',
@@ -626,7 +633,7 @@
 -- for the plane.
 --
 -- Any view of an image plane will have the same mapping between texel
--- coordinates and memory locations as used by the channels of the color
+-- coordinates and memory locations as used by the components of the color
 -- aspect, subject to the formulae relating texel coordinates to
 -- lower-resolution planes as described in
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction Chroma Reconstruction>.
@@ -672,7 +679,7 @@
 --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_CUBE_ARRAY'
 --
 -- -   #VUID-VkImageViewCreateInfo-viewType-01004# If the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-imageCubeArray image cubemap arrays>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-imageCubeArray image cube map arrays>
 --     feature is not enabled, @viewType@ /must/ not be
 --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_CUBE_ARRAY'
 --
@@ -884,9 +891,9 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT',
 --     @format@ /must/ be identical to the @format@ used to create @image@
 --
--- -   #VUID-VkImageViewCreateInfo-format-04724# If @format@ is one of
---     those listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion>,
+-- -   #VUID-VkImageViewCreateInfo-format-06415# If the image @format@ is
+--     one of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y’CBCR conversion>,
 --     then the @pNext@ chain /must/ include a
 --     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'
 --     structure with a conversion value other than VK_NULL_HANDLE
@@ -1141,6 +1148,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ComponentMapping', 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Handles.Image', 'ImageSubresourceRange',
 -- 'Vulkan.Core10.Enums.ImageViewCreateFlagBits.ImageViewCreateFlags',
diff --git a/src/Vulkan/Core10/LayerDiscovery.hs b/src/Vulkan/Core10/LayerDiscovery.hs
--- a/src/Vulkan/Core10/LayerDiscovery.hs
+++ b/src/Vulkan/Core10/LayerDiscovery.hs
@@ -119,6 +119,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'LayerProperties'
 enumerateInstanceLayerProperties :: forall io
                                   . (MonadIO io)
@@ -200,6 +201,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'LayerProperties', 'Vulkan.Core10.Handles.PhysicalDevice'
 enumerateDeviceLayerProperties :: forall io
                                 . (MonadIO io)
@@ -229,6 +231,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'enumerateDeviceLayerProperties', 'enumerateInstanceLayerProperties'
 data LayerProperties = LayerProperties
   { -- | @layerName@ is an array of
diff --git a/src/Vulkan/Core10/Memory.hs b/src/Vulkan/Core10/Memory.hs
--- a/src/Vulkan/Core10/Memory.hs
+++ b/src/Vulkan/Core10/Memory.hs
@@ -79,6 +79,7 @@
 import Vulkan.CStruct.Extends (Extendss)
 import Vulkan.CStruct.Extends (Extensible(..))
 import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (ImportAndroidHardwareBufferInfoANDROID)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (ImportMemoryBufferCollectionFUCHSIA)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_fd (ImportMemoryFdInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_external_memory_host (ImportMemoryHostPointerInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_external_memory_win32 (ImportMemoryWin32HandleInfoKHR)
@@ -151,6 +152,23 @@
 -- rely on the use of the returned error code in order to identify when the
 -- limit is reached.
 --
+-- Note
+--
+-- Many protected memory implementations involve complex hardware and
+-- system software support, and often have additional and much lower limits
+-- on the number of simultaneous protected memory allocations (from memory
+-- types with the
+-- 'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'
+-- property) than for non-protected memory allocations. These limits can be
+-- system-wide, and depend on a variety of factors outside of the Vulkan
+-- implementation, so can’t be queried in Vulkan. Applications /should/ use
+-- as few allocations as possible from such memory types by suballocating
+-- aggressively, and be prepared for allocation failure even when there is
+-- apparently plenty of capacity remaining in the memory heap. As a
+-- guideline, the Vulkan conformance test suite requires that at least 80
+-- minimum-size allocations can exist concurrently when no other uses of
+-- protected memory are active in the system.
+--
 -- Some platforms /may/ have a limit on the maximum size of a single
 -- allocation. For example, certain systems /may/ fail to create
 -- allocations with a size greater than or equal to 4GB. Such a limit is
@@ -165,6 +183,29 @@
 -- into other heaps. The overallocation behavior /can/ be specified through
 -- the @VK_AMD_memory_overallocation_behavior@ extension.
 --
+-- If the
+-- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT'::@pageableDeviceLocalMemory@
+-- feature is enabled, memory allocations made from a heap that includes
+-- 'Vulkan.Core10.Enums.MemoryHeapFlagBits.MEMORY_HEAP_DEVICE_LOCAL_BIT' in
+-- 'Vulkan.Core10.DeviceInitialization.MemoryHeap'::@flags@ /may/ be
+-- transparently moved to host-local memory allowing multiple applications
+-- to share device-local memory. If there is no space left in device-local
+-- memory when this new allocation is made, other allocations /may/ be
+-- moved out transparently to make room. The operating system will
+-- determine which allocations to move to device-local memory or host-local
+-- memory based on platform-specific criteria. To help the operating system
+-- make good choices, the application /should/ set the appropriate memory
+-- priority with
+-- 'Vulkan.Extensions.VK_EXT_memory_priority.MemoryPriorityAllocateInfoEXT'
+-- and adjust it as necessary with
+-- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.setDeviceMemoryPriorityEXT'.
+-- Higher priority allocations will moved to device-local memory first.
+--
+-- Memory allocations made on heaps without the
+-- 'Vulkan.Core10.Enums.MemoryHeapFlagBits.MEMORY_HEAP_DEVICE_LOCAL_BIT'
+-- property will not be transparently promoted to device-local memory by
+-- the operating system.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkAllocateMemory-pAllocateInfo-01713#
@@ -229,6 +270,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'MemoryAllocateInfo'
@@ -287,15 +329,15 @@
 -- = Description
 --
 -- Before freeing a memory object, an application /must/ ensure the memory
--- object is no longer in use by the device—​for example by command buffers
--- in the /pending state/. Memory /can/ be freed whilst still bound to
--- resources, but those resources /must/ not be used afterwards. Freeing a
--- memory object releases the reference it held, if any, to its payload. If
--- there are still any bound images or buffers, the memory object’s payload
--- /may/ not be immediately released by the implementation, but /must/ be
--- released by the time all bound images and buffers have been destroyed.
--- Once all references to a payload are released, it is returned to the
--- heap from which it was allocated.
+-- object is no longer in use by the device — for example by command
+-- buffers in the /pending state/. Memory /can/ be freed whilst still bound
+-- to resources, but those resources /must/ not be used afterwards. Freeing
+-- a memory object releases the reference it held, if any, to its payload.
+-- If there are still any bound images or buffers, the memory object’s
+-- payload /may/ not be immediately released by the implementation, but
+-- /must/ be released by the time all bound images and buffers have been
+-- destroyed. Once all references to a payload are released, it is returned
+-- to the heap from which it was allocated.
 --
 -- How memory objects are bound to Images and Buffers is described in
 -- detail in the
@@ -340,6 +382,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory'
 freeMemory :: forall io
@@ -481,6 +524,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.MemoryMapFlags.MemoryMapFlags'
@@ -557,6 +601,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory'
 unmapMemory :: forall io
              . (MonadIO io)
@@ -627,6 +672,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'MappedMemoryRange'
 flushMappedMemoryRanges :: forall io
                          . (MonadIO io)
@@ -699,6 +745,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'MappedMemoryRange'
 invalidateMappedMemoryRanges :: forall io
                               . (MonadIO io)
@@ -749,6 +796,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 getDeviceMemoryCommitment :: forall io
@@ -810,6 +858,8 @@
 -- -   'Vulkan.Extensions.VK_FUCHSIA_external_memory.ImportMemoryZirconHandleInfoFUCHSIA'
 --     with a non-zero @handleType@ value
 --
+-- -   'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'
+--
 -- If the parameters define an import operation and the external handle
 -- type is
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_D3D11_TEXTURE_BIT',
@@ -861,6 +911,86 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkMemoryAllocateInfo-buffer-06380# If the parameters define an
+--     import operation from an
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA', and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@buffer@
+--     is present and non-NULL,
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'::@collection@
+--     and
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'::@index@
+--     must match
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA'::@collection@
+--     and
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA'::@index@,
+--     respectively, of the
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA'
+--     structure used to create the
+--     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@buffer@
+--
+-- -   #VUID-VkMemoryAllocateInfo-image-06381# If the parameters define an
+--     import operation from an
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA', and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@image@
+--     is present and non-NULL,
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'::@collection@
+--     and
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'::@index@
+--     must match
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'::@collection@
+--     and
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'::@index@,
+--     respectively, of the
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'
+--     structure used to create the
+--     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@image@
+--
+-- -   #VUID-VkMemoryAllocateInfo-allocationSize-06382# If the parameters
+--     define an import operation from an
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+--     @allocationSize@ /must/ match
+--     'Vulkan.Core10.MemoryManagement.MemoryRequirements'::@size@ value
+--     retrieved by
+--     'Vulkan.Core10.MemoryManagement.getImageMemoryRequirements' or
+--     'Vulkan.Core10.MemoryManagement.getBufferMemoryRequirements' for
+--     image-based or buffer-based collections respectively
+--
+-- -   #VUID-VkMemoryAllocateInfo-pNext-06383# If the parameters define an
+--     import operation from an
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA', the @pNext@
+--     chain /must/ include a
+--     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'
+--     structure with either its @image@ or @buffer@ field set to a value
+--     other than 'Vulkan.Core10.APIConstants.NULL_HANDLE'.
+--
+-- -   #VUID-VkMemoryAllocateInfo-image-06384# If the parameters define an
+--     import operation from an
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@image@
+--     is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @image@ /must/
+--     be created with a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'
+--     structure chained to its
+--     'Vulkan.Core10.Image.ImageCreateInfo'::@pNext@ pointer
+--
+-- -   #VUID-VkMemoryAllocateInfo-buffer-06385# If the parameters define an
+--     import operation from an
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@buffer@
+--     is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @buffer@ /must/
+--     be created with a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA'
+--     structure chained to its
+--     'Vulkan.Core10.Buffer.BufferCreateInfo'::@pNext@ pointer
+--
+-- -   #VUID-VkMemoryAllocateInfo-memoryTypeIndex-06386# If the parameters
+--     define an import operation from an
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+--     @memoryTypeIndex@ /must/ be from
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA'
+--     as retrieved by
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA'.
+--
 -- -   #VUID-VkMemoryAllocateInfo-pNext-00639# If the @pNext@ chain
 --     includes a
 --     'Vulkan.Core11.Promoted_From_VK_KHR_external_memory.ExportMemoryAllocateInfo'
@@ -1145,6 +1275,7 @@
 --     'Vulkan.Extensions.VK_KHR_external_memory_win32.ExportMemoryWin32HandleInfoKHR',
 --     'Vulkan.Extensions.VK_NV_external_memory_win32.ExportMemoryWin32HandleInfoNV',
 --     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ImportAndroidHardwareBufferInfoANDROID',
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA',
 --     'Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR',
 --     'Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT',
 --     'Vulkan.Extensions.VK_KHR_external_memory_win32.ImportMemoryWin32HandleInfoKHR',
@@ -1161,6 +1292,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'allocateMemory'
 data MemoryAllocateInfo (es :: [Type]) = MemoryAllocateInfo
@@ -1186,6 +1318,7 @@
   getNext MemoryAllocateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends MemoryAllocateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @ImportMemoryBufferCollectionFUCHSIA = Just f
     | Just Refl <- eqT @e @MemoryOpaqueCaptureAddressAllocateInfo = Just f
     | Just Refl <- eqT @e @MemoryPriorityAllocateInfoEXT = Just f
     | Just Refl <- eqT @e @ImportAndroidHardwareBufferInfoANDROID = Just f
@@ -1283,6 +1416,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Core10/MemoryManagement.hs b/src/Vulkan/Core10/MemoryManagement.hs
--- a/src/Vulkan/Core10/MemoryManagement.hs
+++ b/src/Vulkan/Core10/MemoryManagement.hs
@@ -71,6 +71,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Device',
 -- 'MemoryRequirements'
 getBufferMemoryRequirements :: forall io
@@ -215,6 +216,13 @@
 --     'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT'
 --     bit set
 --
+-- -   #VUID-vkBindBufferMemory-buffer-06408# If @buffer@ was created with
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA'
+--     chained to 'Vulkan.Core10.Buffer.BufferCreateInfo'::@pNext@,
+--     @memory@ /must/ be allocated with a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'
+--     chained to 'Vulkan.Core10.Memory.MemoryAllocateInfo'::@pNext@
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkBindBufferMemory-device-parameter# @device@ /must/ be a
@@ -252,6 +260,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
@@ -318,6 +327,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image',
 -- 'MemoryRequirements'
 getImageMemoryRequirements :: forall io
@@ -470,6 +480,13 @@
 --     @size@ member of the 'MemoryRequirements' structure returned from a
 --     call to 'getImageMemoryRequirements' with the same @image@
 --
+-- -   #VUID-vkBindImageMemory-image-06392# If @image@ was created with
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA'
+--     chained to 'Vulkan.Core10.Image.ImageCreateInfo'::@pNext@, @memory@
+--     /must/ be allocated with a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'
+--     chained to 'Vulkan.Core10.Memory.MemoryAllocateInfo'::@pNext@
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkBindImageMemory-device-parameter# @device@ /must/ be a valid
@@ -505,6 +522,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Handles.Image'
@@ -536,6 +554,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2',
 -- 'getBufferMemoryRequirements', 'getImageMemoryRequirements'
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
@@ -87,6 +87,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdPipelineBarrier',
@@ -248,6 +249,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags',
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
@@ -712,6 +714,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags',
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
@@ -843,6 +846,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion'
 data PipelineCacheHeaderVersionOne = PipelineCacheHeaderVersionOne
   { -- | @headerSize@ is the length in bytes of the pipeline cache header.
@@ -949,6 +953,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndirect'
 data DrawIndirectCommand = DrawIndirectCommand
   { -- | @vertexCount@ is the number of vertices to draw.
@@ -1036,6 +1041,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndexedIndirect'
 data DrawIndexedIndirectCommand = DrawIndexedIndirectCommand
   { -- | @indexCount@ is the number of vertices to draw.
@@ -1113,6 +1119,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdDispatchIndirect'
 data DispatchIndirectCommand = DispatchIndirectCommand
   { -- | @x@ is the number of local workgroups to dispatch in the X dimension.
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
@@ -190,6 +190,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Framebuffer',
 -- 'FramebufferCreateInfo'
@@ -281,6 +282,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Framebuffer'
 destroyFramebuffer :: forall io
@@ -344,6 +346,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.RenderPass',
 -- 'RenderPassCreateInfo'
@@ -435,6 +438,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.RenderPass'
 destroyRenderPass :: forall io
@@ -516,6 +520,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Handles.RenderPass'
@@ -817,6 +822,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlags',
 -- 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp',
 -- 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp',
@@ -948,6 +954,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Extensions.VK_EXT_fragment_density_map.RenderPassFragmentDensityMapCreateInfoEXT',
 -- 'SubpassDescription'
@@ -1110,9 +1117,11 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-VkSubpassDescription-pipelineBindPoint-00844#
+-- -   #VUID-VkSubpassDescription-pipelineBindPoint-04952#
 --     @pipelineBindPoint@ /must/ be
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
+--     or
+--     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI'
 --
 -- -   #VUID-VkSubpassDescription-colorAttachmentCount-00845#
 --     @colorAttachmentCount@ /must/ be less than or equal to
@@ -1289,6 +1298,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'AttachmentReference',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',
 -- 'RenderPassCreateInfo',
@@ -1623,6 +1633,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags',
 -- 'Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlags',
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlags',
@@ -1828,8 +1839,8 @@
 -- -   #VUID-VkRenderPassCreateInfo-pNext-02515# If the @pNext@ chain
 --     includes a
 --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'
---     structure, and each element of its @pViewMasks@ member is @0@,
---     @correlatedViewMaskCount@ /must/ be @0@
+--     structure, and each element of its @pViewMasks@ member is @0@, its
+--     @correlationMaskCount@ member /must/ be @0@
 --
 -- -   #VUID-VkRenderPassCreateInfo-pDependencies-00837# For any element of
 --     @pDependencies@, if the @srcSubpass@ is not
@@ -1896,6 +1907,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'AttachmentDescription',
 -- 'Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'SubpassDependency',
@@ -2478,6 +2490,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FramebufferCreateFlags',
 -- 'Vulkan.Core10.Handles.ImageView', 'Vulkan.Core10.Handles.RenderPass',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createFramebuffer'
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
@@ -208,6 +208,7 @@
 import Vulkan.CStruct.Extends (SomeStruct(..))
 import Vulkan.Core10.Enums.StencilOp (StencilOp)
 import Vulkan.Core10.Enums.StructureType (StructureType)
+import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_subpass_shading (SubpassShadingPipelineCreateInfoHUAWEI)
 import Vulkan.Core10.Enums.VertexInputRate (VertexInputRate)
 import Vulkan.Exception (VulkanException(..))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO))
@@ -349,6 +350,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Handles.Pipeline', 'Vulkan.Core10.Handles.PipelineCache'
@@ -478,6 +480,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'ComputePipelineCreateInfo', 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.Handles.Pipeline', 'Vulkan.Core10.Handles.PipelineCache'
@@ -575,6 +578,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline'
 destroyPipeline :: forall io
@@ -694,6 +698,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV',
 -- 'PipelineViewportStateCreateInfo',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetViewport',
@@ -784,6 +789,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'SpecializationInfo'
 data SpecializationMapEntry = SpecializationMapEntry
   { -- | @constantID@ is the ID of the specialization constant in SPIR-V.
@@ -864,6 +870,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'PipelineShaderStageCreateInfo', 'SpecializationMapEntry'
 data SpecializationInfo = SpecializationInfo
   { -- | @pMapEntries@ is a pointer to an array of 'SpecializationMapEntry'
@@ -1154,6 +1161,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'ComputePipelineCreateInfo', 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsShaderGroupCreateInfoNV',
 -- 'Vulkan.Core10.Enums.PipelineShaderStageCreateFlagBits.PipelineShaderStageCreateFlags',
@@ -1367,7 +1375,7 @@
 --     'Vulkan.Extensions.VK_AMD_pipeline_compiler_control.PipelineCompilerControlCreateInfoAMD',
 --     'Vulkan.Extensions.VK_EXT_pipeline_creation_feedback.PipelineCreationFeedbackCreateInfoEXT',
 --     or
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkSubpassShadingPipelineCreateInfoHUAWEI VkSubpassShadingPipelineCreateInfoHUAWEI>
+--     'Vulkan.Extensions.VK_HUAWEI_subpass_shading.SubpassShadingPipelineCreateInfoHUAWEI'
 --
 -- -   #VUID-VkComputePipelineCreateInfo-sType-unique# The @sType@ value of
 --     each struct in the @pNext@ chain /must/ be unique
@@ -1390,6 +1398,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlags',
 -- 'Vulkan.Core10.Handles.PipelineLayout', 'PipelineShaderStageCreateInfo',
@@ -1427,6 +1436,7 @@
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends ComputePipelineCreateInfo e => b) -> Maybe b
   extends _ f
     | Just Refl <- eqT @e @PipelineCompilerControlCreateInfoAMD = Just f
+    | Just Refl <- eqT @e @SubpassShadingPipelineCreateInfoHUAWEI = Just f
     | Just Refl <- eqT @e @PipelineCreationFeedbackCreateInfoEXT = Just f
     | otherwise = Nothing
 
@@ -1501,6 +1511,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'PipelineVertexInputStateCreateInfo',
 -- 'Vulkan.Core10.Enums.VertexInputRate.VertexInputRate'
 data VertexInputBindingDescription = VertexInputBindingDescription
@@ -1596,6 +1607,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'PipelineVertexInputStateCreateInfo'
 data VertexInputAttributeDescription = VertexInputAttributeDescription
@@ -1713,6 +1725,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsShaderGroupCreateInfoNV',
 -- 'Vulkan.Core10.Enums.PipelineVertexInputStateCreateFlags.PipelineVertexInputStateCreateFlags',
@@ -1805,17 +1818,26 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00428# If
+-- -   #VUID-VkPipelineInputAssemblyStateCreateInfo-topology-06252# If
 --     @topology@ is
 --     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_POINT_LIST',
 --     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_LINE_LIST',
 --     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_LIST',
---     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY',
---     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY'
+--     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY'
 --     or
+--     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY',
+--     and @primitiveRestartEnable@ is
+--     'Vulkan.Core10.FundamentalTypes.TRUE', the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveTopologyListRestart primitiveTopologyListRestart>
+--     feature /must/ be enabled
+--
+-- -   #VUID-VkPipelineInputAssemblyStateCreateInfo-topology-06253# If
+--     @topology@ is
 --     'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_PATCH_LIST',
---     @primitiveRestartEnable@ /must/ be
---     'Vulkan.Core10.FundamentalTypes.FALSE'
+--     and @primitiveRestartEnable@ is
+--     'Vulkan.Core10.FundamentalTypes.TRUE', the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveTopologyPatchListRestart primitiveTopologyPatchListRestart>
+--     feature /must/ be enabled
 --
 -- -   #VUID-VkPipelineInputAssemblyStateCreateInfo-topology-00429# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>
@@ -1855,6 +1877,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Enums.PipelineInputAssemblyStateCreateFlags.PipelineInputAssemblyStateCreateFlags',
 -- 'Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology',
@@ -1878,7 +1901,13 @@
     -- is equal to 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT', or
     -- 0xFFFF when @indexType@ is equal to
     -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT16'. Primitive restart is
-    -- not allowed for “list” topologies.
+    -- not allowed for “list” topologies, unless one of the features
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveTopologyPatchListRestart primitiveTopologyPatchListRestart>
+    -- (for
+    -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_PATCH_LIST')
+    -- or
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveTopologyListRestart primitiveTopologyListRestart>
+    -- (for all other list topologies) is enabled.
     primitiveRestartEnable :: Bool
   }
   deriving (Typeable, Eq)
@@ -1954,6 +1983,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GraphicsShaderGroupCreateInfoNV',
 -- 'Vulkan.Core10.Enums.PipelineTessellationStateCreateFlags.PipelineTessellationStateCreateFlags',
@@ -2103,6 +2133,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Enums.PipelineViewportStateCreateFlags.PipelineViewportStateCreateFlags',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
@@ -2230,7 +2261,7 @@
 -- 'PipelineRasterizationStateCreateInfo' structure. This structure enables
 -- selecting the rasterization order to use when rendering with the
 -- corresponding graphics pipeline as described in
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primrast-order Rasterization Order>.
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-order Rasterization Order>.
 --
 -- == Valid Usage
 --
@@ -2297,6 +2328,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlags',
 -- 'Vulkan.Core10.Enums.FrontFace.FrontFace', 'GraphicsPipelineCreateInfo',
@@ -2506,6 +2538,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags.PipelineMultisampleStateCreateFlags',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits',
@@ -2779,6 +2812,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.BlendFactor.BlendFactor',
 -- 'Vulkan.Core10.Enums.BlendOp.BlendOp',
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
@@ -2938,6 +2972,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Enums.LogicOp.LogicOp',
 -- 'PipelineColorBlendAttachmentState',
@@ -3070,6 +3105,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.DynamicState.DynamicState',
 -- 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Enums.PipelineDynamicStateCreateFlags.PipelineDynamicStateCreateFlags',
@@ -3129,6 +3165,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.CompareOp.CompareOp',
 -- 'PipelineDepthStencilStateCreateInfo',
 -- 'Vulkan.Core10.Enums.StencilOp.StencilOp'
@@ -3273,6 +3310,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.CompareOp.CompareOp', 'GraphicsPipelineCreateInfo',
 -- 'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlags.PipelineDepthStencilStateCreateFlags',
@@ -3640,10 +3678,18 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-shader fragment shader state>,
 --     it includes both a fragment shader and a geometry shader, and the
 --     fragment shader code reads from an input variable that is decorated
---     with @PrimitiveID@, then the geometry shader code /must/ write to a
---     matching output variable, decorated with @PrimitiveID@, in all
+--     with @PrimitiveId@, then the geometry shader code /must/ write to a
+--     matching output variable, decorated with @PrimitiveId@, in all
 --     execution paths
 --
+-- -   #VUID-VkGraphicsPipelineCreateInfo-PrimitiveId-06264# If the
+--     pipeline is being created with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-pre-rasterization pre-rasterization shader state>,
+--     it includes a mesh shader and the fragment shader code reads from an
+--     input variable that is decorated with @PrimitiveId@, then the mesh
+--     shader code /must/ write to a matching output variable, decorated
+--     with @PrimitiveId@, in all execution paths
+--
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-00741# If the pipeline is
 --     being created with
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-shader fragment shader state>
@@ -4321,7 +4367,7 @@
 --     and
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR'
 --     is not included in @pDynamicState->pDynamicStates@, and the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
 --     is not enabled,
 --     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR'::@combinerOps@[0]
 --     /must/ be
@@ -4335,7 +4381,7 @@
 --     and
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR'
 --     is not included in @pDynamicState->pDynamicStates@, and the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
 --     is not enabled,
 --     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR'::@combinerOps@[1]
 --     /must/ be
@@ -4423,7 +4469,7 @@
 --     and
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR'
 --     is not included in @pDynamicState->pDynamicStates@, and the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
 --     is not enabled,
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV'::@combinerOps@[0]
 --     /must/ be
@@ -4437,7 +4483,7 @@
 --     and
 --     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR'
 --     is not included in @pDynamicState->pDynamicStates@, and the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
 --     is not enabled,
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV'::@combinerOps@[1]
 --     /must/ be
@@ -4465,7 +4511,7 @@
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-shader fragment shader state>,
 --     and the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-supersampleFragmentShadingRates supersampleFragmentShadingRates feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-supersampleFragmentShadingRates supersampleFragmentShadingRates feature>
 --     is not enabled,
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV'::@shadingRate@
 --     /must/ not be equal to
@@ -4481,7 +4527,7 @@
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipeline-graphics-subsets-fragment-shader fragment shader state>,
 --     and the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-noInvocationFragmentShadingRates noInvocationFragmentShadingRates feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-noInvocationFragmentShadingRates noInvocationFragmentShadingRates feature>
 --     is not enabled,
 --     'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV'::@shadingRate@
 --     /must/ not be equal to
@@ -4591,6 +4637,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Pipeline', 'PipelineColorBlendStateCreateInfo',
 -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlags',
 -- 'PipelineDepthStencilStateCreateInfo', 'PipelineDynamicStateCreateInfo',
diff --git a/src/Vulkan/Core10/PipelineCache.hs b/src/Vulkan/Core10/PipelineCache.hs
--- a/src/Vulkan/Core10/PipelineCache.hs
+++ b/src/Vulkan/Core10/PipelineCache.hs
@@ -153,6 +153,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.PipelineCache',
 -- 'PipelineCacheCreateInfo'
@@ -242,6 +243,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.PipelineCache'
 destroyPipelineCache :: forall io
@@ -341,6 +343,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.PipelineCache'
 getPipelineCacheData :: forall io
                       . (MonadIO io)
@@ -429,6 +432,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.PipelineCache'
 mergePipelineCaches :: forall io
                      . (MonadIO io)
@@ -491,6 +495,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createPipelineCache'
 data PipelineCacheCreateInfo = PipelineCacheCreateInfo
diff --git a/src/Vulkan/Core10/PipelineLayout.hs b/src/Vulkan/Core10/PipelineLayout.hs
--- a/src/Vulkan/Core10/PipelineLayout.hs
+++ b/src/Vulkan/Core10/PipelineLayout.hs
@@ -105,6 +105,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.PipelineLayout',
 -- 'PipelineLayoutCreateInfo'
@@ -200,6 +201,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.PipelineLayout'
 destroyPipelineLayout :: forall io
@@ -231,6 +233,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'PipelineLayoutCreateInfo',
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags'
 data PushConstantRange = PushConstantRange
@@ -693,6 +696,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DescriptorSetLayout',
 -- 'Vulkan.Core10.Enums.PipelineLayoutCreateFlags.PipelineLayoutCreateFlags',
 -- 'PushConstantRange', 'Vulkan.Core10.Enums.StructureType.StructureType',
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
@@ -131,6 +131,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.QueryPool',
 -- 'QueryPoolCreateInfo'
@@ -198,6 +199,14 @@
 --     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' were
 --     provided when @queryPool@ was created, @pAllocator@ /must/ be @NULL@
 --
+-- Note
+--
+-- Applications /can/ verify that @queryPool@ /can/ be destroyed by
+-- checking that 'getQueryPoolResults'() without the
+-- 'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_PARTIAL_BIT' flag
+-- returns 'Vulkan.Core10.Enums.Result.SUCCESS' for all queries that are
+-- used in command buffers submitted for execution.
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkDestroyQueryPool-device-parameter# @device@ /must/ be a
@@ -221,6 +230,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.QueryPool'
 destroyQueryPool :: forall io
@@ -454,6 +464,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Handles.QueryPool',
@@ -545,6 +556,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlags',
 -- 'Vulkan.Core10.Enums.QueryPoolCreateFlags.QueryPoolCreateFlags',
 -- 'Vulkan.Core10.Enums.QueryType.QueryType',
diff --git a/src/Vulkan/Core10/Queue.hs b/src/Vulkan/Core10/Queue.hs
--- a/src/Vulkan/Core10/Queue.hs
+++ b/src/Vulkan/Core10/Queue.hs
@@ -138,6 +138,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Queue'
 getDeviceQueue :: forall io
                 . (MonadIO io)
@@ -390,6 +391,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Fence', 'Vulkan.Core10.Handles.Queue',
 -- 'SubmitInfo'
 queueSubmit :: forall io
@@ -488,6 +490,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Queue'
 queueWaitIdle :: forall io
                . (MonadIO io)
@@ -564,6 +567,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device'
 deviceWaitIdle :: forall io
                 . (MonadIO io)
@@ -755,6 +759,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlags',
 -- 'Vulkan.Core10.Handles.Semaphore',
diff --git a/src/Vulkan/Core10/QueueSemaphore.hs b/src/Vulkan/Core10/QueueSemaphore.hs
--- a/src/Vulkan/Core10/QueueSemaphore.hs
+++ b/src/Vulkan/Core10/QueueSemaphore.hs
@@ -110,6 +110,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Semaphore',
 -- 'SemaphoreCreateInfo'
@@ -200,6 +201,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Semaphore'
 destroySemaphore :: forall io
@@ -248,6 +250,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.SemaphoreCreateFlags.SemaphoreCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createSemaphore'
 data SemaphoreCreateInfo (es :: [Type]) = SemaphoreCreateInfo
diff --git a/src/Vulkan/Core10/Sampler.hs b/src/Vulkan/Core10/Sampler.hs
--- a/src/Vulkan/Core10/Sampler.hs
+++ b/src/Vulkan/Core10/Sampler.hs
@@ -77,6 +77,7 @@
 import Vulkan.Core10.Handles (Sampler)
 import Vulkan.Core10.Handles (Sampler(..))
 import Vulkan.Core10.Enums.SamplerAddressMode (SamplerAddressMode)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_border_color_swizzle (SamplerBorderColorComponentMappingCreateInfoEXT)
 import Vulkan.Core10.Enums.SamplerCreateFlagBits (SamplerCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_custom_border_color (SamplerCustomBorderColorCreateInfoEXT)
 import Vulkan.Core10.Enums.SamplerMipmapMode (SamplerMipmapMode)
@@ -140,6 +141,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Sampler',
 -- 'SamplerCreateInfo'
@@ -230,6 +232,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Sampler'
 destroySampler :: forall io
@@ -489,6 +492,7 @@
 -- -   #VUID-VkSamplerCreateInfo-pNext-pNext# Each @pNext@ member of any
 --     structure (including this one) in the @pNext@ chain /must/ be either
 --     @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Extensions.VK_EXT_border_color_swizzle.SamplerBorderColorComponentMappingCreateInfoEXT',
 --     'Vulkan.Extensions.VK_EXT_custom_border_color.SamplerCustomBorderColorCreateInfoEXT',
 --     'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo',
 --     or
@@ -526,6 +530,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.BorderColor.BorderColor',
 -- 'Vulkan.Core10.Enums.CompareOp.CompareOp',
@@ -553,18 +558,15 @@
     mipmapMode :: SamplerMipmapMode
   , -- | @addressModeU@ is a
     -- 'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' value
-    -- specifying the addressing mode for outside [0..1] range for U
-    -- coordinate.
+    -- specifying the addressing mode for U coordinates outside [0,1).
     addressModeU :: SamplerAddressMode
   , -- | @addressModeV@ is a
     -- 'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' value
-    -- specifying the addressing mode for outside [0..1] range for V
-    -- coordinate.
+    -- specifying the addressing mode for V coordinates outside [0,1).
     addressModeV :: SamplerAddressMode
   , -- | @addressModeW@ is a
     -- 'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' value
-    -- specifying the addressing mode for outside [0..1] range for W
-    -- coordinate.
+    -- specifying the addressing mode for W coordinates outside [0,1).
     addressModeW :: SamplerAddressMode
   , -- | #samplers-mipLodBias# @mipLodBias@ is the bias to be added to mipmap LOD
     -- (level-of-detail) calculation and bias provided by image sampling
@@ -646,6 +648,7 @@
   getNext SamplerCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends SamplerCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @SamplerBorderColorComponentMappingCreateInfoEXT = Just f
     | Just Refl <- eqT @e @SamplerCustomBorderColorCreateInfoEXT = Just f
     | Just Refl <- eqT @e @SamplerReductionModeCreateInfo = Just f
     | Just Refl <- eqT @e @SamplerYcbcrConversionInfo = Just f
diff --git a/src/Vulkan/Core10/Shader.hs b/src/Vulkan/Core10/Shader.hs
--- a/src/Vulkan/Core10/Shader.hs
+++ b/src/Vulkan/Core10/Shader.hs
@@ -5,8 +5,7 @@
                              , destroyShaderModule
                              , ShaderModuleCreateInfo(..)
                              , ShaderModule(..)
-                             , ShaderModuleCreateFlagBits(..)
-                             , ShaderModuleCreateFlags
+                             , ShaderModuleCreateFlags(..)
                              ) where
 
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -75,7 +74,7 @@
 import Vulkan.Core10.Enums.Result (Result(..))
 import Vulkan.Core10.Handles (ShaderModule)
 import Vulkan.Core10.Handles (ShaderModule(..))
-import Vulkan.Core10.Enums.ShaderModuleCreateFlagBits (ShaderModuleCreateFlags)
+import Vulkan.Core10.Enums.ShaderModuleCreateFlags (ShaderModuleCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_validation_cache (ShaderModuleValidationCacheCreateInfoEXT)
 import Vulkan.CStruct.Extends (SomeStruct)
 import Vulkan.Core10.Enums.StructureType (StructureType)
@@ -83,8 +82,7 @@
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO))
 import Vulkan.Core10.Enums.Result (Result(SUCCESS))
 import Vulkan.Core10.Handles (ShaderModule(..))
-import Vulkan.Core10.Enums.ShaderModuleCreateFlagBits (ShaderModuleCreateFlagBits(..))
-import Vulkan.Core10.Enums.ShaderModuleCreateFlagBits (ShaderModuleCreateFlags)
+import Vulkan.Core10.Enums.ShaderModuleCreateFlags (ShaderModuleCreateFlags(..))
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
   unsafe
@@ -135,6 +133,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.ShaderModule',
 -- 'ShaderModuleCreateInfo'
@@ -228,6 +227,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.ShaderModule'
 destroyShaderModule :: forall io
@@ -332,7 +332,8 @@
 --
 -- = See Also
 --
--- 'Vulkan.Core10.Enums.ShaderModuleCreateFlagBits.ShaderModuleCreateFlags',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
+-- 'Vulkan.Core10.Enums.ShaderModuleCreateFlags.ShaderModuleCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createShaderModule'
 data ShaderModuleCreateInfo (es :: [Type]) = ShaderModuleCreateInfo
   { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
diff --git a/src/Vulkan/Core10/SparseResourceMemoryManagement.hs b/src/Vulkan/Core10/SparseResourceMemoryManagement.hs
--- a/src/Vulkan/Core10/SparseResourceMemoryManagement.hs
+++ b/src/Vulkan/Core10/SparseResourceMemoryManagement.hs
@@ -184,6 +184,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image',
 -- 'SparseImageMemoryRequirements'
 getImageSparseMemoryRequirements :: forall io
@@ -297,6 +298,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.ImageTiling.ImageTiling',
 -- 'Vulkan.Core10.Enums.ImageType.ImageType',
@@ -470,6 +472,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BindSparseInfo', 'Vulkan.Core10.Handles.Fence',
 -- 'Vulkan.Core10.Handles.Queue'
 queueBindSparse :: forall io
@@ -501,6 +504,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D',
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',
 -- 'Vulkan.Core10.Enums.SparseImageFormatFlagBits.SparseImageFormatFlags',
@@ -565,6 +569,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'SparseImageFormatProperties',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2',
@@ -648,6 +653,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',
 -- 'SparseImageMemoryBind', 'Vulkan.Core10.Image.getImageSubresourceLayout'
 data ImageSubresource = ImageSubresource
@@ -796,6 +802,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'SparseBufferMemoryBindInfo', 'SparseImageOpaqueMemoryBindInfo',
@@ -946,6 +953,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D', 'ImageSubresource',
@@ -1035,6 +1043,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BindSparseInfo', 'Vulkan.Core10.Handles.Buffer', 'SparseMemoryBind'
 data SparseBufferMemoryBindInfo = SparseBufferMemoryBindInfo
   { -- | @buffer@ is the 'Vulkan.Core10.Handles.Buffer' object to be bound.
@@ -1110,6 +1119,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BindSparseInfo', 'Vulkan.Core10.Handles.Image', 'SparseMemoryBind'
 data SparseImageOpaqueMemoryBindInfo = SparseImageOpaqueMemoryBindInfo
   { -- | @image@ is the 'Vulkan.Core10.Handles.Image' object to be bound.
@@ -1187,6 +1197,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'BindSparseInfo', 'Vulkan.Core10.Handles.Image', 'SparseImageMemoryBind'
 data SparseImageMemoryBindInfo = SparseImageMemoryBindInfo
   { -- | @image@ is the 'Vulkan.Core10.Handles.Image' object to be bound
@@ -1337,6 +1348,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_0 VK_VERSION_1_0>,
 -- 'Vulkan.Core10.Handles.Semaphore', 'SparseBufferMemoryBindInfo',
 -- 'SparseImageMemoryBindInfo', 'SparseImageOpaqueMemoryBindInfo',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'queueBindSparse'
diff --git a/src/Vulkan/Core11/DeviceInitialization.hs b/src/Vulkan/Core11/DeviceInitialization.hs
--- a/src/Vulkan/Core11/DeviceInitialization.hs
+++ b/src/Vulkan/Core11/DeviceInitialization.hs
@@ -63,7 +63,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>
 enumerateInstanceVersion :: forall io
                           . (MonadIO io)
                          => io (("apiVersion" ::: Word32))
diff --git a/src/Vulkan/Core11/Enums/ChromaLocation.hs b/src/Vulkan/Core11/Enums/ChromaLocation.hs
--- a/src/Vulkan/Core11/Enums/ChromaLocation.hs
+++ b/src/Vulkan/Core11/Enums/ChromaLocation.hs
@@ -18,7 +18,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
 newtype ChromaLocation = ChromaLocation Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs b/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs
--- a/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs
+++ b/src/Vulkan/Core11/Enums/CommandPoolTrimFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance1.trimCommandPool',
 -- 'Vulkan.Extensions.VK_KHR_maintenance1.trimCommandPoolKHR'
 newtype CommandPoolTrimFlags = CommandPoolTrimFlags Flags
diff --git a/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs b/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs
--- a/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs
+++ b/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateCreateFlags.hs
@@ -22,6 +22,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo'
 newtype DescriptorUpdateTemplateCreateFlags = DescriptorUpdateTemplateCreateFlags Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateType.hs b/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateType.hs
--- a/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateType.hs
+++ b/src/Vulkan/Core11/Enums/DescriptorUpdateTemplateType.hs
@@ -19,6 +19,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo'
 newtype DescriptorUpdateTemplateType = DescriptorUpdateTemplateType Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalFenceFeatureFlagBits.hs
@@ -25,6 +25,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalFenceFeatureFlags'
 newtype ExternalFenceFeatureFlagBits = ExternalFenceFeatureFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalFenceHandleTypeFlagBits.hs
@@ -47,6 +47,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalFenceHandleTypeFlags',
 -- 'Vulkan.Extensions.VK_KHR_external_fence_fd.FenceGetFdInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_external_fence_win32.FenceGetWin32HandleInfoKHR',
diff --git a/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalMemoryFeatureFlagBits.hs
@@ -44,6 +44,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalMemoryFeatureFlags'
 newtype ExternalMemoryFeatureFlagBits = ExternalMemoryFeatureFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalMemoryHandleTypeFlagBits.hs
@@ -95,6 +95,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalMemoryHandleTypeFlags',
 -- 'Vulkan.Extensions.VK_KHR_external_memory_fd.ImportMemoryFdInfoKHR',
 -- 'Vulkan.Extensions.VK_EXT_external_memory_host.ImportMemoryHostPointerInfoEXT',
diff --git a/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalSemaphoreFeatureFlagBits.hs
@@ -25,6 +25,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalSemaphoreFeatureFlags'
 newtype ExternalSemaphoreFeatureFlagBits = ExternalSemaphoreFeatureFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs b/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs
--- a/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/ExternalSemaphoreHandleTypeFlagBits.hs
@@ -68,6 +68,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalSemaphoreHandleTypeFlags',
 -- 'Vulkan.Extensions.VK_KHR_external_semaphore_fd.ImportSemaphoreFdInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_external_semaphore_win32.ImportSemaphoreWin32HandleInfoKHR',
diff --git a/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs b/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs
--- a/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/FenceImportFlagBits.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'FenceImportFlags'
 newtype FenceImportFlagBits = FenceImportFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs b/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs
--- a/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/MemoryAllocateFlagBits.hs
@@ -26,6 +26,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'MemoryAllocateFlags'
 newtype MemoryAllocateFlagBits = MemoryAllocateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/PeerMemoryFeatureFlagBits.hs
@@ -34,7 +34,7 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transitions>.
 --
 -- 'PEER_MEMORY_FEATURE_COPY_DST_BIT' /must/ be supported for all host
--- local heaps and for at least one device local heap.
+-- local heaps and for at least one device-local memory heap.
 --
 -- If a device does not support a peer memory feature, it is still valid to
 -- use a resource that includes both local and peer memory bindings with
@@ -46,6 +46,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'PeerMemoryFeatureFlags'
 newtype PeerMemoryFeatureFlagBits = PeerMemoryFeatureFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/PointClippingBehavior.hs b/src/Vulkan/Core11/Enums/PointClippingBehavior.hs
--- a/src/Vulkan/Core11/Enums/PointClippingBehavior.hs
+++ b/src/Vulkan/Core11/Enums/PointClippingBehavior.hs
@@ -18,6 +18,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PhysicalDevicePointClippingProperties',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties'
 newtype PointClippingBehavior = PointClippingBehavior Int32
diff --git a/src/Vulkan/Core11/Enums/SamplerYcbcrModelConversion.hs b/src/Vulkan/Core11/Enums/SamplerYcbcrModelConversion.hs
--- a/src/Vulkan/Core11/Enums/SamplerYcbcrModelConversion.hs
+++ b/src/Vulkan/Core11/Enums/SamplerYcbcrModelConversion.hs
@@ -45,26 +45,26 @@
 -- In the @VK_SAMPLER_YCBCR_MODEL_CONVERSION_YCBCR_*@ color models, for the
 -- input to the sampler Y′CBCR range expansion and model conversion:
 --
--- -   the Y (Y′ luma) channel corresponds to the G channel of an RGB
+-- -   the Y (Y′ luma) component corresponds to the G component of an RGB
 --     image.
 --
--- -   the CB (CB or “U” blue color difference) channel corresponds to the
---     B channel of an RGB image.
+-- -   the CB (CB or “U” blue color difference) component corresponds to
+--     the B component of an RGB image.
 --
--- -   the CR (CR or “V” red color difference) channel corresponds to the R
---     channel of an RGB image.
+-- -   the CR (CR or “V” red color difference) component corresponds to the
+--     R component of an RGB image.
 --
--- -   the alpha channel, if present, is not modified by color model
+-- -   the alpha component, if present, is not modified by color model
 --     conversion.
 --
--- These rules reflect the mapping of channels after the channel swizzle
--- operation (controlled by
+-- These rules reflect the mapping of components after the component
+-- swizzle operation (controlled by
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'::@components@).
 --
 -- Note
 --
--- For example, an “YUVA” 32-bit format comprising four 8-bit channels can
--- be implemented as 'Vulkan.Core10.Enums.Format.FORMAT_R8G8B8A8_UNORM'
+-- For example, an “YUVA” 32-bit format comprising four 8-bit components
+-- can be implemented as 'Vulkan.Core10.Enums.Format.FORMAT_R8G8B8A8_UNORM'
 -- with a component mapping:
 --
 -- -   @components.a@ =
@@ -81,7 +81,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
 newtype SamplerYcbcrModelConversion = SamplerYcbcrModelConversion Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core11/Enums/SamplerYcbcrRange.hs b/src/Vulkan/Core11/Enums/SamplerYcbcrRange.hs
--- a/src/Vulkan/Core11/Enums/SamplerYcbcrRange.hs
+++ b/src/Vulkan/Core11/Enums/SamplerYcbcrRange.hs
@@ -32,7 +32,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
+-- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatProperties2ANDROID',
 -- 'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.AndroidHardwareBufferFormatPropertiesANDROID',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionPropertiesFUCHSIA',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
 newtype SamplerYcbcrRange = SamplerYcbcrRange Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs b/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs
--- a/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/SemaphoreImportFlagBits.hs
@@ -28,6 +28,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'SemaphoreImportFlags'
 newtype SemaphoreImportFlagBits = SemaphoreImportFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs b/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs
--- a/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs
+++ b/src/Vulkan/Core11/Enums/SubgroupFeatureFlagBits.hs
@@ -32,6 +32,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'SubgroupFeatureFlags'
 newtype SubgroupFeatureFlagBits = SubgroupFeatureFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core11/Enums/TessellationDomainOrigin.hs b/src/Vulkan/Core11/Enums/TessellationDomainOrigin.hs
--- a/src/Vulkan/Core11/Enums/TessellationDomainOrigin.hs
+++ b/src/Vulkan/Core11/Enums/TessellationDomainOrigin.hs
@@ -24,6 +24,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo'
 newtype TessellationDomainOrigin = TessellationDomainOrigin Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core11/Handles.hs b/src/Vulkan/Core11/Handles.hs
--- a/src/Vulkan/Core11/Handles.hs
+++ b/src/Vulkan/Core11/Handles.hs
@@ -44,6 +44,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetWithTemplateKHR',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.createDescriptorUpdateTemplate',
 -- 'Vulkan.Extensions.VK_KHR_descriptor_update_template.createDescriptorUpdateTemplateKHR',
@@ -65,6 +66,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.createSamplerYcbcrConversion',
 -- 'Vulkan.Extensions.VK_KHR_sampler_ycbcr_conversion.createSamplerYcbcrConversionKHR',
diff --git a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs
--- a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs
+++ b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs
@@ -94,6 +94,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Device', 'DeviceQueueInfo2',
 -- 'Vulkan.Core10.Handles.Queue'
 getDeviceQueue2 :: forall io
@@ -139,6 +140,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ProtectedSubmitInfo = ProtectedSubmitInfo
@@ -210,6 +212,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceProtectedMemoryFeatures = PhysicalDeviceProtectedMemoryFeatures
@@ -271,6 +274,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceProtectedMemoryProperties = PhysicalDeviceProtectedMemoryProperties
@@ -333,6 +337,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'getDeviceQueue2'
 data DeviceQueueInfo2 = DeviceQueueInfo2
diff --git a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs
--- a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs
+++ b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_subgroup.hs
@@ -56,6 +56,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_16bit_storage.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_16bit_storage.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_16bit_storage.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_16bit_storage.hs
@@ -49,6 +49,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevice16BitStorageFeatures = PhysicalDevice16BitStorageFeatures
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_bind_memory2.hs
@@ -107,6 +107,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'BindBufferMemoryInfo', 'Vulkan.Core10.Handles.Device'
 bindBufferMemory2 :: forall io
                    . (MonadIO io)
@@ -185,6 +186,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'BindImageMemoryInfo', 'Vulkan.Core10.Handles.Device'
 bindImageMemory2 :: forall io
                   . (MonadIO io)
@@ -316,6 +318,14 @@
 --     'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT'
 --     bit set
 --
+-- -   #VUID-VkBindBufferMemoryInfo-buffer-06408# If @buffer@ was created
+--     with
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA'
+--     chained to 'Vulkan.Core10.Buffer.BufferCreateInfo'::@pNext@,
+--     @memory@ /must/ be allocated with a
+--     'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA'
+--     chained to 'Vulkan.Core10.Memory.MemoryAllocateInfo'::@pNext@
+--
 -- -   #VUID-VkBindBufferMemoryInfo-pNext-01605# If the @pNext@ chain
 --     includes a
 --     'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo'
@@ -347,6 +357,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'bindBufferMemory2',
@@ -684,6 +695,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Handles.Image',
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_dedicated_allocation.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_dedicated_allocation.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_dedicated_allocation.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_dedicated_allocation.hs
@@ -105,6 +105,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data MemoryDedicatedRequirements = MemoryDedicatedRequirements
@@ -290,6 +291,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data MemoryDedicatedAllocateInfo = MemoryDedicatedAllocateInfo
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_descriptor_update_template.hs
@@ -127,6 +127,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core11.Handles.DescriptorUpdateTemplate',
 -- 'DescriptorUpdateTemplateCreateInfo', 'Vulkan.Core10.Handles.Device'
@@ -224,6 +225,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core11.Handles.DescriptorUpdateTemplate',
 -- 'Vulkan.Core10.Handles.Device'
@@ -370,6 +372,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.DescriptorSet',
 -- 'Vulkan.Core11.Handles.DescriptorUpdateTemplate',
 -- 'Vulkan.Core10.Handles.Device'
@@ -437,6 +440,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',
 -- 'DescriptorUpdateTemplateCreateInfo'
 data DescriptorUpdateTemplateEntry = DescriptorUpdateTemplateEntry
@@ -604,6 +608,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.DescriptorSetLayout',
 -- 'Vulkan.Core11.Enums.DescriptorUpdateTemplateCreateFlags.DescriptorUpdateTemplateCreateFlags',
 -- 'DescriptorUpdateTemplateEntry',
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group.hs
@@ -102,6 +102,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core11.Enums.PeerMemoryFeatureFlagBits.PeerMemoryFeatureFlags'
 getDeviceGroupPeerMemoryFeatures :: forall io
@@ -218,6 +219,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetDeviceMask :: forall io
                   . (MonadIO io)
@@ -324,6 +326,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDispatchBase-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDispatchBase-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDispatchBase-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -333,7 +351,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDispatchBase-None-02698# For each push constant that is
+-- -   #VUID-vkCmdDispatchBase-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -431,28 +451,28 @@
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDispatchBase-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -561,6 +581,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdDispatchBase :: forall io
                  . (MonadIO io)
@@ -649,6 +670,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MemoryAllocateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data MemoryAllocateFlagsInfo = MemoryAllocateFlagsInfo
@@ -764,6 +786,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceGroupRenderPassBeginInfo = DeviceGroupRenderPassBeginInfo
@@ -830,6 +853,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceGroupCommandBufferBeginInfo = DeviceGroupCommandBufferBeginInfo
   { -- | @deviceMask@ is the initial value of the command buffer’s device mask.
@@ -929,6 +953,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceGroupSubmitInfo = DeviceGroupSubmitInfo
   { -- | @pWaitSemaphoreDeviceIndices@ is a pointer to an array of
@@ -1030,6 +1055,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceGroupBindSparseInfo = DeviceGroupBindSparseInfo
   { -- | @resourceDeviceIndex@ is a device index indicating which instance of the
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.hs
@@ -88,6 +88,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BindBufferMemoryDeviceGroupInfo = BindBufferMemoryDeviceGroupInfo
   { -- | @pDeviceIndices@ is a pointer to an array of device indices.
@@ -234,6 +235,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BindImageMemoryDeviceGroupInfo = BindImageMemoryDeviceGroupInfo
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group_creation.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group_creation.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group_creation.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_device_group_creation.hs
@@ -133,6 +133,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Instance', 'PhysicalDeviceGroupProperties'
 enumeratePhysicalDeviceGroups :: forall io
                                . (MonadIO io)
@@ -166,6 +167,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -283,6 +285,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceGroupDeviceCreateInfo = DeviceGroupDeviceCreateInfo
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence.hs
@@ -49,6 +49,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportFenceCreateInfo = ExportFenceCreateInfo
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence_capabilities.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence_capabilities.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence_capabilities.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_fence_capabilities.hs
@@ -67,6 +67,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalFenceProperties', 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceExternalFenceInfo'
 getPhysicalDeviceExternalFenceProperties :: forall io
@@ -119,6 +120,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceExternalFenceProperties',
@@ -184,6 +186,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalFenceFeatureFlagBits.ExternalFenceFeatureFlags',
 -- 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs
@@ -49,6 +49,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalMemoryImageCreateInfo = ExternalMemoryImageCreateInfo
@@ -113,6 +114,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalMemoryBufferCreateInfo = ExternalMemoryBufferCreateInfo
@@ -185,6 +187,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportMemoryAllocateInfo = ExportMemoryAllocateInfo
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory_capabilities.hs
@@ -91,6 +91,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalBufferProperties', 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceExternalBufferInfo'
 getPhysicalDeviceExternalBufferProperties :: forall io
@@ -140,6 +141,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalBufferProperties', 'ExternalImageFormatProperties',
 -- 'Vulkan.Core11.Enums.ExternalMemoryFeatureFlagBits.ExternalMemoryFeatureFlags',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlags'
@@ -230,6 +232,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceExternalImageFormatInfo = PhysicalDeviceExternalImageFormatInfo
@@ -282,6 +285,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalMemoryProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalImageFormatProperties = ExternalImageFormatProperties
@@ -334,6 +338,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlags',
 -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlags',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
@@ -425,6 +430,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalMemoryProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceExternalBufferProperties',
@@ -594,6 +600,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceIDProperties = PhysicalDeviceIDProperties
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore.hs
@@ -49,6 +49,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportSemaphoreCreateInfo = ExportSemaphoreCreateInfo
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore_capabilities.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore_capabilities.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore_capabilities.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_semaphore_capabilities.hs
@@ -81,6 +81,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ExternalSemaphoreProperties', 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceExternalSemaphoreInfo'
 getPhysicalDeviceExternalSemaphoreProperties :: forall a io
@@ -137,6 +138,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceExternalSemaphoreProperties',
@@ -209,6 +211,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreFeatureFlagBits.ExternalSemaphoreFeatureFlags',
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs
@@ -93,6 +93,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'BufferMemoryRequirementsInfo2', 'Vulkan.Core10.Handles.Device',
 -- 'MemoryRequirements2'
 getBufferMemoryRequirements2 :: forall a io
@@ -135,6 +136,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Device', 'ImageMemoryRequirementsInfo2',
 -- 'MemoryRequirements2'
 getImageMemoryRequirements2 :: forall a b io
@@ -195,6 +197,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Device', 'ImageSparseMemoryRequirementsInfo2',
 -- 'SparseImageMemoryRequirements2'
 getImageSparseMemoryRequirements2 :: forall io
@@ -229,6 +232,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getBufferMemoryRequirements2',
@@ -337,6 +341,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getImageMemoryRequirements2',
@@ -399,6 +404,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getImageSparseMemoryRequirements2',
@@ -463,11 +469,14 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.MemoryManagement.MemoryRequirements',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoGetMemoryPropertiesKHR VkVideoGetMemoryPropertiesKHR>,
 -- 'getBufferMemoryRequirements2',
 -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getBufferMemoryRequirements2KHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.getDeviceBufferMemoryRequirementsKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.getDeviceImageMemoryRequirementsKHR',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.getGeneratedCommandsMemoryRequirementsNV',
 -- 'getImageMemoryRequirements2',
 -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getImageMemoryRequirements2KHR'
@@ -531,8 +540,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'Vulkan.Extensions.VK_KHR_maintenance4.getDeviceImageSparseMemoryRequirementsKHR',
 -- 'getImageSparseMemoryRequirements2',
 -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getImageSparseMemoryRequirements2KHR'
 data SparseImageMemoryRequirements2 = SparseImageMemoryRequirements2
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
@@ -62,6 +62,7 @@
 import Vulkan.NamedType ((:::))
 import {-# SOURCE #-} Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer (AndroidHardwareBufferUsageANDROID)
 import Vulkan.CStruct.Extends (Chain)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (DrmFormatModifierPropertiesList2EXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_drm_format_modifier (DrmFormatModifierPropertiesListEXT)
 import Vulkan.CStruct.Extends (Extends)
 import Vulkan.CStruct.Extends (Extendss)
@@ -71,6 +72,7 @@
 import Vulkan.Core10.Enums.Format (Format)
 import Vulkan.Core10.Enums.Format (Format(..))
 import Vulkan.Core10.DeviceInitialization (FormatProperties)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_format_feature_flags2 (FormatProperties3KHR)
 import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_image_format_list (ImageFormatListCreateInfo)
 import Vulkan.Core10.DeviceInitialization (ImageFormatProperties)
@@ -97,6 +99,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_acceleration_structure (PhysicalDeviceAccelerationStructurePropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_blend_operation_advanced (PhysicalDeviceBlendOperationAdvancedFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_blend_operation_advanced (PhysicalDeviceBlendOperationAdvancedPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_border_color_swizzle (PhysicalDeviceBorderColorSwizzleFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (PhysicalDeviceBufferDeviceAddressFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_buffer_device_address (PhysicalDeviceBufferDeviceAddressFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_device_coherent_memory (PhysicalDeviceCoherentMemoryFeaturesAMD)
@@ -155,6 +158,8 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (PhysicalDeviceMaintenance3Properties)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (PhysicalDeviceMaintenance4FeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (PhysicalDeviceMaintenance4PropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT)
 import Vulkan.Core10.DeviceInitialization (PhysicalDeviceMemoryProperties)
@@ -167,6 +172,7 @@
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_multiview (PhysicalDeviceMultiviewProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_VALVE_mutable_descriptor_type (PhysicalDeviceMutableDescriptorTypeFeaturesVALVE)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pci_bus_info (PhysicalDevicePCIBusInfoPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pageable_device_local_memory (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeaturesEXT)
@@ -176,6 +182,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_portability_subset (PhysicalDevicePortabilitySubsetPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_present_id (PhysicalDevicePresentIdFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_present_wait (PhysicalDevicePresentWaitFeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_primitive_topology_list_restart (PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_private_data (PhysicalDevicePrivateDataFeaturesEXT)
 import Vulkan.Core10.DeviceInitialization (PhysicalDeviceProperties)
 import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (PhysicalDeviceProtectedMemoryFeatures)
@@ -183,6 +190,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PhysicalDeviceProvokingVertexFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PhysicalDeviceProvokingVertexPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_push_descriptor (PhysicalDevicePushDescriptorPropertiesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_rgba10x6_formats (PhysicalDeviceRGBA10X6FormatsFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_query (PhysicalDeviceRayQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (PhysicalDeviceRayTracingMotionBlurFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (PhysicalDeviceRayTracingPipelineFeaturesKHR)
@@ -207,6 +215,8 @@
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsPropertiesNV)
@@ -218,6 +228,8 @@
 import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup (PhysicalDeviceSubgroupProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_subgroup_size_control (PhysicalDeviceSubgroupSizeControlFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_subgroup_size_control (PhysicalDeviceSubgroupSizeControlPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_subpass_shading (PhysicalDeviceSubpassShadingFeaturesHUAWEI)
+import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_subpass_shading (PhysicalDeviceSubpassShadingPropertiesHUAWEI)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_synchronization2 (PhysicalDeviceSynchronization2FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_texel_buffer_alignment (PhysicalDeviceTexelBufferAlignmentFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_texel_buffer_alignment (PhysicalDeviceTexelBufferAlignmentPropertiesEXT)
@@ -287,6 +299,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PhysicalDeviceFeatures2'
 getPhysicalDeviceFeatures2 :: forall a io
                             . (Extendss PhysicalDeviceFeatures2 a, PokeChain a, PeekChain a, MonadIO io)
@@ -329,6 +342,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PhysicalDeviceProperties2'
 getPhysicalDeviceProperties2 :: forall a io
                               . (Extendss PhysicalDeviceProperties2 a, PokeChain a, PeekChain a, MonadIO io)
@@ -372,6 +386,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.Format.Format', 'FormatProperties2',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceFormatProperties2 :: forall a io
@@ -457,6 +472,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'ImageFormatProperties2', 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceImageFormatInfo2'
 getPhysicalDeviceImageFormatProperties2 :: forall a b io
@@ -517,6 +533,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'QueueFamilyProperties2'
 getPhysicalDeviceQueueFamilyProperties2 :: forall a io
                                          . (Extendss QueueFamilyProperties2 a, PokeChain a, PeekChain a, MonadIO io)
@@ -562,6 +579,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceMemoryProperties2'
 getPhysicalDeviceMemoryProperties2 :: forall a io
@@ -622,6 +640,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceSparseImageFormatInfo2', 'SparseImageFormatProperties2'
 getPhysicalDeviceSparseImageFormatProperties2 :: forall io
@@ -667,6 +686,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceFeatures',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceFeatures2',
@@ -691,7 +711,9 @@
   getNext PhysicalDeviceFeatures2{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @PhysicalDeviceRGBA10X6FormatsFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRayTracingMotionBlurFeaturesNV = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerDotProductFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceProvokingVertexFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceInheritedViewportScissorFeaturesNV = Just f
@@ -704,6 +726,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceShaderTerminateInvocationFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceSubpassShadingFeaturesHUAWEI = Just f
     | Just Refl <- eqT @e @PhysicalDevice4444FormatsFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDevicePortabilitySubsetFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = Just f
@@ -714,6 +737,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceDiagnosticsConfigFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExtendedDynamicState2FeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExtendedDynamicStateFeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceBorderColorSwizzleFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCustomBorderColorFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCoherentMemoryFeaturesAMD = Just f
     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f
@@ -724,6 +748,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceTexelBufferAlignmentFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDevicePipelineExecutablePropertiesFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSeparateDepthStencilLayoutsFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderInterlockFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderSMBuiltinsFeaturesNV = Just f
@@ -738,6 +763,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceImagelessFramebufferFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceBufferDeviceAddressFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceBufferDeviceAddressFeatures = Just f
+    | Just Refl <- eqT @e @PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMemoryPriorityFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceDepthClipEnableFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceUniformBufferStandardLayoutFeatures = Just f
@@ -773,6 +799,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceHostQueryResetFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderFloat16Int8Features = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderDrawParametersFeatures = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceMaintenance4FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceInlineUniformBlockFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMultiDrawFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceBlendOperationAdvancedFeaturesEXT = Just f
@@ -856,6 +883,7 @@
 --     'Vulkan.Extensions.VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockPropertiesEXT',
 --     'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT',
 --     'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',
+--     'Vulkan.Extensions.VK_KHR_maintenance4.PhysicalDeviceMaintenance4PropertiesKHR',
 --     'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV',
 --     'Vulkan.Extensions.VK_EXT_multi_draw.PhysicalDeviceMultiDrawPropertiesEXT',
 --     'Vulkan.Extensions.VK_NVX_multiview_per_view_attributes.PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX',
@@ -874,11 +902,12 @@
 --     'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.PhysicalDeviceSamplerFilterMinmaxProperties',
 --     'Vulkan.Extensions.VK_AMD_shader_core_properties2.PhysicalDeviceShaderCoreProperties2AMD',
 --     'Vulkan.Extensions.VK_AMD_shader_core_properties.PhysicalDeviceShaderCorePropertiesAMD',
+--     'Vulkan.Extensions.VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductPropertiesKHR',
 --     'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV',
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PhysicalDeviceShadingRateImagePropertiesNV',
 --     'Vulkan.Core11.Originally_Based_On_VK_KHR_subgroup.PhysicalDeviceSubgroupProperties',
 --     'Vulkan.Extensions.VK_EXT_subgroup_size_control.PhysicalDeviceSubgroupSizeControlPropertiesEXT',
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceSubpassShadingPropertiesHUAWEI VkPhysicalDeviceSubpassShadingPropertiesHUAWEI>,
+--     'Vulkan.Extensions.VK_HUAWEI_subpass_shading.PhysicalDeviceSubpassShadingPropertiesHUAWEI',
 --     'Vulkan.Extensions.VK_EXT_texel_buffer_alignment.PhysicalDeviceTexelBufferAlignmentPropertiesEXT',
 --     'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.PhysicalDeviceTimelineSemaphoreProperties',
 --     'Vulkan.Extensions.VK_EXT_transform_feedback.PhysicalDeviceTransformFeedbackPropertiesEXT',
@@ -891,6 +920,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceProperties2',
@@ -918,6 +948,7 @@
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceProperties2 e => b) -> Maybe b
   extends _ f
     | Just Refl <- eqT @e @PhysicalDeviceDrmPropertiesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerDotProductPropertiesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceProvokingVertexPropertiesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRateEnumsPropertiesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShadingRatePropertiesKHR = Just f
@@ -927,6 +958,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Properties = Just f
     | Just Refl <- eqT @e @PhysicalDeviceVulkan11Properties = Just f
     | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationPropertiesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceSubpassShadingPropertiesHUAWEI = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSubgroupSizeControlPropertiesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceTexelBufferAlignmentPropertiesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderSMBuiltinsPropertiesNV = Just f
@@ -950,6 +982,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceConservativeRasterizationPropertiesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExternalMemoryHostPropertiesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFloatControlsProperties = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceMaintenance4PropertiesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance3Properties = Just f
     | Just Refl <- eqT @e @PhysicalDeviceInlineUniformBlockPropertiesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceBlendOperationAdvancedPropertiesEXT = Just f
@@ -1009,7 +1042,9 @@
 -- -   #VUID-VkFormatProperties2-pNext-pNext# Each @pNext@ member of any
 --     structure (including this one) in the @pNext@ chain /must/ be either
 --     @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesList2EXT',
 --     'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesListEXT',
+--     'Vulkan.Extensions.VK_KHR_format_feature_flags2.FormatProperties3KHR',
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileKHR VkVideoProfileKHR>,
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfilesKHR VkVideoProfilesKHR>
@@ -1019,6 +1054,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.DeviceInitialization.FormatProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceFormatProperties2',
@@ -1043,6 +1079,8 @@
   getNext FormatProperties2{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends FormatProperties2 e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @DrmFormatModifierPropertiesList2EXT = Just f
+    | Just Refl <- eqT @e @FormatProperties3KHR = Just f
     | Just Refl <- eqT @e @DrmFormatModifierPropertiesListEXT = Just f
     | otherwise = Nothing
 
@@ -1116,6 +1154,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceImageFormatProperties2',
@@ -1249,6 +1288,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlags',
 -- 'Vulkan.Core10.Enums.ImageTiling.ImageTiling',
@@ -1373,6 +1413,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.DeviceInitialization.QueueFamilyProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceQueueFamilyProperties2',
@@ -1452,6 +1493,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceMemoryProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceMemoryProperties2',
@@ -1518,6 +1560,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageFormatProperties',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceSparseImageFormatProperties2',
@@ -1573,6 +1616,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.ImageTiling.ImageTiling',
 -- 'Vulkan.Core10.Enums.ImageType.ImageType',
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance1.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance1.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance1.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance1.hs
@@ -102,6 +102,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.CommandPool',
 -- 'Vulkan.Core11.Enums.CommandPoolTrimFlags.CommandPoolTrimFlags',
 -- 'Vulkan.Core10.Handles.Device'
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance2.hs
@@ -69,6 +69,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',
 -- 'RenderPassInputAttachmentAspectCreateInfo'
 data InputAttachmentAspectReference = InputAttachmentAspectReference
@@ -87,7 +88,7 @@
     --
     -- #VUID-VkInputAttachmentAspectReference-aspectMask-02250# @aspectMask@
     -- /must/ not include @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any
-    -- index @i@
+    -- index /i/
     --
     -- #VUID-VkInputAttachmentAspectReference-aspectMask-parameter#
     -- @aspectMask@ /must/ be a valid combination of
@@ -157,6 +158,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'InputAttachmentAspectReference',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data RenderPassInputAttachmentAspectCreateInfo = RenderPassInputAttachmentAspectCreateInfo
@@ -222,6 +224,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePointClippingProperties = PhysicalDevicePointClippingProperties
@@ -281,6 +284,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImageViewUsageCreateInfo = ImageViewUsageCreateInfo
@@ -349,6 +353,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Core11.Enums.TessellationDomainOrigin.TessellationDomainOrigin'
 data PipelineTessellationDomainOriginStateCreateInfo = PipelineTessellationDomainOriginStateCreateInfo
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance3.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance3.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance3.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_maintenance3.hs
@@ -106,6 +106,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo',
 -- 'DescriptorSetLayoutSupport', 'Vulkan.Core10.Handles.Device'
 getDescriptorSetLayoutSupport :: forall a b io
@@ -154,6 +155,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMaintenance3Properties = PhysicalDeviceMaintenance3Properties
@@ -234,6 +236,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getDescriptorSetLayoutSupport',
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_multiview.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_multiview.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_multiview.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_multiview.hs
@@ -107,6 +107,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMultiviewFeatures = PhysicalDeviceMultiviewFeatures
@@ -180,6 +181,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMultiviewProperties = PhysicalDeviceMultiviewProperties
   { -- | #extension-limits-maxMultiviewViewCount# @maxMultiviewViewCount@ is one
@@ -348,6 +350,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data RenderPassMultiviewCreateInfo = RenderPassMultiviewCreateInfo
   { -- | @pViewMasks@ is a pointer to an array of @subpassCount@ view masks,
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
@@ -170,6 +170,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core11.Handles.SamplerYcbcrConversion',
@@ -250,6 +251,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core11.Handles.SamplerYcbcrConversion'
@@ -283,6 +285,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core11.Handles.SamplerYcbcrConversion',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SamplerYcbcrConversionInfo = SamplerYcbcrConversionInfo
@@ -381,7 +384,7 @@
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT',
 --     @xChromaOffset@ and @yChromaOffset@ /must/ not be
 --     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN' if
---     the corresponding channels are
+--     the corresponding components are
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction downsampled>
 --
 -- -   #VUID-VkSamplerYcbcrConversionCreateInfo-xChromaOffset-01652# If the
@@ -390,7 +393,7 @@
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT',
 --     @xChromaOffset@ and @yChromaOffset@ /must/ not be
 --     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT' if the
---     corresponding channels are
+--     corresponding components are
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction downsampled>
 --
 -- -   #VUID-VkSamplerYcbcrConversionCreateInfo-components-02581# If the
@@ -427,18 +430,18 @@
 --     @ycbcrModel@ is not
 --     'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SAMPLER_YCBCR_MODEL_CONVERSION_RGB_IDENTITY',
 --     then @components.r@, @components.g@, and @components.b@ /must/
---     correspond to channels of the @format@; that is, @components.r@,
+--     correspond to components of the @format@; that is, @components.r@,
 --     @components.g@, and @components.b@ /must/ not be
 --     'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_ZERO' or
 --     'Vulkan.Core10.Enums.ComponentSwizzle.COMPONENT_SWIZZLE_ONE', and
---     /must/ not correspond to a channel which contains zero or one as a
+--     /must/ not correspond to a component which contains zero or one as a
 --     consequence of
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-conversion-to-rgba conversion to RGBA>
 --
 -- -   #VUID-VkSamplerYcbcrConversionCreateInfo-ycbcrRange-02748# If
 --     @ycbcrRange@ is
 --     'Vulkan.Core11.Enums.SamplerYcbcrRange.SAMPLER_YCBCR_RANGE_ITU_NARROW'
---     then the R, G and B channels obtained by applying the @component@
+--     then the R, G and B components obtained by applying the @component@
 --     swizzle to @format@ /must/ each have a bit-depth greater than or
 --     equal to 8
 --
@@ -499,7 +502,7 @@
 --     value
 --
 -- If @chromaFilter@ is 'Vulkan.Core10.Enums.Filter.FILTER_NEAREST', chroma
--- samples are reconstructed to luma channel resolution using
+-- samples are reconstructed to luma component resolution using
 -- nearest-neighbour sampling. Otherwise, chroma samples are reconstructed
 -- using interpolation. More details can be found in
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-sampler-YCbCr-conversion the description of sampler Y′CBCR conversion>
@@ -509,6 +512,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation',
 -- 'Vulkan.Core10.ImageView.ComponentMapping',
@@ -537,14 +541,14 @@
     components :: ComponentMapping
   , -- | @xChromaOffset@ describes the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction sample location>
-    -- associated with downsampled chroma channels in the x dimension.
-    -- @xChromaOffset@ has no effect for formats in which chroma channels are
+    -- associated with downsampled chroma components in the x dimension.
+    -- @xChromaOffset@ has no effect for formats in which chroma components are
     -- not downsampled horizontally.
     xChromaOffset :: ChromaLocation
   , -- | @yChromaOffset@ describes the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction sample location>
-    -- associated with downsampled chroma channels in the y dimension.
-    -- @yChromaOffset@ has no effect for formats in which the chroma channels
+    -- associated with downsampled chroma components in the y dimension.
+    -- @yChromaOffset@ has no effect for formats in which the chroma components
     -- are not downsampled vertically.
     yChromaOffset :: ChromaLocation
   , -- | @chromaFilter@ is the filter for chroma reconstruction.
@@ -667,6 +671,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BindImagePlaneMemoryInfo = BindImagePlaneMemoryInfo
@@ -754,6 +759,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImagePlaneMemoryRequirementsInfo = ImagePlaneMemoryRequirementsInfo
@@ -822,6 +828,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_sampler_ycbcr_conversion VK_KHR_sampler_ycbcr_conversion>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceSamplerYcbcrConversionFeatures = PhysicalDeviceSamplerYcbcrConversionFeatures
@@ -877,6 +885,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SamplerYcbcrConversionImageFormatProperties = SamplerYcbcrConversionImageFormatProperties
   { -- | @combinedImageSamplerDescriptorCount@ is the number of combined image
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_shader_draw_parameters.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_shader_draw_parameters.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_shader_draw_parameters.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_shader_draw_parameters.hs
@@ -56,6 +56,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderDrawParametersFeatures = PhysicalDeviceShaderDrawParametersFeatures
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_variable_pointers.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_variable_pointers.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_variable_pointers.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_variable_pointers.hs
@@ -82,6 +82,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_variable_pointers VK_KHR_variable_pointers>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceVariablePointersFeatures = PhysicalDeviceVariablePointersFeatures
diff --git a/src/Vulkan/Core12.hs b/src/Vulkan/Core12.hs
--- a/src/Vulkan/Core12.hs
+++ b/src/Vulkan/Core12.hs
@@ -128,6 +128,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceVulkan11Features = PhysicalDeviceVulkan11Features
@@ -319,6 +320,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core11.Enums.PointClippingBehavior.PointClippingBehavior',
@@ -931,6 +933,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceVulkan12Features = PhysicalDeviceVulkan12Features
@@ -1280,6 +1283,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.ConformanceVersion',
 -- 'Vulkan.Core12.Enums.DriverId.DriverId',
diff --git a/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs b/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs
--- a/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs
+++ b/src/Vulkan/Core12/Enums/DescriptorBindingFlagBits.hs
@@ -39,6 +39,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_indexing VK_EXT_descriptor_indexing>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'DescriptorBindingFlags'
 newtype DescriptorBindingFlagBits = DescriptorBindingFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core12/Enums/DriverId.hs b/src/Vulkan/Core12/Enums/DriverId.hs
--- a/src/Vulkan/Core12/Enums/DriverId.hs
+++ b/src/Vulkan/Core12/Enums/DriverId.hs
@@ -17,6 +17,9 @@
                                               , DRIVER_ID_COREAVI_PROPRIETARY
                                               , DRIVER_ID_JUICE_PROPRIETARY
                                               , DRIVER_ID_VERISILICON_PROPRIETARY
+                                              , DRIVER_ID_MESA_TURNIP
+                                              , DRIVER_ID_MESA_V3DV
+                                              , DRIVER_ID_MESA_PANVK
                                               , ..
                                               )) where
 
@@ -48,6 +51,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_driver_properties VK_KHR_driver_properties>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan12Properties'
 newtype DriverId = DriverId Int32
@@ -88,6 +93,12 @@
 pattern DRIVER_ID_JUICE_PROPRIETARY         = DriverId 16
 -- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_VERISILICON_PROPRIETARY"
 pattern DRIVER_ID_VERISILICON_PROPRIETARY   = DriverId 17
+-- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_MESA_TURNIP"
+pattern DRIVER_ID_MESA_TURNIP               = DriverId 18
+-- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_MESA_V3DV"
+pattern DRIVER_ID_MESA_V3DV                 = DriverId 19
+-- No documentation found for Nested "VkDriverId" "VK_DRIVER_ID_MESA_PANVK"
+pattern DRIVER_ID_MESA_PANVK                = DriverId 20
 {-# complete DRIVER_ID_AMD_PROPRIETARY,
              DRIVER_ID_AMD_OPEN_SOURCE,
              DRIVER_ID_MESA_RADV,
@@ -104,7 +115,10 @@
              DRIVER_ID_MOLTENVK,
              DRIVER_ID_COREAVI_PROPRIETARY,
              DRIVER_ID_JUICE_PROPRIETARY,
-             DRIVER_ID_VERISILICON_PROPRIETARY :: DriverId #-}
+             DRIVER_ID_VERISILICON_PROPRIETARY,
+             DRIVER_ID_MESA_TURNIP,
+             DRIVER_ID_MESA_V3DV,
+             DRIVER_ID_MESA_PANVK :: DriverId #-}
 
 conNameDriverId :: String
 conNameDriverId = "DriverId"
@@ -131,6 +145,9 @@
   , (DRIVER_ID_COREAVI_PROPRIETARY      , "COREAVI_PROPRIETARY")
   , (DRIVER_ID_JUICE_PROPRIETARY        , "JUICE_PROPRIETARY")
   , (DRIVER_ID_VERISILICON_PROPRIETARY  , "VERISILICON_PROPRIETARY")
+  , (DRIVER_ID_MESA_TURNIP              , "MESA_TURNIP")
+  , (DRIVER_ID_MESA_V3DV                , "MESA_V3DV")
+  , (DRIVER_ID_MESA_PANVK               , "MESA_PANVK")
   ]
 
 instance Show DriverId where
diff --git a/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs b/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs
--- a/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs
+++ b/src/Vulkan/Core12/Enums/ResolveModeFlagBits.hs
@@ -28,6 +28,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_depth_stencil_resolve VK_KHR_depth_stencil_resolve>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'ResolveModeFlags',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_depth_stencil_resolve.SubpassDescriptionDepthStencilResolve'
 newtype ResolveModeFlagBits = ResolveModeFlagBits Flags
diff --git a/src/Vulkan/Core12/Enums/SamplerReductionMode.hs b/src/Vulkan/Core12/Enums/SamplerReductionMode.hs
--- a/src/Vulkan/Core12/Enums/SamplerReductionMode.hs
+++ b/src/Vulkan/Core12/Enums/SamplerReductionMode.hs
@@ -19,6 +19,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sampler_filter_minmax VK_EXT_sampler_filter_minmax>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Promoted_From_VK_EXT_sampler_filter_minmax.SamplerReductionModeCreateInfo'
 newtype SamplerReductionMode = SamplerReductionMode Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core12/Enums/SemaphoreType.hs b/src/Vulkan/Core12/Enums/SemaphoreType.hs
--- a/src/Vulkan/Core12/Enums/SemaphoreType.hs
+++ b/src/Vulkan/Core12/Enums/SemaphoreType.hs
@@ -18,6 +18,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo'
 newtype SemaphoreType = SemaphoreType Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs b/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs
--- a/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs
+++ b/src/Vulkan/Core12/Enums/SemaphoreWaitFlagBits.hs
@@ -24,6 +24,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'SemaphoreWaitFlags'
 newtype SemaphoreWaitFlagBits = SemaphoreWaitFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Core12/Enums/ShaderFloatControlsIndependence.hs b/src/Vulkan/Core12/Enums/ShaderFloatControlsIndependence.hs
--- a/src/Vulkan/Core12/Enums/ShaderFloatControlsIndependence.hs
+++ b/src/Vulkan/Core12/Enums/ShaderFloatControlsIndependence.hs
@@ -20,6 +20,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls VK_KHR_shader_float_controls>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float_controls.PhysicalDeviceFloatControlsProperties',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan12Properties'
 newtype ShaderFloatControlsIndependence = ShaderFloatControlsIndependence Int32
diff --git a/src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs b/src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_EXT_descriptor_indexing.hs
@@ -81,6 +81,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_indexing VK_EXT_descriptor_indexing>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDescriptorIndexingFeatures = PhysicalDeviceDescriptorIndexingFeatures
@@ -399,6 +401,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_indexing VK_EXT_descriptor_indexing>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDescriptorIndexingProperties = PhysicalDeviceDescriptorIndexingProperties
@@ -867,6 +871,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_indexing VK_EXT_descriptor_indexing>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DescriptorBindingFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DescriptorSetLayoutBindingFlagsCreateInfo = DescriptorSetLayoutBindingFlagsCreateInfo
@@ -954,6 +960,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_indexing VK_EXT_descriptor_indexing>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DescriptorSetVariableDescriptorCountAllocateInfo = DescriptorSetVariableDescriptorCountAllocateInfo
   { -- | @pDescriptorCounts@ is a pointer to an array of descriptor counts, with
@@ -1026,6 +1034,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_indexing VK_EXT_descriptor_indexing>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DescriptorSetVariableDescriptorCountLayoutSupport = DescriptorSetVariableDescriptorCountLayoutSupport
   { -- | @maxVariableDescriptorCount@ indicates the maximum number of descriptors
diff --git a/src/Vulkan/Core12/Promoted_From_VK_EXT_host_query_reset.hs b/src/Vulkan/Core12/Promoted_From_VK_EXT_host_query_reset.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_EXT_host_query_reset.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_EXT_host_query_reset.hs
@@ -98,6 +98,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_host_query_reset VK_EXT_host_query_reset>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.QueryPool'
 resetQueryPool :: forall io
                 . (MonadIO io)
@@ -143,6 +145,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_host_query_reset VK_EXT_host_query_reset>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceHostQueryResetFeatures = PhysicalDeviceHostQueryResetFeatures
diff --git a/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs b/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_EXT_sampler_filter_minmax.hs
@@ -76,6 +76,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sampler_filter_minmax VK_EXT_sampler_filter_minmax>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceSamplerFilterMinmaxProperties = PhysicalDeviceSamplerFilterMinmaxProperties
@@ -148,6 +150,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sampler_filter_minmax VK_EXT_sampler_filter_minmax>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SamplerReductionModeCreateInfo = SamplerReductionModeCreateInfo
diff --git a/src/Vulkan/Core12/Promoted_From_VK_EXT_scalar_block_layout.hs b/src/Vulkan/Core12/Promoted_From_VK_EXT_scalar_block_layout.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_EXT_scalar_block_layout.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_EXT_scalar_block_layout.hs
@@ -49,6 +49,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_scalar_block_layout VK_EXT_scalar_block_layout>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceScalarBlockLayoutFeatures = PhysicalDeviceScalarBlockLayoutFeatures
diff --git a/src/Vulkan/Core12/Promoted_From_VK_EXT_separate_stencil_usage.hs b/src/Vulkan/Core12/Promoted_From_VK_EXT_separate_stencil_usage.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_EXT_separate_stencil_usage.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_EXT_separate_stencil_usage.hs
@@ -79,6 +79,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_separate_stencil_usage VK_EXT_separate_stencil_usage>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImageStencilUsageCreateInfo = ImageStencilUsageCreateInfo
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_8bit_storage.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_8bit_storage.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_8bit_storage.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_8bit_storage.hs
@@ -49,6 +49,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_8bit_storage VK_KHR_8bit_storage>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevice8BitStorageFeatures = PhysicalDevice8BitStorageFeatures
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_buffer_device_address.hs
@@ -114,6 +114,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_buffer_device_address VK_KHR_buffer_device_address>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'BufferDeviceAddressInfo', 'Vulkan.Core10.Handles.Device'
 getBufferOpaqueCaptureAddress :: forall io
                                . (MonadIO io)
@@ -188,6 +190,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_buffer_device_address VK_KHR_buffer_device_address>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'BufferDeviceAddressInfo', 'Vulkan.Core10.Handles.Device'
 getBufferDeviceAddress :: forall io
                         . (MonadIO io)
@@ -254,6 +258,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_buffer_device_address VK_KHR_buffer_device_address>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Device', 'DeviceMemoryOpaqueCaptureAddressInfo'
 getDeviceMemoryOpaqueCaptureAddress :: forall io
                                      . (MonadIO io)
@@ -304,6 +310,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_buffer_device_address VK_KHR_buffer_device_address>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceBufferDeviceAddressFeatures = PhysicalDeviceBufferDeviceAddressFeatures
@@ -399,6 +407,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getBufferDeviceAddress',
@@ -490,6 +499,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_buffer_device_address VK_KHR_buffer_device_address>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BufferOpaqueCaptureAddressCreateInfo = BufferOpaqueCaptureAddressCreateInfo
   { -- | @opaqueCaptureAddress@ is the opaque capture address requested for the
@@ -564,6 +575,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_buffer_device_address VK_KHR_buffer_device_address>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data MemoryOpaqueCaptureAddressAllocateInfo = MemoryOpaqueCaptureAddressAllocateInfo
   { -- | @opaqueCaptureAddress@ is the opaque capture address requested for the
@@ -614,6 +627,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_buffer_device_address VK_KHR_buffer_device_address>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getDeviceMemoryOpaqueCaptureAddress',
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_create_renderpass2.hs
@@ -167,6 +167,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.RenderPass',
 -- 'RenderPassCreateInfo2'
@@ -388,6 +390,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo',
 -- 'SubpassBeginInfo'
@@ -494,6 +498,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'SubpassBeginInfo',
 -- 'SubpassEndInfo'
 cmdNextSubpass2 :: forall io
@@ -585,6 +591,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'SubpassEndInfo'
 cmdEndRenderPass2 :: forall io
                    . (MonadIO io)
@@ -805,6 +813,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.AttachmentDescriptionFlagBits.AttachmentDescriptionFlags',
 -- 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp',
 -- 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp',
@@ -1027,6 +1037,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR',
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
@@ -1123,9 +1135,11 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-VkSubpassDescription2-pipelineBindPoint-03062#
+-- -   #VUID-VkSubpassDescription2-pipelineBindPoint-04953#
 --     @pipelineBindPoint@ /must/ be
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS'
+--     or
+--     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI'
 --
 -- -   #VUID-VkSubpassDescription2-colorAttachmentCount-03063#
 --     @colorAttachmentCount@ /must/ be less than or equal to
@@ -1260,7 +1274,7 @@
 --     member of any element of @pInputAttachments@ is not
 --     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED', then the
 --     @aspectMask@ member /must/ not include
---     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index @i@
+--     @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ for any index /i/
 --
 -- -   #VUID-VkSubpassDescription2-pDepthStencilAttachment-04440# An
 --     attachment /must/ not be used in both @pDepthStencilAttachment@ and
@@ -1317,6 +1331,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'AttachmentReference2',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',
 -- 'RenderPassCreateInfo2',
@@ -1624,6 +1640,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.AccessFlagBits.AccessFlags',
 -- 'Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlags',
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlags',
@@ -1952,6 +1970,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'AttachmentDescription2',
 -- 'Vulkan.Core10.Enums.RenderPassCreateFlagBits.RenderPassCreateFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'SubpassDependency2',
@@ -2060,6 +2080,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Core10.Enums.SubpassContents.SubpassContents',
 -- 'cmdBeginRenderPass2',
@@ -2117,6 +2139,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_create_renderpass2 VK_KHR_create_renderpass2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'cmdEndRenderPass2',
 -- 'Vulkan.Extensions.VK_KHR_create_renderpass2.cmdEndRenderPass2KHR',
 -- 'cmdNextSubpass2',
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_depth_stencil_resolve.hs
@@ -62,6 +62,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_depth_stencil_resolve VK_KHR_depth_stencil_resolve>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -259,6 +261,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_depth_stencil_resolve VK_KHR_depth_stencil_resolve>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2',
 -- 'Vulkan.Core12.Enums.ResolveModeFlagBits.ResolveModeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_draw_indirect_count.hs
@@ -112,6 +112,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawIndirectCount-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawIndirectCount-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawIndirectCount-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -121,9 +137,11 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawIndirectCount-None-02698# For each push constant that
---     is statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to
---     the pipeline bind point used by this command, a push constant value
+-- -   #VUID-vkCmdDrawIndirectCount-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
@@ -219,28 +237,28 @@
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndirectCount-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -659,6 +677,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_draw_indirect_count VK_AMD_draw_indirect_count>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_draw_indirect_count VK_KHR_draw_indirect_count>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDrawIndirectCount :: forall io
@@ -779,6 +800,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-02697# For each set /n/
 --     that is statically used by the 'Vulkan.Core10.Handles.Pipeline'
 --     bound to the pipeline bind point used by this command, a descriptor
@@ -788,11 +825,12 @@
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawIndexedIndirectCount-None-02698# For each push
---     constant that is statically used by the
---     'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point
---     used by this command, a push constant value /must/ have been set for
---     the same pipeline bind point, with a
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
@@ -888,28 +926,28 @@
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -1335,6 +1373,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_draw_indirect_count VK_AMD_draw_indirect_count>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_draw_indirect_count VK_KHR_draw_indirect_count>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDrawIndexedIndirectCount :: forall io
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_driver_properties.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_driver_properties.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_driver_properties.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_driver_properties.hs
@@ -49,6 +49,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_driver_properties VK_KHR_driver_properties>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'PhysicalDeviceDriverProperties',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan12Properties'
 data ConformanceVersion = ConformanceVersion
@@ -129,6 +131,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_driver_properties VK_KHR_driver_properties>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'ConformanceVersion', 'Vulkan.Core12.Enums.DriverId.DriverId',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDriverProperties = PhysicalDeviceDriverProperties
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_image_format_list.hs
@@ -52,6 +52,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_image_format_list VK_KHR_image_format_list>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImageFormatListCreateInfo = ImageFormatListCreateInfo
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_imageless_framebuffer.hs
@@ -72,6 +72,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_imageless_framebuffer VK_KHR_imageless_framebuffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceImagelessFramebufferFeatures = PhysicalDeviceImagelessFramebufferFeatures
@@ -134,6 +136,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'FramebufferAttachmentImageInfo',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data FramebufferAttachmentsCreateInfo = FramebufferAttachmentsCreateInfo
@@ -214,6 +217,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_imageless_framebuffer VK_KHR_imageless_framebuffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.Format.Format', 'FramebufferAttachmentsCreateInfo',
 -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlags',
 -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags',
@@ -328,6 +333,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_imageless_framebuffer VK_KHR_imageless_framebuffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.ImageView',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data RenderPassAttachmentBeginInfo = RenderPassAttachmentBeginInfo
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_separate_depth_stencil_layouts.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_separate_depth_stencil_layouts.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_separate_depth_stencil_layouts.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_separate_depth_stencil_layouts.hs
@@ -58,6 +58,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_separate_depth_stencil_layouts VK_KHR_separate_depth_stencil_layouts>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceSeparateDepthStencilLayoutsFeatures = PhysicalDeviceSeparateDepthStencilLayoutsFeatures
@@ -120,6 +122,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_separate_depth_stencil_layouts VK_KHR_separate_depth_stencil_layouts>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data AttachmentReferenceStencilLayout = AttachmentReferenceStencilLayout
@@ -189,6 +193,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_separate_depth_stencil_layouts VK_KHR_separate_depth_stencil_layouts>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data AttachmentDescriptionStencilLayout = AttachmentDescriptionStencilLayout
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_atomic_int64.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_atomic_int64.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_atomic_int64.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_atomic_int64.hs
@@ -49,6 +49,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_atomic_int64 VK_KHR_shader_atomic_int64>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderAtomicInt64Features = PhysicalDeviceShaderAtomicInt64Features
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float16_int8.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float16_int8.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float16_int8.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float16_int8.hs
@@ -49,6 +49,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float16_int8 VK_KHR_shader_float16_int8>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderFloat16Int8Features = PhysicalDeviceShaderFloat16Int8Features
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float_controls.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float_controls.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float_controls.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_float_controls.hs
@@ -46,6 +46,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls VK_KHR_shader_float_controls>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core12.Enums.ShaderFloatControlsIndependence.ShaderFloatControlsIndependence',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_shader_subgroup_extended_types.hs
@@ -51,6 +51,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_extended_types VK_KHR_shader_subgroup_extended_types>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderSubgroupExtendedTypesFeatures = PhysicalDeviceShaderSubgroupExtendedTypesFeatures
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_timeline_semaphore.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_timeline_semaphore.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_timeline_semaphore.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_timeline_semaphore.hs
@@ -120,6 +120,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Semaphore'
 getSemaphoreCounterValue :: forall io
                           . (MonadIO io)
@@ -241,6 +243,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Device', 'SemaphoreWaitInfo'
 waitSemaphores :: forall io
                 . (MonadIO io)
@@ -322,6 +326,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Device', 'SemaphoreSignalInfo'
 signalSemaphore :: forall io
                  . (MonadIO io)
@@ -370,6 +376,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceTimelineSemaphoreFeatures = PhysicalDeviceTimelineSemaphoreFeatures
@@ -434,6 +442,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceTimelineSemaphoreProperties = PhysicalDeviceTimelineSemaphoreProperties
   { -- | #extension-limits-maxTimelineSemaphoreValueDifference#
@@ -517,6 +527,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core12.Enums.SemaphoreType.SemaphoreType',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SemaphoreTypeCreateInfo = SemaphoreTypeCreateInfo
@@ -601,6 +613,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data TimelineSemaphoreSubmitInfo = TimelineSemaphoreSubmitInfo
   { -- | @waitSemaphoreValueCount@ is the number of semaphore wait values
@@ -723,6 +737,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core12.Enums.SemaphoreWaitFlagBits.SemaphoreWaitFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'waitSemaphores',
@@ -794,6 +810,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_timeline_semaphore VK_KHR_timeline_semaphore>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'signalSemaphore',
 -- 'Vulkan.Extensions.VK_KHR_timeline_semaphore.signalSemaphoreKHR'
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_uniform_buffer_standard_layout.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_uniform_buffer_standard_layout.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_uniform_buffer_standard_layout.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_uniform_buffer_standard_layout.hs
@@ -50,6 +50,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_uniform_buffer_standard_layout VK_KHR_uniform_buffer_standard_layout>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceUniformBufferStandardLayoutFeatures = PhysicalDeviceUniformBufferStandardLayoutFeatures
diff --git a/src/Vulkan/Core12/Promoted_From_VK_KHR_vulkan_memory_model.hs b/src/Vulkan/Core12/Promoted_From_VK_KHR_vulkan_memory_model.hs
--- a/src/Vulkan/Core12/Promoted_From_VK_KHR_vulkan_memory_model.hs
+++ b/src/Vulkan/Core12/Promoted_From_VK_KHR_vulkan_memory_model.hs
@@ -52,6 +52,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_2 VK_VERSION_1_2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceVulkanMemoryModelFeatures = PhysicalDeviceVulkanMemoryModelFeatures
diff --git a/src/Vulkan/Dynamic.hs b/src/Vulkan/Dynamic.hs
--- a/src/Vulkan/Dynamic.hs
+++ b/src/Vulkan/Dynamic.hs
@@ -51,6 +51,10 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_copy_commands2 (BlitImageInfo2KHR)
 import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (Bool32)
 import {-# SOURCE #-} Vulkan.Core10.Handles (Buffer)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionCreateInfoFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.Handles (BufferCollectionFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferCollectionPropertiesFUCHSIA)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (BufferConstraintsInfoFUCHSIA)
 import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (BufferCopy)
 import {-# SOURCE #-} Vulkan.Core10.Buffer (BufferCreateInfo)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (BufferDeviceAddressInfo)
@@ -124,10 +128,12 @@
 import {-# SOURCE #-} Vulkan.Core11.Handles (DescriptorUpdateTemplate)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template (DescriptorUpdateTemplateCreateInfo)
 import {-# SOURCE #-} Vulkan.Core10.FundamentalTypes (DeviceAddress)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (DeviceBufferMemoryRequirementsKHR)
 import {-# SOURCE #-} Vulkan.Core10.Device (DeviceCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_display_control (DeviceEventInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupPresentCapabilitiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (DeviceGroupPresentModeFlagsKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance4 (DeviceImageMemoryRequirementsKHR)
 import {-# SOURCE #-} Vulkan.Core10.Handles (DeviceMemory)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address (DeviceMemoryOpaqueCaptureAddressInfo)
 import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (DeviceQueueInfo2)
@@ -184,6 +190,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_MVK_ios_surface (IOSSurfaceCreateInfoMVK)
 import {-# SOURCE #-} Vulkan.Core10.Handles (Image)
 import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageBlit)
+import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_buffer_collection (ImageConstraintsInfoFUCHSIA)
 import {-# SOURCE #-} Vulkan.Core10.CommandBufferBuilding (ImageCopy)
 import {-# SOURCE #-} Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags)
 import {-# SOURCE #-} Vulkan.Core10.Image (ImageCreateInfo)
@@ -725,6 +732,7 @@
   , pVkMergePipelineCaches :: FunPtr (Ptr Device_T -> ("dstCache" ::: PipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr PipelineCache) -> IO Result)
   , pVkCreateGraphicsPipelines :: FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
   , pVkCreateComputePipelines :: FunPtr (Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result)
+  , pVkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI :: FunPtr (Ptr Device_T -> RenderPass -> ("pMaxWorkgroupSize" ::: Ptr Extent2D) -> IO Result)
   , pVkDestroyPipeline :: FunPtr (Ptr Device_T -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
   , pVkCreatePipelineLayout :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineLayout" ::: Ptr PipelineLayout) -> IO Result)
   , pVkDestroyPipelineLayout :: FunPtr (Ptr Device_T -> PipelineLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
@@ -772,6 +780,7 @@
   , pVkCmdDrawIndexedIndirect :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ())
   , pVkCmdDispatch :: FunPtr (Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ())
   , pVkCmdDispatchIndirect :: FunPtr (Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IO ())
+  , pVkCmdSubpassShadingHUAWEI :: FunPtr (Ptr CommandBuffer_T -> IO ())
   , pVkCmdCopyBuffer :: FunPtr (Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferCopy) -> IO ())
   , pVkCmdCopyImage :: FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageCopy) -> IO ())
   , pVkCmdBlitImage :: FunPtr (Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ())
@@ -862,6 +871,9 @@
   , pVkGetBufferMemoryRequirements2 :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr BufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
   , pVkGetImageMemoryRequirements2 :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr (SomeStruct ImageMemoryRequirementsInfo2)) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
   , pVkGetImageSparseMemoryRequirements2 :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr ImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ())
+  , pVkGetDeviceBufferMemoryRequirementsKHR :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceBufferMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
+  , pVkGetDeviceImageMemoryRequirementsKHR :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ())
+  , pVkGetDeviceImageSparseMemoryRequirementsKHR :: FunPtr (Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ())
   , pVkCreateSamplerYcbcrConversion :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerYcbcrConversionCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr SamplerYcbcrConversion) -> IO Result)
   , pVkDestroySamplerYcbcrConversion :: FunPtr (Ptr Device_T -> SamplerYcbcrConversion -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
   , pVkGetDeviceQueue2 :: FunPtr (Ptr Device_T -> ("pQueueInfo" ::: Ptr DeviceQueueInfo2) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ())
@@ -1017,7 +1029,13 @@
   , pVkDestroyCuModuleNVX :: FunPtr (Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
   , pVkDestroyCuFunctionNVX :: FunPtr (Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
   , pVkCmdCuLaunchKernelNVX :: FunPtr (Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ())
+  , pVkSetDeviceMemoryPriorityEXT :: FunPtr (Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ())
   , pVkWaitForPresentKHR :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result)
+  , pVkCreateBufferCollectionFUCHSIA :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result)
+  , pVkSetBufferCollectionBufferConstraintsFUCHSIA :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA) -> IO Result)
+  , pVkSetBufferCollectionImageConstraintsFUCHSIA :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA) -> IO Result)
+  , pVkDestroyBufferCollectionFUCHSIA :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ())
+  , pVkGetBufferCollectionPropertiesFUCHSIA :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO Result)
   }
 
 deriving instance Eq DeviceCmds
@@ -1067,7 +1085,8 @@
     nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr
     nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr
     nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr
-    nullFunPtr nullFunPtr
+    nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr
+    nullFunPtr nullFunPtr nullFunPtr nullFunPtr nullFunPtr
 
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
@@ -1140,6 +1159,7 @@
   vkMergePipelineCaches <- getDeviceProcAddr' handle (Ptr "vkMergePipelineCaches"#)
   vkCreateGraphicsPipelines <- getDeviceProcAddr' handle (Ptr "vkCreateGraphicsPipelines"#)
   vkCreateComputePipelines <- getDeviceProcAddr' handle (Ptr "vkCreateComputePipelines"#)
+  vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI <- getDeviceProcAddr' handle (Ptr "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI"#)
   vkDestroyPipeline <- getDeviceProcAddr' handle (Ptr "vkDestroyPipeline"#)
   vkCreatePipelineLayout <- getDeviceProcAddr' handle (Ptr "vkCreatePipelineLayout"#)
   vkDestroyPipelineLayout <- getDeviceProcAddr' handle (Ptr "vkDestroyPipelineLayout"#)
@@ -1187,6 +1207,7 @@
   vkCmdDrawIndexedIndirect <- getDeviceProcAddr' handle (Ptr "vkCmdDrawIndexedIndirect"#)
   vkCmdDispatch <- getDeviceProcAddr' handle (Ptr "vkCmdDispatch"#)
   vkCmdDispatchIndirect <- getDeviceProcAddr' handle (Ptr "vkCmdDispatchIndirect"#)
+  vkCmdSubpassShadingHUAWEI <- getDeviceProcAddr' handle (Ptr "vkCmdSubpassShadingHUAWEI"#)
   vkCmdCopyBuffer <- getDeviceProcAddr' handle (Ptr "vkCmdCopyBuffer"#)
   vkCmdCopyImage <- getDeviceProcAddr' handle (Ptr "vkCmdCopyImage"#)
   vkCmdBlitImage <- getDeviceProcAddr' handle (Ptr "vkCmdBlitImage"#)
@@ -1277,6 +1298,9 @@
   vkGetBufferMemoryRequirements2 <- getFirstDeviceProcAddr [(Ptr "vkGetBufferMemoryRequirements2KHR"#), (Ptr "vkGetBufferMemoryRequirements2"#)]
   vkGetImageMemoryRequirements2 <- getFirstDeviceProcAddr [(Ptr "vkGetImageMemoryRequirements2KHR"#), (Ptr "vkGetImageMemoryRequirements2"#)]
   vkGetImageSparseMemoryRequirements2 <- getFirstDeviceProcAddr [(Ptr "vkGetImageSparseMemoryRequirements2KHR"#), (Ptr "vkGetImageSparseMemoryRequirements2"#)]
+  vkGetDeviceBufferMemoryRequirementsKHR <- getDeviceProcAddr' handle (Ptr "vkGetDeviceBufferMemoryRequirementsKHR"#)
+  vkGetDeviceImageMemoryRequirementsKHR <- getDeviceProcAddr' handle (Ptr "vkGetDeviceImageMemoryRequirementsKHR"#)
+  vkGetDeviceImageSparseMemoryRequirementsKHR <- getDeviceProcAddr' handle (Ptr "vkGetDeviceImageSparseMemoryRequirementsKHR"#)
   vkCreateSamplerYcbcrConversion <- getFirstDeviceProcAddr [(Ptr "vkCreateSamplerYcbcrConversionKHR"#), (Ptr "vkCreateSamplerYcbcrConversion"#)]
   vkDestroySamplerYcbcrConversion <- getFirstDeviceProcAddr [(Ptr "vkDestroySamplerYcbcrConversionKHR"#), (Ptr "vkDestroySamplerYcbcrConversion"#)]
   vkGetDeviceQueue2 <- getDeviceProcAddr' handle (Ptr "vkGetDeviceQueue2"#)
@@ -1432,7 +1456,13 @@
   vkDestroyCuModuleNVX <- getDeviceProcAddr' handle (Ptr "vkDestroyCuModuleNVX"#)
   vkDestroyCuFunctionNVX <- getDeviceProcAddr' handle (Ptr "vkDestroyCuFunctionNVX"#)
   vkCmdCuLaunchKernelNVX <- getDeviceProcAddr' handle (Ptr "vkCmdCuLaunchKernelNVX"#)
+  vkSetDeviceMemoryPriorityEXT <- getDeviceProcAddr' handle (Ptr "vkSetDeviceMemoryPriorityEXT"#)
   vkWaitForPresentKHR <- getDeviceProcAddr' handle (Ptr "vkWaitForPresentKHR"#)
+  vkCreateBufferCollectionFUCHSIA <- getDeviceProcAddr' handle (Ptr "vkCreateBufferCollectionFUCHSIA"#)
+  vkSetBufferCollectionBufferConstraintsFUCHSIA <- getDeviceProcAddr' handle (Ptr "vkSetBufferCollectionBufferConstraintsFUCHSIA"#)
+  vkSetBufferCollectionImageConstraintsFUCHSIA <- getDeviceProcAddr' handle (Ptr "vkSetBufferCollectionImageConstraintsFUCHSIA"#)
+  vkDestroyBufferCollectionFUCHSIA <- getDeviceProcAddr' handle (Ptr "vkDestroyBufferCollectionFUCHSIA"#)
+  vkGetBufferCollectionPropertiesFUCHSIA <- getDeviceProcAddr' handle (Ptr "vkGetBufferCollectionPropertiesFUCHSIA"#)
   pure $ DeviceCmds handle
     (castFunPtr @_ @(Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) vkGetDeviceProcAddr)
     (castFunPtr @_ @(Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyDevice)
@@ -1486,6 +1516,7 @@
     (castFunPtr @_ @(Ptr Device_T -> ("dstCache" ::: PipelineCache) -> ("srcCacheCount" ::: Word32) -> ("pSrcCaches" ::: Ptr PipelineCache) -> IO Result) vkMergePipelineCaches)
     (castFunPtr @_ @(Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct GraphicsPipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) vkCreateGraphicsPipelines)
     (castFunPtr @_ @(Ptr Device_T -> PipelineCache -> ("createInfoCount" ::: Word32) -> ("pCreateInfos" ::: Ptr (SomeStruct ComputePipelineCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelines" ::: Ptr Pipeline) -> IO Result) vkCreateComputePipelines)
+    (castFunPtr @_ @(Ptr Device_T -> RenderPass -> ("pMaxWorkgroupSize" ::: Ptr Extent2D) -> IO Result) vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)
     (castFunPtr @_ @(Ptr Device_T -> Pipeline -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyPipeline)
     (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr PipelineLayoutCreateInfo) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pPipelineLayout" ::: Ptr PipelineLayout) -> IO Result) vkCreatePipelineLayout)
     (castFunPtr @_ @(Ptr Device_T -> PipelineLayout -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyPipelineLayout)
@@ -1533,6 +1564,7 @@
     (castFunPtr @_ @(Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> ("drawCount" ::: Word32) -> ("stride" ::: Word32) -> IO ()) vkCmdDrawIndexedIndirect)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("groupCountX" ::: Word32) -> ("groupCountY" ::: Word32) -> ("groupCountZ" ::: Word32) -> IO ()) vkCmdDispatch)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> Buffer -> ("offset" ::: DeviceSize) -> IO ()) vkCmdDispatchIndirect)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> IO ()) vkCmdSubpassShadingHUAWEI)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("srcBuffer" ::: Buffer) -> ("dstBuffer" ::: Buffer) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr BufferCopy) -> IO ()) vkCmdCopyBuffer)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageCopy) -> IO ()) vkCmdCopyImage)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("srcImage" ::: Image) -> ("srcImageLayout" ::: ImageLayout) -> ("dstImage" ::: Image) -> ("dstImageLayout" ::: ImageLayout) -> ("regionCount" ::: Word32) -> ("pRegions" ::: Ptr ImageBlit) -> Filter -> IO ()) vkCmdBlitImage)
@@ -1623,6 +1655,9 @@
     (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr BufferMemoryRequirementsInfo2) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) vkGetBufferMemoryRequirements2)
     (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr (SomeStruct ImageMemoryRequirementsInfo2)) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) vkGetImageMemoryRequirements2)
     (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr ImageSparseMemoryRequirementsInfo2) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) vkGetImageSparseMemoryRequirements2)
+    (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr DeviceBufferMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) vkGetDeviceBufferMemoryRequirementsKHR)
+    (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pMemoryRequirements" ::: Ptr (SomeStruct MemoryRequirements2)) -> IO ()) vkGetDeviceImageMemoryRequirementsKHR)
+    (castFunPtr @_ @(Ptr Device_T -> ("pInfo" ::: Ptr DeviceImageMemoryRequirementsKHR) -> ("pSparseMemoryRequirementCount" ::: Ptr Word32) -> ("pSparseMemoryRequirements" ::: Ptr SparseImageMemoryRequirements2) -> IO ()) vkGetDeviceImageSparseMemoryRequirementsKHR)
     (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct SamplerYcbcrConversionCreateInfo)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pYcbcrConversion" ::: Ptr SamplerYcbcrConversion) -> IO Result) vkCreateSamplerYcbcrConversion)
     (castFunPtr @_ @(Ptr Device_T -> SamplerYcbcrConversion -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroySamplerYcbcrConversion)
     (castFunPtr @_ @(Ptr Device_T -> ("pQueueInfo" ::: Ptr DeviceQueueInfo2) -> ("pQueue" ::: Ptr (Ptr Queue_T)) -> IO ()) vkGetDeviceQueue2)
@@ -1778,5 +1813,11 @@
     (castFunPtr @_ @(Ptr Device_T -> CuModuleNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyCuModuleNVX)
     (castFunPtr @_ @(Ptr Device_T -> CuFunctionNVX -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyCuFunctionNVX)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pLaunchInfo" ::: Ptr CuLaunchInfoNVX) -> IO ()) vkCmdCuLaunchKernelNVX)
+    (castFunPtr @_ @(Ptr Device_T -> DeviceMemory -> ("priority" ::: CFloat) -> IO ()) vkSetDeviceMemoryPriorityEXT)
     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("presentId" ::: Word64) -> ("timeout" ::: Word64) -> IO Result) vkWaitForPresentKHR)
+    (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr BufferCollectionCreateInfoFUCHSIA) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pCollection" ::: Ptr BufferCollectionFUCHSIA) -> IO Result) vkCreateBufferCollectionFUCHSIA)
+    (castFunPtr @_ @(Ptr Device_T -> BufferCollectionFUCHSIA -> ("pBufferConstraintsInfo" ::: Ptr BufferConstraintsInfoFUCHSIA) -> IO Result) vkSetBufferCollectionBufferConstraintsFUCHSIA)
+    (castFunPtr @_ @(Ptr Device_T -> BufferCollectionFUCHSIA -> ("pImageConstraintsInfo" ::: Ptr ImageConstraintsInfoFUCHSIA) -> IO Result) vkSetBufferCollectionImageConstraintsFUCHSIA)
+    (castFunPtr @_ @(Ptr Device_T -> BufferCollectionFUCHSIA -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyBufferCollectionFUCHSIA)
+    (castFunPtr @_ @(Ptr Device_T -> BufferCollectionFUCHSIA -> ("pProperties" ::: Ptr BufferCollectionPropertiesFUCHSIA) -> IO Result) vkGetBufferCollectionPropertiesFUCHSIA)
 
diff --git a/src/Vulkan/Extensions.hs b/src/Vulkan/Extensions.hs
--- a/src/Vulkan/Extensions.hs
+++ b/src/Vulkan/Extensions.hs
@@ -29,6 +29,7 @@
                           , module Vulkan.Extensions.VK_EXT_acquire_xlib_display
                           , module Vulkan.Extensions.VK_EXT_astc_decode_mode
                           , module Vulkan.Extensions.VK_EXT_blend_operation_advanced
+                          , module Vulkan.Extensions.VK_EXT_border_color_swizzle
                           , module Vulkan.Extensions.VK_EXT_buffer_device_address
                           , module Vulkan.Extensions.VK_EXT_calibrated_timestamps
                           , module Vulkan.Extensions.VK_EXT_color_write_enable
@@ -71,14 +72,17 @@
                           , module Vulkan.Extensions.VK_EXT_memory_priority
                           , module Vulkan.Extensions.VK_EXT_metal_surface
                           , module Vulkan.Extensions.VK_EXT_multi_draw
+                          , module Vulkan.Extensions.VK_EXT_pageable_device_local_memory
                           , module Vulkan.Extensions.VK_EXT_pci_bus_info
                           , module Vulkan.Extensions.VK_EXT_physical_device_drm
                           , module Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control
                           , module Vulkan.Extensions.VK_EXT_pipeline_creation_feedback
                           , module Vulkan.Extensions.VK_EXT_post_depth_coverage
+                          , module Vulkan.Extensions.VK_EXT_primitive_topology_list_restart
                           , module Vulkan.Extensions.VK_EXT_private_data
                           , module Vulkan.Extensions.VK_EXT_provoking_vertex
                           , module Vulkan.Extensions.VK_EXT_queue_family_foreign
+                          , module Vulkan.Extensions.VK_EXT_rgba10x6_formats
                           , module Vulkan.Extensions.VK_EXT_robustness2
                           , module Vulkan.Extensions.VK_EXT_sample_locations
                           , module Vulkan.Extensions.VK_EXT_sampler_filter_minmax
@@ -105,6 +109,7 @@
                           , module Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state
                           , module Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats
                           , module Vulkan.Extensions.VK_EXT_ycbcr_image_arrays
+                          , module Vulkan.Extensions.VK_FUCHSIA_buffer_collection
                           , module Vulkan.Extensions.VK_FUCHSIA_external_memory
                           , module Vulkan.Extensions.VK_FUCHSIA_external_semaphore
                           , module Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface
@@ -115,6 +120,7 @@
                           , module Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1
                           , module Vulkan.Extensions.VK_GOOGLE_user_type
                           , module Vulkan.Extensions.VK_HUAWEI_invocation_mask
+                          , module Vulkan.Extensions.VK_HUAWEI_subpass_shading
                           , module Vulkan.Extensions.VK_IMG_filter_cubic
                           , module Vulkan.Extensions.VK_IMG_format_pvrtc
                           , module Vulkan.Extensions.VK_INTEL_performance_query
@@ -149,6 +155,7 @@
                           , module Vulkan.Extensions.VK_KHR_external_semaphore_capabilities
                           , module Vulkan.Extensions.VK_KHR_external_semaphore_fd
                           , module Vulkan.Extensions.VK_KHR_external_semaphore_win32
+                          , module Vulkan.Extensions.VK_KHR_format_feature_flags2
                           , module Vulkan.Extensions.VK_KHR_fragment_shading_rate
                           , module Vulkan.Extensions.VK_KHR_get_display_properties2
                           , module Vulkan.Extensions.VK_KHR_get_memory_requirements2
@@ -160,6 +167,7 @@
                           , module Vulkan.Extensions.VK_KHR_maintenance1
                           , module Vulkan.Extensions.VK_KHR_maintenance2
                           , module Vulkan.Extensions.VK_KHR_maintenance3
+                          , module Vulkan.Extensions.VK_KHR_maintenance4
                           , module Vulkan.Extensions.VK_KHR_multiview
                           , module Vulkan.Extensions.VK_KHR_performance_query
                           , module Vulkan.Extensions.VK_KHR_pipeline_executable_properties
@@ -179,6 +187,7 @@
                           , module Vulkan.Extensions.VK_KHR_shader_draw_parameters
                           , module Vulkan.Extensions.VK_KHR_shader_float16_int8
                           , module Vulkan.Extensions.VK_KHR_shader_float_controls
+                          , module Vulkan.Extensions.VK_KHR_shader_integer_dot_product
                           , module Vulkan.Extensions.VK_KHR_shader_non_semantic_info
                           , module Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
                           , module Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow
@@ -280,6 +289,7 @@
 import Vulkan.Extensions.VK_EXT_acquire_xlib_display
 import Vulkan.Extensions.VK_EXT_astc_decode_mode
 import Vulkan.Extensions.VK_EXT_blend_operation_advanced
+import Vulkan.Extensions.VK_EXT_border_color_swizzle
 import Vulkan.Extensions.VK_EXT_buffer_device_address
 import Vulkan.Extensions.VK_EXT_calibrated_timestamps
 import Vulkan.Extensions.VK_EXT_color_write_enable
@@ -322,14 +332,17 @@
 import Vulkan.Extensions.VK_EXT_memory_priority
 import Vulkan.Extensions.VK_EXT_metal_surface
 import Vulkan.Extensions.VK_EXT_multi_draw
+import Vulkan.Extensions.VK_EXT_pageable_device_local_memory
 import Vulkan.Extensions.VK_EXT_pci_bus_info
 import Vulkan.Extensions.VK_EXT_physical_device_drm
 import Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control
 import Vulkan.Extensions.VK_EXT_pipeline_creation_feedback
 import Vulkan.Extensions.VK_EXT_post_depth_coverage
+import Vulkan.Extensions.VK_EXT_primitive_topology_list_restart
 import Vulkan.Extensions.VK_EXT_private_data
 import Vulkan.Extensions.VK_EXT_provoking_vertex
 import Vulkan.Extensions.VK_EXT_queue_family_foreign
+import Vulkan.Extensions.VK_EXT_rgba10x6_formats
 import Vulkan.Extensions.VK_EXT_robustness2
 import Vulkan.Extensions.VK_EXT_sample_locations
 import Vulkan.Extensions.VK_EXT_sampler_filter_minmax
@@ -356,6 +369,7 @@
 import Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state
 import Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats
 import Vulkan.Extensions.VK_EXT_ycbcr_image_arrays
+import Vulkan.Extensions.VK_FUCHSIA_buffer_collection
 import Vulkan.Extensions.VK_FUCHSIA_external_memory
 import Vulkan.Extensions.VK_FUCHSIA_external_semaphore
 import Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface
@@ -366,6 +380,7 @@
 import Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1
 import Vulkan.Extensions.VK_GOOGLE_user_type
 import Vulkan.Extensions.VK_HUAWEI_invocation_mask
+import Vulkan.Extensions.VK_HUAWEI_subpass_shading
 import Vulkan.Extensions.VK_IMG_filter_cubic
 import Vulkan.Extensions.VK_IMG_format_pvrtc
 import Vulkan.Extensions.VK_INTEL_performance_query
@@ -400,6 +415,7 @@
 import Vulkan.Extensions.VK_KHR_external_semaphore_capabilities
 import Vulkan.Extensions.VK_KHR_external_semaphore_fd
 import Vulkan.Extensions.VK_KHR_external_semaphore_win32
+import Vulkan.Extensions.VK_KHR_format_feature_flags2
 import Vulkan.Extensions.VK_KHR_fragment_shading_rate
 import Vulkan.Extensions.VK_KHR_get_display_properties2
 import Vulkan.Extensions.VK_KHR_get_memory_requirements2
@@ -411,6 +427,7 @@
 import Vulkan.Extensions.VK_KHR_maintenance1
 import Vulkan.Extensions.VK_KHR_maintenance2
 import Vulkan.Extensions.VK_KHR_maintenance3
+import Vulkan.Extensions.VK_KHR_maintenance4
 import Vulkan.Extensions.VK_KHR_multiview
 import Vulkan.Extensions.VK_KHR_performance_query
 import Vulkan.Extensions.VK_KHR_pipeline_executable_properties
@@ -430,6 +447,7 @@
 import Vulkan.Extensions.VK_KHR_shader_draw_parameters
 import Vulkan.Extensions.VK_KHR_shader_float16_int8
 import Vulkan.Extensions.VK_KHR_shader_float_controls
+import Vulkan.Extensions.VK_KHR_shader_integer_dot_product
 import Vulkan.Extensions.VK_KHR_shader_non_semantic_info
 import Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
 import Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow
diff --git a/src/Vulkan/Extensions/Dependencies.hs b/src/Vulkan/Extensions/Dependencies.hs
--- a/src/Vulkan/Extensions/Dependencies.hs
+++ b/src/Vulkan/Extensions/Dependencies.hs
@@ -17,10 +17,12 @@
 import Vulkan.Extensions.VK_EXT_acquire_drm_display (pattern EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_acquire_xlib_display (pattern EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_astc_decode_mode (pattern EXT_ASTC_DECODE_MODE_EXTENSION_NAME)
+import Vulkan.Extensions.VK_EXT_border_color_swizzle (pattern EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_buffer_device_address (pattern EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_calibrated_timestamps (pattern EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_color_write_enable (pattern EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_conservative_rasterization (pattern EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME)
+import Vulkan.Extensions.VK_EXT_custom_border_color (pattern EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_debug_marker (pattern EXT_DEBUG_MARKER_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_debug_report (pattern EXT_DEBUG_REPORT_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_descriptor_indexing (pattern EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME)
@@ -50,10 +52,12 @@
 import Vulkan.Extensions.VK_EXT_memory_budget (pattern EXT_MEMORY_BUDGET_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_memory_priority (pattern EXT_MEMORY_PRIORITY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_metal_surface (pattern EXT_METAL_SURFACE_EXTENSION_NAME)
+import Vulkan.Extensions.VK_EXT_pageable_device_local_memory (pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_pci_bus_info (pattern EXT_PCI_BUS_INFO_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_physical_device_drm (pattern EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_provoking_vertex (pattern EXT_PROVOKING_VERTEX_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_queue_family_foreign (pattern EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME)
+import Vulkan.Extensions.VK_EXT_rgba10x6_formats (pattern EXT_RGBA10X6_FORMATS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_sampler_filter_minmax (pattern EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_sample_locations (pattern EXT_SAMPLE_LOCATIONS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_scalar_block_layout (pattern EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME)
@@ -70,6 +74,7 @@
 import Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state (pattern EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats (pattern EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_ycbcr_image_arrays (pattern EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME)
+import Vulkan.Extensions.VK_FUCHSIA_buffer_collection (pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME)
 import Vulkan.Extensions.VK_FUCHSIA_external_memory (pattern FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_FUCHSIA_external_semaphore (pattern FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface (pattern FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME)
@@ -77,6 +82,7 @@
 import Vulkan.Extensions.VK_GGP_stream_descriptor_surface (pattern GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_GOOGLE_display_timing (pattern GOOGLE_DISPLAY_TIMING_EXTENSION_NAME)
 import Vulkan.Extensions.VK_HUAWEI_invocation_mask (pattern HUAWEI_INVOCATION_MASK_EXTENSION_NAME)
+import Vulkan.Extensions.VK_HUAWEI_subpass_shading (pattern HUAWEI_SUBPASS_SHADING_EXTENSION_NAME)
 import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (pattern INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_16bit_storage (pattern KHR_16BIT_STORAGE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_8bit_storage (pattern KHR_8BIT_STORAGE_EXTENSION_NAME)
@@ -106,6 +112,7 @@
 import Vulkan.Extensions.VK_KHR_external_semaphore (pattern KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_external_semaphore_fd (pattern KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_external_semaphore_win32 (pattern KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_format_feature_flags2 (pattern KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_fragment_shading_rate (pattern KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_get_display_properties2 (pattern KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_get_memory_requirements2 (pattern KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME)
@@ -114,9 +121,10 @@
 import Vulkan.Extensions.VK_KHR_imageless_framebuffer (pattern KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_image_format_list (pattern KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_incremental_present (pattern KHR_INCREMENTAL_PRESENT_EXTENSION_NAME)
-import Vulkan.Extensions.VK_KHR_maintenance1 (pattern KHR_MAINTENANCE1_EXTENSION_NAME)
-import Vulkan.Extensions.VK_KHR_maintenance2 (pattern KHR_MAINTENANCE2_EXTENSION_NAME)
-import Vulkan.Extensions.VK_KHR_maintenance3 (pattern KHR_MAINTENANCE3_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_maintenance1 (pattern KHR_MAINTENANCE_1_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_maintenance2 (pattern KHR_MAINTENANCE_2_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_maintenance3 (pattern KHR_MAINTENANCE_3_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_maintenance4 (pattern KHR_MAINTENANCE_4_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_multiview (pattern KHR_MULTIVIEW_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_performance_query (pattern KHR_PERFORMANCE_QUERY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_pipeline_executable_properties (pattern KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME)
@@ -132,6 +140,7 @@
 import Vulkan.Extensions.VK_KHR_shader_clock (pattern KHR_SHADER_CLOCK_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_float16_int8 (pattern KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_float_controls (pattern KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_shader_integer_dot_product (pattern KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types (pattern KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (pattern KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_terminate_invocation (pattern KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME)
@@ -271,9 +280,12 @@
   EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME      -> [KHR_SURFACE_EXTENSION_NAME]
   EXT_HDR_METADATA_EXTENSION_NAME               -> [KHR_SWAPCHAIN_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]
-  KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME -> [KHR_MAINTENANCE2_EXTENSION_NAME, KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME]
+  KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME -> [KHR_MAINTENANCE_2_EXTENSION_NAME, KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME]
   KHR_CREATE_RENDERPASS_2_EXTENSION_NAME ->
-    [KHR_MULTIVIEW_EXTENSION_NAME, KHR_MAINTENANCE2_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+    [ KHR_MULTIVIEW_EXTENSION_NAME
+    , KHR_MAINTENANCE_2_EXTENSION_NAME
+    , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+    ]
   KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME ->
     [ KHR_SWAPCHAIN_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
@@ -317,7 +329,7 @@
     , KHR_EXTERNAL_MEMORY_EXTENSION_NAME
     , EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME
     , KHR_DEDICATED_ALLOCATION_EXTENSION_NAME
-    , KHR_MAINTENANCE1_EXTENSION_NAME
+    , KHR_MAINTENANCE_1_EXTENSION_NAME
     , KHR_BIND_MEMORY_2_EXTENSION_NAME
     , KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
@@ -325,14 +337,14 @@
     ]
   EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME ->
-    [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, KHR_MAINTENANCE1_EXTENSION_NAME]
+    [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, KHR_MAINTENANCE_1_EXTENSION_NAME]
   EXT_SAMPLE_LOCATIONS_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME ->
     [ EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME
     , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
     , KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
-    , KHR_MAINTENANCE3_EXTENSION_NAME
+    , KHR_MAINTENANCE_3_EXTENSION_NAME
     ]
   KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME ->
     [ KHR_SPIRV_1_4_EXTENSION_NAME
@@ -342,7 +354,7 @@
     , EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME
     , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
     , KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME
-    , KHR_MAINTENANCE3_EXTENSION_NAME
+    , KHR_MAINTENANCE_3_EXTENSION_NAME
     ]
   KHR_RAY_QUERY_EXTENSION_NAME ->
     [ KHR_SPIRV_1_4_EXTENSION_NAME
@@ -352,10 +364,10 @@
     , EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME
     , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
     , KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME
-    , KHR_MAINTENANCE3_EXTENSION_NAME
+    , KHR_MAINTENANCE_3_EXTENSION_NAME
     ]
   KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME ->
-    [ KHR_MAINTENANCE1_EXTENSION_NAME
+    [ KHR_MAINTENANCE_1_EXTENSION_NAME
     , KHR_BIND_MEMORY_2_EXTENSION_NAME
     , KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
@@ -365,16 +377,16 @@
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
     , KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME
     , KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
-    , KHR_MAINTENANCE1_EXTENSION_NAME
+    , KHR_MAINTENANCE_1_EXTENSION_NAME
     , KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
     ]
   EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME ->
-    [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, KHR_MAINTENANCE3_EXTENSION_NAME]
+    [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, KHR_MAINTENANCE_3_EXTENSION_NAME]
   KHR_PORTABILITY_SUBSET_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   NV_SHADING_RATE_IMAGE_EXTENSION_NAME  -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   NV_RAY_TRACING_EXTENSION_NAME ->
     [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME]
-  KHR_MAINTENANCE3_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  KHR_MAINTENANCE_3_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   KHR_8BIT_STORAGE_EXTENSION_NAME ->
     [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME, KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME]
   EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME ->
@@ -394,12 +406,12 @@
   KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME ->
     [ KHR_CREATE_RENDERPASS_2_EXTENSION_NAME
     , KHR_MULTIVIEW_EXTENSION_NAME
-    , KHR_MAINTENANCE2_EXTENSION_NAME
+    , KHR_MAINTENANCE_2_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
     ]
   KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME ->
     [ KHR_SWAPCHAIN_EXTENSION_NAME
-    , KHR_MAINTENANCE2_EXTENSION_NAME
+    , KHR_MAINTENANCE_2_EXTENSION_NAME
     , KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME
     , KHR_SURFACE_EXTENSION_NAME
     ]
@@ -427,7 +439,7 @@
     [ KHR_CREATE_RENDERPASS_2_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
     , KHR_MULTIVIEW_EXTENSION_NAME
-    , KHR_MAINTENANCE2_EXTENSION_NAME
+    , KHR_MAINTENANCE_2_EXTENSION_NAME
     ]
   AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME ->
     [AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
@@ -444,7 +456,7 @@
     [ KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
     , KHR_CREATE_RENDERPASS_2_EXTENSION_NAME
     , KHR_MULTIVIEW_EXTENSION_NAME
-    , KHR_MAINTENANCE2_EXTENSION_NAME
+    , KHR_MAINTENANCE_2_EXTENSION_NAME
     ]
   EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   KHR_PRESENT_WAIT_EXTENSION_NAME ->
@@ -454,7 +466,7 @@
   EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME ->
     [ KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
-    , KHR_MAINTENANCE1_EXTENSION_NAME
+    , KHR_MAINTENANCE_1_EXTENSION_NAME
     , KHR_BIND_MEMORY_2_EXTENSION_NAME
     , KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
@@ -477,9 +489,12 @@
   EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME ->
     [EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
-  EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME             -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
-  QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME             -> [KHR_SWAPCHAIN_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]
-  EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME               -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME ->
+    [KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME     -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME     -> [KHR_SWAPCHAIN_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]
+  EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME       -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME ->
     [EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME, KHR_DISPLAY_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]
   KHR_PRESENT_ID_EXTENSION_NAME                       -> [KHR_SWAPCHAIN_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]
@@ -491,7 +506,7 @@
     , KHR_CREATE_RENDERPASS_2_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
     , KHR_MULTIVIEW_EXTENSION_NAME
-    , KHR_MAINTENANCE2_EXTENSION_NAME
+    , KHR_MAINTENANCE_2_EXTENSION_NAME
     ]
   NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME ->
     [ KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME
@@ -502,11 +517,11 @@
     , EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME
     , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
     , KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME
-    , KHR_MAINTENANCE3_EXTENSION_NAME
+    , KHR_MAINTENANCE_3_EXTENSION_NAME
     ]
   EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME ->
     [ KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
-    , KHR_MAINTENANCE1_EXTENSION_NAME
+    , KHR_MAINTENANCE_1_EXTENSION_NAME
     , KHR_BIND_MEMORY_2_EXTENSION_NAME
     , KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
@@ -518,13 +533,21 @@
   EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME                 -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_4444_FORMATS_EXTENSION_NAME                     -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  EXT_RGBA10X6_FORMATS_EXTENSION_NAME ->
+    [ KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
+    , KHR_MAINTENANCE_1_EXTENSION_NAME
+    , KHR_BIND_MEMORY_2_EXTENSION_NAME
+    , KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
+    , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+    ]
   NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME ->
     [EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME, KHR_DISPLAY_EXTENSION_NAME, KHR_SURFACE_EXTENSION_NAME]
   EXT_DIRECTFB_SURFACE_EXTENSION_NAME -> [KHR_SURFACE_EXTENSION_NAME]
   VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME ->
-    [KHR_MAINTENANCE3_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+    [KHR_MAINTENANCE_3_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME        -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME     -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME ->
     [ KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
     , KHR_EXTERNAL_MEMORY_EXTENSION_NAME
@@ -535,6 +558,23 @@
     , KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME
     , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
     ]
+  FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME ->
+    [ FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME
+    , KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME
+    , KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME
+    , KHR_EXTERNAL_MEMORY_EXTENSION_NAME
+    , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+    , KHR_MAINTENANCE_1_EXTENSION_NAME
+    , KHR_BIND_MEMORY_2_EXTENSION_NAME
+    , KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME
+    ]
+  HUAWEI_SUBPASS_SHADING_EXTENSION_NAME ->
+    [ KHR_CREATE_RENDERPASS_2_EXTENSION_NAME
+    , KHR_SYNCHRONIZATION_2_EXTENSION_NAME
+    , KHR_MULTIVIEW_EXTENSION_NAME
+    , KHR_MAINTENANCE_2_EXTENSION_NAME
+    , KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+    ]
   HUAWEI_INVOCATION_MASK_EXTENSION_NAME ->
     [ KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME
     , KHR_SYNCHRONIZATION_2_EXTENSION_NAME
@@ -545,7 +585,7 @@
     , EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME
     , KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME
     , KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME
-    , KHR_MAINTENANCE3_EXTENSION_NAME
+    , KHR_MAINTENANCE_3_EXTENSION_NAME
     ]
   NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME ->
     [ KHR_EXTERNAL_MEMORY_EXTENSION_NAME
@@ -557,6 +597,9 @@
   EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME       -> [KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME ->
     [EXT_GLOBAL_PRIORITY_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
+  EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME -> [EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME]
+  EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME ->
+    [EXT_MEMORY_PRIORITY_EXTENSION_NAME, KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME]
   _ -> []
 
 -- | The minimum required API version to use this extension
@@ -573,5 +616,6 @@
   KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0
   NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0
   KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0
+  KHR_MAINTENANCE_4_EXTENSION_NAME -> MAKE_API_VERSION 1 1 0
   _                            -> API_VERSION_1_0
 
diff --git a/src/Vulkan/Extensions/Handles.hs b/src/Vulkan/Extensions/Handles.hs
--- a/src/Vulkan/Extensions/Handles.hs
+++ b/src/Vulkan/Extensions/Handles.hs
@@ -5,6 +5,7 @@
                                   , AccelerationStructureKHR(..)
                                   , AccelerationStructureNV(..)
                                   , PerformanceConfigurationINTEL(..)
+                                  , BufferCollectionFUCHSIA(..)
                                   , DeferredOperationKHR(..)
                                   , PrivateDataSlotEXT(..)
                                   , CuModuleNVX(..)
@@ -52,6 +53,7 @@
 import Vulkan.Core10.APIConstants (IsHandle)
 import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR))
 import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_ACCELERATION_STRUCTURE_NV))
+import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA))
 import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_CU_FUNCTION_NVX))
 import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_CU_MODULE_NVX))
 import Vulkan.Core10.Enums.ObjectType (ObjectType(OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT))
@@ -96,6 +98,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsInfoNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.GeneratedCommandsMemoryRequirementsInfoNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.createIndirectCommandsLayoutNV',
@@ -113,6 +116,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'Vulkan.Extensions.VK_EXT_validation_cache.ShaderModuleValidationCacheCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_validation_cache.createValidationCacheEXT',
 -- 'Vulkan.Extensions.VK_EXT_validation_cache.destroyValidationCacheEXT',
@@ -132,6 +136,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureBuildGeometryInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.AccelerationStructureDeviceAddressInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureInfoKHR',
@@ -156,6 +161,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsInfoNV',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.WriteDescriptorSetAccelerationStructureNV',
@@ -179,6 +185,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Extensions.VK_INTEL_performance_query.acquirePerformanceConfigurationINTEL',
 -- 'Vulkan.Extensions.VK_INTEL_performance_query.queueSetPerformanceConfigurationINTEL',
 -- 'Vulkan.Extensions.VK_INTEL_performance_query.releasePerformanceConfigurationINTEL'
@@ -191,6 +198,28 @@
   showsPrec p (PerformanceConfigurationINTEL x) = showParen (p >= 11) (showString "PerformanceConfigurationINTEL 0x" . showHex x)
 
 
+-- | VkBufferCollectionFUCHSIA - Opaque handle to a buffer collection object
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionBufferCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.BufferCollectionImageCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.ImportMemoryBufferCollectionFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.createBufferCollectionFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.destroyBufferCollectionFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.getBufferCollectionPropertiesFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.setBufferCollectionBufferConstraintsFUCHSIA',
+-- 'Vulkan.Extensions.VK_FUCHSIA_buffer_collection.setBufferCollectionImageConstraintsFUCHSIA'
+newtype BufferCollectionFUCHSIA = BufferCollectionFUCHSIA Word64
+  deriving newtype (Eq, Ord, Storable, Zero)
+  deriving anyclass (IsHandle)
+instance HasObjectType BufferCollectionFUCHSIA where
+  objectTypeAndHandle (BufferCollectionFUCHSIA h) = (OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA, h)
+instance Show BufferCollectionFUCHSIA where
+  showsPrec p (BufferCollectionFUCHSIA x) = showParen (p >= 11) (showString "BufferCollectionFUCHSIA 0x" . showHex x)
+
+
 -- | VkDeferredOperationKHR - A deferred operation
 --
 -- = Description
@@ -200,6 +229,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_deferred_host_operations VK_KHR_deferred_host_operations>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.buildAccelerationStructuresKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.copyAccelerationStructureKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.copyAccelerationStructureToMemoryKHR',
@@ -223,6 +253,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'Vulkan.Extensions.VK_EXT_private_data.createPrivateDataSlotEXT',
 -- 'Vulkan.Extensions.VK_EXT_private_data.destroyPrivateDataSlotEXT',
 -- 'Vulkan.Extensions.VK_EXT_private_data.getPrivateDataEXT',
@@ -260,6 +291,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR',
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_acquire_drm_display.acquireDrmDisplayEXT',
@@ -288,6 +320,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR',
 -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneInfo2KHR',
 -- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR',
@@ -315,6 +348,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_android_surface.createAndroidSurfaceKHR',
@@ -407,6 +441,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'Vulkan.Extensions.VK_KHR_swapchain.AcquireNextImageInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR',
@@ -440,6 +475,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
 -- 'Vulkan.Extensions.VK_EXT_debug_report.createDebugReportCallbackEXT',
 -- 'Vulkan.Extensions.VK_EXT_debug_report.destroyDebugReportCallbackEXT'
 newtype DebugReportCallbackEXT = DebugReportCallbackEXT Word64
@@ -465,6 +501,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.createDebugUtilsMessengerEXT',
 -- 'Vulkan.Extensions.VK_EXT_debug_utils.destroyDebugUtilsMessengerEXT'
 newtype DebugUtilsMessengerEXT = DebugUtilsMessengerEXT Word64
diff --git a/src/Vulkan/Extensions/Handles.hs-boot b/src/Vulkan/Extensions/Handles.hs-boot
--- a/src/Vulkan/Extensions/Handles.hs-boot
+++ b/src/Vulkan/Extensions/Handles.hs-boot
@@ -2,6 +2,7 @@
 -- No documentation found for Chapter "Handles"
 module Vulkan.Extensions.Handles  ( AccelerationStructureKHR
                                   , AccelerationStructureNV
+                                  , BufferCollectionFUCHSIA
                                   , CuFunctionNVX
                                   , CuModuleNVX
                                   , DebugReportCallbackEXT
@@ -23,6 +24,9 @@
 
 
 data AccelerationStructureNV
+
+
+data BufferCollectionFUCHSIA
 
 
 data CuFunctionNVX
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
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_buffer_marker:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_buffer_marker] @drakos-amd%0A<<Here describe the issue or question you have about the VK_AMD_buffer_marker extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -266,6 +266,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_buffer_marker VK_AMD_buffer_marker>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits'
diff --git a/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs b/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs
--- a/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs
+++ b/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_device_coherent_memory:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_device_coherent_memory] @tobski%0A<<Here describe the issue or question you have about the VK_AMD_device_coherent_memory extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -145,6 +145,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_device_coherent_memory VK_AMD_device_coherent_memory>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceCoherentMemoryFeaturesAMD = PhysicalDeviceCoherentMemoryFeaturesAMD
diff --git a/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs-boot b/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_device_coherent_memory.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_device_coherent_memory:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_device_coherent_memory] @tobski%0A<<Here describe the issue or question you have about the VK_AMD_device_coherent_memory extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs b/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs
--- a/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs
+++ b/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_display_native_hdr:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_display_native_hdr] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_display_native_hdr extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -206,6 +206,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_display_native_hdr VK_AMD_display_native_hdr>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
 setLocalDimmingAMD :: forall io
@@ -234,6 +235,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_display_native_hdr VK_AMD_display_native_hdr>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DisplayNativeHdrSurfaceCapabilitiesAMD = DisplayNativeHdrSurfaceCapabilitiesAMD
@@ -309,6 +311,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_display_native_hdr VK_AMD_display_native_hdr>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SwapchainDisplayNativeHdrCreateInfoAMD = SwapchainDisplayNativeHdrCreateInfoAMD
diff --git a/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs-boot b/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_display_native_hdr.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_display_native_hdr:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_display_native_hdr] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_display_native_hdr extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs b/src/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs
--- a/src/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs
+++ b/src/Vulkan/Extensions/VK_AMD_draw_indirect_count.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_draw_indirect_count:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_draw_indirect_count] @drakos-amd%0A<<Here describe the issue or question you have about the VK_AMD_draw_indirect_count extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -40,8 +40,7 @@
 --
 -- [__Interactions and External Dependencies__]
 --
---     -   Promoted to
---         <VK_KHR_draw_indirect_count.html VK_KHR_draw_indirect_count>
+--     -   Promoted to @VK_KHR_draw_indirect_count@
 --
 -- [__IP Status__]
 --     No known IP claims.
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Dominik Witczak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_gcn_shader:%20&body=@dominikwitczakamd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_gcn_shader] @dominikwitczakamd%0A<<Here describe the issue or question you have about the VK_AMD_gcn_shader extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Dominik Witczak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_gpu_shader_half_float:%20&body=@dominikwitczakamd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_gpu_shader_half_float] @dominikwitczakamd%0A<<Here describe the issue or question you have about the VK_AMD_gpu_shader_half_float extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Qun Lin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_gpu_shader_int16:%20&body=@linqun%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_gpu_shader_int16] @linqun%0A<<Here describe the issue or question you have about the VK_AMD_gpu_shader_int16 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs b/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs
--- a/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs
+++ b/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Martin Dinkov
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_memory_overallocation_behavior:%20&body=@mdinkov%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_memory_overallocation_behavior] @mdinkov%0A<<Here describe the issue or question you have about the VK_AMD_memory_overallocation_behavior extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -135,6 +135,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_memory_overallocation_behavior VK_AMD_memory_overallocation_behavior>,
 -- 'MemoryOverallocationBehaviorAMD',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceMemoryOverallocationCreateInfoAMD = DeviceMemoryOverallocationCreateInfoAMD
@@ -187,6 +188,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_memory_overallocation_behavior VK_AMD_memory_overallocation_behavior>,
 -- 'DeviceMemoryOverallocationCreateInfoAMD'
 newtype MemoryOverallocationBehaviorAMD = MemoryOverallocationBehaviorAMD Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs-boot b/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_memory_overallocation_behavior.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Martin Dinkov
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_memory_overallocation_behavior:%20&body=@mdinkov%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_memory_overallocation_behavior] @mdinkov%0A<<Here describe the issue or question you have about the VK_AMD_memory_overallocation_behavior extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_mixed_attachment_samples.hs b/src/Vulkan/Extensions/VK_AMD_mixed_attachment_samples.hs
--- a/src/Vulkan/Extensions/VK_AMD_mixed_attachment_samples.hs
+++ b/src/Vulkan/Extensions/VK_AMD_mixed_attachment_samples.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_mixed_attachment_samples:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_mixed_attachment_samples] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_mixed_attachment_samples extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_negative_viewport_height.hs b/src/Vulkan/Extensions/VK_AMD_negative_viewport_height.hs
--- a/src/Vulkan/Extensions/VK_AMD_negative_viewport_height.hs
+++ b/src/Vulkan/Extensions/VK_AMD_negative_viewport_height.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_negative_viewport_height:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_negative_viewport_height] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_negative_viewport_height extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs b/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs
--- a/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs
+++ b/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_pipeline_compiler_control:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_pipeline_compiler_control] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_pipeline_compiler_control extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -146,6 +146,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_pipeline_compiler_control VK_AMD_pipeline_compiler_control>,
 -- 'PipelineCompilerControlFlagsAMD',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineCompilerControlCreateInfoAMD = PipelineCompilerControlCreateInfoAMD
@@ -200,6 +201,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_pipeline_compiler_control VK_AMD_pipeline_compiler_control>,
 -- 'PipelineCompilerControlFlagsAMD'
 newtype PipelineCompilerControlFlagBitsAMD = PipelineCompilerControlFlagBitsAMD Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs-boot b/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_pipeline_compiler_control.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_pipeline_compiler_control:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_pipeline_compiler_control] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_pipeline_compiler_control extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs b/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs
--- a/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs
+++ b/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_rasterization_order:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_rasterization_order] @drakos-amd%0A<<Here describe the issue or question you have about the VK_AMD_rasterization_order extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -214,6 +214,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_rasterization_order VK_AMD_rasterization_order>,
 -- 'RasterizationOrderAMD',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineRasterizationStateRasterizationOrderAMD = PipelineRasterizationStateRasterizationOrderAMD
@@ -266,6 +267,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_rasterization_order VK_AMD_rasterization_order>,
 -- 'PipelineRasterizationStateRasterizationOrderAMD'
 newtype RasterizationOrderAMD = RasterizationOrderAMD Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs-boot b/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_rasterization_order.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_rasterization_order:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_rasterization_order] @drakos-amd%0A<<Here describe the issue or question you have about the VK_AMD_rasterization_order extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Dominik Witczak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_ballot:%20&body=@dominikwitczakamd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_ballot] @dominikwitczakamd%0A<<Here describe the issue or question you have about the VK_AMD_shader_ballot extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs b/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Martin Dinkov
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_core_properties:%20&body=@mdinkov%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_core_properties] @mdinkov%0A<<Here describe the issue or question you have about the VK_AMD_shader_core_properties extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -195,6 +195,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_shader_core_properties VK_AMD_shader_core_properties>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderCorePropertiesAMD = PhysicalDeviceShaderCorePropertiesAMD
   { -- | #limits-shaderEngineCount# @shaderEngineCount@ is an unsigned integer
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs-boot b/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_shader_core_properties.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Martin Dinkov
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_core_properties:%20&body=@mdinkov%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_core_properties] @mdinkov%0A<<Here describe the issue or question you have about the VK_AMD_shader_core_properties extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs b/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_core_properties2:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_core_properties2] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_shader_core_properties2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -151,6 +151,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_shader_core_properties2 VK_AMD_shader_core_properties2>,
 -- 'ShaderCorePropertiesFlagsAMD',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderCoreProperties2AMD = PhysicalDeviceShaderCoreProperties2AMD
@@ -212,6 +213,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_shader_core_properties2 VK_AMD_shader_core_properties2>,
 -- 'PhysicalDeviceShaderCoreProperties2AMD', 'ShaderCorePropertiesFlagsAMD'
 newtype ShaderCorePropertiesFlagBitsAMD = ShaderCorePropertiesFlagBitsAMD Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs-boot b/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_shader_core_properties2.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_core_properties2:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_core_properties2] @anteru%0A<<Here describe the issue or question you have about the VK_AMD_shader_core_properties2 extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Qun Lin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_explicit_vertex_parameter:%20&body=@linqun%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_explicit_vertex_parameter] @linqun%0A<<Here describe the issue or question you have about the VK_AMD_shader_explicit_vertex_parameter extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Aaron Hagan
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_fragment_mask:%20&body=@AaronHaganAMD%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_fragment_mask] @AaronHaganAMD%0A<<Here describe the issue or question you have about the VK_AMD_shader_fragment_mask extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_image_load_store_lod.hs b/src/Vulkan/Extensions/VK_AMD_shader_image_load_store_lod.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_image_load_store_lod.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_image_load_store_lod.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Dominik Witczak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_image_load_store_lod:%20&body=@dominikwitczakamd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_image_load_store_lod] @dominikwitczakamd%0A<<Here describe the issue or question you have about the VK_AMD_shader_image_load_store_lod extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_info.hs b/src/Vulkan/Extensions/VK_AMD_shader_info.hs
--- a/src/Vulkan/Extensions/VK_AMD_shader_info.hs
+++ b/src/Vulkan/Extensions/VK_AMD_shader_info.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jaakko Konttinen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_info:%20&body=@jaakkoamd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_info] @jaakkoamd%0A<<Here describe the issue or question you have about the VK_AMD_shader_info extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -321,6 +321,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_shader_info VK_AMD_shader_info>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline',
 -- 'ShaderInfoTypeAMD',
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits'
@@ -361,6 +362,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_shader_info VK_AMD_shader_info>,
 -- 'ShaderStatisticsInfoAMD'
 data ShaderResourceUsageAMD = ShaderResourceUsageAMD
   { -- | @numUsedVgprs@ is the number of vector instruction general-purpose
@@ -449,6 +451,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_shader_info VK_AMD_shader_info>,
 -- 'ShaderResourceUsageAMD',
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags'
 data ShaderStatisticsInfoAMD = ShaderStatisticsInfoAMD
@@ -550,6 +553,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_shader_info VK_AMD_shader_info>,
 -- 'getShaderInfoAMD'
 newtype ShaderInfoTypeAMD = ShaderInfoTypeAMD Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_AMD_shader_info.hs-boot b/src/Vulkan/Extensions/VK_AMD_shader_info.hs-boot
--- a/src/Vulkan/Extensions/VK_AMD_shader_info.hs-boot
+++ b/src/Vulkan/Extensions/VK_AMD_shader_info.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jaakko Konttinen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_info:%20&body=@jaakkoamd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_info] @jaakkoamd%0A<<Here describe the issue or question you have about the VK_AMD_shader_info extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Qun Lin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_shader_trinary_minmax:%20&body=@linqun%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_shader_trinary_minmax] @linqun%0A<<Here describe the issue or question you have about the VK_AMD_shader_trinary_minmax extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Rex Xu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_texture_gather_bias_lod:%20&body=@amdrexu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_texture_gather_bias_lod] @amdrexu%0A<<Here describe the issue or question you have about the VK_AMD_texture_gather_bias_lod extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -186,6 +186,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_texture_gather_bias_lod VK_AMD_texture_gather_bias_lod>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data TextureLODGatherFormatPropertiesAMD = TextureLODGatherFormatPropertiesAMD
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Rex Xu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_AMD_texture_gather_bias_lod:%20&body=@amdrexu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_AMD_texture_gather_bias_lod] @amdrexu%0A<<Here describe the issue or question you have about the VK_AMD_texture_gather_bias_lod extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs b/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs
--- a/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs
+++ b/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs
@@ -15,7 +15,7 @@
 --     130
 --
 -- [__Revision__]
---     3
+--     4
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -32,12 +32,12 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_ANDROID_external_memory_android_hardware_buffer:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_ANDROID_external_memory_android_hardware_buffer] @critsec%0A<<Here describe the issue or question you have about the VK_ANDROID_external_memory_android_hardware_buffer extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2019-08-27
+--     2021-09-30
 --
 -- [__IP Status__]
 --     No known IP claims.
@@ -110,6 +110,14 @@
 --
 --     -   'ImportAndroidHardwareBufferInfoANDROID'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'AndroidHardwareBufferPropertiesANDROID':
+--
+--     -   'AndroidHardwareBufferFormatProperties2ANDROID'
+--
 -- == New Enum Constants
 --
 -- -   'ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME'
@@ -135,6 +143,14 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID'
+--
 -- == Issues
 --
 -- 1) Other external memory objects are represented as weakly-typed handles
@@ -226,6 +242,10 @@
 --
 -- == Version History
 --
+-- -   Revision 4, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
+--
 -- -   Revision 3, 2019-08-27 (Jon Leech)
 --
 --     -   Update revision history to correspond to XML version number
@@ -263,11 +283,15 @@
                                                                              , MemoryGetAndroidHardwareBufferInfoANDROID(..)
                                                                              , AndroidHardwareBufferFormatPropertiesANDROID(..)
                                                                              , ExternalFormatANDROID(..)
+                                                                             , AndroidHardwareBufferFormatProperties2ANDROID(..)
                                                                              , ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION
                                                                              , pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION
                                                                              , ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME
                                                                              , pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME
                                                                              , AHardwareBuffer
+                                                                             , FormatFeatureFlagBits2KHR(..)
+                                                                             , FormatFeatureFlags2KHR
+                                                                             , Flags64
                                                                              ) where
 
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -324,6 +348,7 @@
 import Vulkan.CStruct.Extends (Extensible(..))
 import Vulkan.Core10.Enums.Format (Format)
 import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlags)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
 import Vulkan.CStruct.Extends (PeekChain)
 import Vulkan.CStruct.Extends (PeekChain(..))
 import Vulkan.CStruct.Extends (PokeChain)
@@ -335,6 +360,7 @@
 import Vulkan.CStruct.Extends (SomeStruct)
 import Vulkan.Core10.Enums.StructureType (StructureType)
 import Vulkan.Exception (VulkanException(..))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID))
@@ -342,6 +368,9 @@
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID))
 import Vulkan.Core10.Enums.Result (Result(SUCCESS))
+import Vulkan.Core10.FundamentalTypes (Flags64)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlagBits2KHR(..))
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
   unsafe
@@ -366,6 +395,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'AndroidHardwareBufferPropertiesANDROID', 'Vulkan.Core10.Handles.Device'
 getAndroidHardwareBufferPropertiesANDROID :: forall a io
                                            . (Extendss AndroidHardwareBufferPropertiesANDROID a, PokeChain a, PeekChain a, MonadIO io)
@@ -435,6 +465,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'MemoryGetAndroidHardwareBufferInfoANDROID'
 getMemoryAndroidHardwareBufferANDROID :: forall io
@@ -502,6 +533,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImportAndroidHardwareBufferInfoANDROID = ImportAndroidHardwareBufferInfoANDROID
   { -- | @buffer@ is the Android hardware buffer to import.
@@ -575,6 +607,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data AndroidHardwareBufferUsageANDROID = AndroidHardwareBufferUsageANDROID
   { -- | @androidHardwareBufferUsage@ returns the Android hardware buffer usage
@@ -627,8 +660,10 @@
 --     /must/ be
 --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID'
 --
--- -   #VUID-VkAndroidHardwareBufferPropertiesANDROID-pNext-pNext# @pNext@
---     /must/ be @NULL@ or a pointer to a valid instance of
+-- -   #VUID-VkAndroidHardwareBufferPropertiesANDROID-pNext-pNext# Each
+--     @pNext@ member of any structure (including this one) in the @pNext@
+--     chain /must/ be either @NULL@ or a pointer to a valid instance of
+--     'AndroidHardwareBufferFormatProperties2ANDROID' or
 --     'AndroidHardwareBufferFormatPropertiesANDROID'
 --
 -- -   #VUID-VkAndroidHardwareBufferPropertiesANDROID-sType-unique# The
@@ -636,6 +671,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getAndroidHardwareBufferPropertiesANDROID'
@@ -660,6 +696,7 @@
   getNext AndroidHardwareBufferPropertiesANDROID{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends AndroidHardwareBufferPropertiesANDROID e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @AndroidHardwareBufferFormatProperties2ANDROID = Just f
     | Just Refl <- eqT @e @AndroidHardwareBufferFormatPropertiesANDROID = Just f
     | otherwise = Nothing
 
@@ -731,6 +768,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getMemoryAndroidHardwareBufferANDROID'
@@ -867,6 +905,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation',
 -- 'Vulkan.Core10.ImageView.ComponentMapping',
 -- 'Vulkan.Core10.Enums.Format.Format',
@@ -981,6 +1020,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalFormatANDROID = ExternalFormatANDROID
   { -- | @externalFormat@ is an implementation-defined identifier for the
@@ -1029,11 +1069,121 @@
            zero
 
 
-type ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION = 3
+-- | VkAndroidHardwareBufferFormatProperties2ANDROID - Structure describing
+-- the image format properties of an Android hardware buffer
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_ANDROID_external_memory_android_hardware_buffer VK_ANDROID_external_memory_android_hardware_buffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>,
+-- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation',
+-- 'Vulkan.Core10.ImageView.ComponentMapping',
+-- 'Vulkan.Core10.Enums.Format.Format',
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR',
+-- 'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion',
+-- 'Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data AndroidHardwareBufferFormatProperties2ANDROID = AndroidHardwareBufferFormatProperties2ANDROID
+  { -- | @format@ is the Vulkan format corresponding to the Android hardware
+    -- buffer’s format, or 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED' if
+    -- there is not an equivalent Vulkan format.
+    format :: Format
+  , -- | @externalFormat@ is an implementation-defined external format identifier
+    -- for use with 'ExternalFormatANDROID'. It /must/ not be zero.
+    externalFormat :: Word64
+  , -- | @formatFeatures@ describes the capabilities of this external format when
+    -- used with an image bound to memory imported from @buffer@.
+    formatFeatures :: FormatFeatureFlags2KHR
+  , -- | @samplerYcbcrConversionComponents@ is the component swizzle that
+    -- /should/ be used in
+    -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'.
+    samplerYcbcrConversionComponents :: ComponentMapping
+  , -- | @suggestedYcbcrModel@ is a suggested color model to use in the
+    -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'.
+    suggestedYcbcrModel :: SamplerYcbcrModelConversion
+  , -- | @suggestedYcbcrRange@ is a suggested numerical value range to use in
+    -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'.
+    suggestedYcbcrRange :: SamplerYcbcrRange
+  , -- | @suggestedXChromaOffset@ is a suggested X chroma offset to use in
+    -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'.
+    suggestedXChromaOffset :: ChromaLocation
+  , -- | @suggestedYChromaOffset@ is a suggested Y chroma offset to use in
+    -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'.
+    suggestedYChromaOffset :: ChromaLocation
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (AndroidHardwareBufferFormatProperties2ANDROID)
+#endif
+deriving instance Show AndroidHardwareBufferFormatProperties2ANDROID
 
+instance ToCStruct AndroidHardwareBufferFormatProperties2ANDROID where
+  withCStruct x f = allocaBytes 72 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p AndroidHardwareBufferFormatProperties2ANDROID{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Format)) (format)
+    poke ((p `plusPtr` 24 :: Ptr Word64)) (externalFormat)
+    poke ((p `plusPtr` 32 :: Ptr FormatFeatureFlags2KHR)) (formatFeatures)
+    poke ((p `plusPtr` 40 :: Ptr ComponentMapping)) (samplerYcbcrConversionComponents)
+    poke ((p `plusPtr` 56 :: Ptr SamplerYcbcrModelConversion)) (suggestedYcbcrModel)
+    poke ((p `plusPtr` 60 :: Ptr SamplerYcbcrRange)) (suggestedYcbcrRange)
+    poke ((p `plusPtr` 64 :: Ptr ChromaLocation)) (suggestedXChromaOffset)
+    poke ((p `plusPtr` 68 :: Ptr ChromaLocation)) (suggestedYChromaOffset)
+    f
+  cStructSize = 72
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Format)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Word64)) (zero)
+    poke ((p `plusPtr` 32 :: Ptr FormatFeatureFlags2KHR)) (zero)
+    poke ((p `plusPtr` 40 :: Ptr ComponentMapping)) (zero)
+    poke ((p `plusPtr` 56 :: Ptr SamplerYcbcrModelConversion)) (zero)
+    poke ((p `plusPtr` 60 :: Ptr SamplerYcbcrRange)) (zero)
+    poke ((p `plusPtr` 64 :: Ptr ChromaLocation)) (zero)
+    poke ((p `plusPtr` 68 :: Ptr ChromaLocation)) (zero)
+    f
+
+instance FromCStruct AndroidHardwareBufferFormatProperties2ANDROID where
+  peekCStruct p = do
+    format <- peek @Format ((p `plusPtr` 16 :: Ptr Format))
+    externalFormat <- peek @Word64 ((p `plusPtr` 24 :: Ptr Word64))
+    formatFeatures <- peek @FormatFeatureFlags2KHR ((p `plusPtr` 32 :: Ptr FormatFeatureFlags2KHR))
+    samplerYcbcrConversionComponents <- peekCStruct @ComponentMapping ((p `plusPtr` 40 :: Ptr ComponentMapping))
+    suggestedYcbcrModel <- peek @SamplerYcbcrModelConversion ((p `plusPtr` 56 :: Ptr SamplerYcbcrModelConversion))
+    suggestedYcbcrRange <- peek @SamplerYcbcrRange ((p `plusPtr` 60 :: Ptr SamplerYcbcrRange))
+    suggestedXChromaOffset <- peek @ChromaLocation ((p `plusPtr` 64 :: Ptr ChromaLocation))
+    suggestedYChromaOffset <- peek @ChromaLocation ((p `plusPtr` 68 :: Ptr ChromaLocation))
+    pure $ AndroidHardwareBufferFormatProperties2ANDROID
+             format externalFormat formatFeatures samplerYcbcrConversionComponents suggestedYcbcrModel suggestedYcbcrRange suggestedXChromaOffset suggestedYChromaOffset
+
+instance Storable AndroidHardwareBufferFormatProperties2ANDROID where
+  sizeOf ~_ = 72
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero AndroidHardwareBufferFormatProperties2ANDROID where
+  zero = AndroidHardwareBufferFormatProperties2ANDROID
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+
+
+type ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION = 4
+
 -- No documentation found for TopLevel "VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION"
 pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION :: forall a . Integral a => a
-pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION = 3
+pattern ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION = 4
 
 
 type ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME = "VK_ANDROID_external_memory_android_hardware_buffer"
diff --git a/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs-boot b/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs-boot
--- a/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs-boot
+++ b/src/Vulkan/Extensions/VK_ANDROID_external_memory_android_hardware_buffer.hs-boot
@@ -15,7 +15,7 @@
 --     130
 --
 -- [__Revision__]
---     3
+--     4
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -32,12 +32,12 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_ANDROID_external_memory_android_hardware_buffer:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_ANDROID_external_memory_android_hardware_buffer] @critsec%0A<<Here describe the issue or question you have about the VK_ANDROID_external_memory_android_hardware_buffer extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2019-08-27
+--     2021-09-30
 --
 -- [__IP Status__]
 --     No known IP claims.
@@ -110,6 +110,14 @@
 --
 --     -   'ImportAndroidHardwareBufferInfoANDROID'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'AndroidHardwareBufferPropertiesANDROID':
+--
+--     -   'AndroidHardwareBufferFormatProperties2ANDROID'
+--
 -- == New Enum Constants
 --
 -- -   'ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME'
@@ -135,6 +143,14 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID'
+--
 -- == Issues
 --
 -- 1) Other external memory objects are represented as weakly-typed handles
@@ -226,6 +242,10 @@
 --
 -- == Version History
 --
+-- -   Revision 4, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
+--
 -- -   Revision 3, 2019-08-27 (Jon Leech)
 --
 --     -   Update revision history to correspond to XML version number
@@ -255,7 +275,8 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer  ( AndroidHardwareBufferFormatPropertiesANDROID
+module Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer  ( AndroidHardwareBufferFormatProperties2ANDROID
+                                                                             , AndroidHardwareBufferFormatPropertiesANDROID
                                                                              , AndroidHardwareBufferPropertiesANDROID
                                                                              , AndroidHardwareBufferUsageANDROID
                                                                              , ExternalFormatANDROID
@@ -271,6 +292,14 @@
 import {-# SOURCE #-} Vulkan.CStruct.Extends (Extendss)
 import {-# SOURCE #-} Vulkan.CStruct.Extends (PeekChain)
 import {-# SOURCE #-} Vulkan.CStruct.Extends (PokeChain)
+data AndroidHardwareBufferFormatProperties2ANDROID
+
+instance ToCStruct AndroidHardwareBufferFormatProperties2ANDROID
+instance Show AndroidHardwareBufferFormatProperties2ANDROID
+
+instance FromCStruct AndroidHardwareBufferFormatProperties2ANDROID
+
+
 data AndroidHardwareBufferFormatPropertiesANDROID
 
 instance ToCStruct AndroidHardwareBufferFormatPropertiesANDROID
diff --git a/src/Vulkan/Extensions/VK_EXT_4444_formats.hs b/src/Vulkan/Extensions/VK_EXT_4444_formats.hs
--- a/src/Vulkan/Extensions/VK_EXT_4444_formats.hs
+++ b/src/Vulkan/Extensions/VK_EXT_4444_formats.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Joshua Ashton
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_4444_formats:%20&body=@Joshua-Ashton%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_4444_formats] @Joshua-Ashton%0A<<Here describe the issue or question you have about the VK_EXT_4444_formats extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -150,6 +150,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_4444_formats VK_EXT_4444_formats>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevice4444FormatsFeaturesEXT = PhysicalDevice4444FormatsFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_4444_formats.hs-boot b/src/Vulkan/Extensions/VK_EXT_4444_formats.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_4444_formats.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_4444_formats.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Joshua Ashton
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_4444_formats:%20&body=@Joshua-Ashton%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_4444_formats] @Joshua-Ashton%0A<<Here describe the issue or question you have about the VK_EXT_4444_formats extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_acquire_drm_display.hs b/src/Vulkan/Extensions/VK_EXT_acquire_drm_display.hs
--- a/src/Vulkan/Extensions/VK_EXT_acquire_drm_display.hs
+++ b/src/Vulkan/Extensions/VK_EXT_acquire_drm_display.hs
@@ -157,6 +157,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_acquire_drm_display VK_EXT_acquire_drm_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 acquireDrmDisplayEXT :: forall io
@@ -225,6 +226,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_acquire_drm_display VK_EXT_acquire_drm_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getDrmDisplayEXT :: forall io
diff --git a/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs b/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs
--- a/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs
+++ b/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_acquire_xlib_display:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_acquire_xlib_display] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_acquire_xlib_display extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -200,6 +200,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_acquire_xlib_display VK_EXT_acquire_xlib_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 acquireXlibDisplayEXT :: forall io
@@ -260,6 +261,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_acquire_xlib_display VK_EXT_acquire_xlib_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getRandROutputDisplayEXT :: forall io
diff --git a/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs-boot b/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_acquire_xlib_display.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_acquire_xlib_display:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_acquire_xlib_display] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_acquire_xlib_display extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs b/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs
--- a/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs
+++ b/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jan-Harald Fredriksen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_astc_decode_mode:%20&body=@janharaldfredriksen-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_astc_decode_mode] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_EXT_astc_decode_mode extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -224,6 +224,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_astc_decode_mode VK_EXT_astc_decode_mode>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImageViewASTCDecodeModeEXT = ImageViewASTCDecodeModeEXT
@@ -291,6 +292,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_astc_decode_mode VK_EXT_astc_decode_mode>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceASTCDecodeFeaturesEXT = PhysicalDeviceASTCDecodeFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs-boot b/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_astc_decode_mode.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jan-Harald Fredriksen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_astc_decode_mode:%20&body=@janharaldfredriksen-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_astc_decode_mode] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_EXT_astc_decode_mode extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs b/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs
--- a/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs
+++ b/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_blend_operation_advanced:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_blend_operation_advanced] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_blend_operation_advanced extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -349,6 +349,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceBlendOperationAdvancedFeaturesEXT = PhysicalDeviceBlendOperationAdvancedFeaturesEXT
@@ -422,6 +423,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceBlendOperationAdvancedPropertiesEXT = PhysicalDeviceBlendOperationAdvancedPropertiesEXT
@@ -559,6 +561,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>,
 -- 'BlendOverlapEXT', 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineColorBlendAdvancedStateCreateInfoEXT = PipelineColorBlendAdvancedStateCreateInfoEXT
@@ -650,6 +653,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>,
 -- 'PipelineColorBlendAdvancedStateCreateInfoEXT'
 newtype BlendOverlapEXT = BlendOverlapEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs-boot b/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_blend_operation_advanced.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_blend_operation_advanced:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_blend_operation_advanced] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_blend_operation_advanced extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs b/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs
@@ -0,0 +1,344 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_border_color_swizzle - device extension
+--
+-- == VK_EXT_border_color_swizzle
+--
+-- [__Name String__]
+--     @VK_EXT_border_color_swizzle@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     412
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_EXT_custom_border_color@
+--
+-- [__Special Uses__]
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse OpenGL \/ ES support>
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse D3D support>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_border_color_swizzle] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_border_color_swizzle extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-10-12
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Ricardo Garcia, Igalia
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Stu Smith, AMD
+--
+-- == Description
+--
+-- After the publication of VK_EXT_custom_border_color, it was discovered
+-- that some implementations had undefined behavior when combining a
+-- sampler that uses a custom border color with image views whose component
+-- mapping is not the identity mapping.
+--
+-- Since VK_EXT_custom_border_color has already shipped, this new extension
+-- VK_EXT_border_color_swizzle was created to define the interaction
+-- between custom border colors and non-identity image view swizzles, and
+-- provide a work-around for implementations that must pre-swizzle the
+-- sampler border color to match the image view component mapping it is
+-- combined with.
+--
+-- This extension also defines the behavior between samplers with an opaque
+-- black border color and image views with a non-identity component
+-- swizzle, which was previously left undefined.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceBorderColorSwizzleFeaturesEXT'
+--
+-- -   Extending 'Vulkan.Core10.Sampler.SamplerCreateInfo':
+--
+--     -   'SamplerBorderColorComponentMappingCreateInfoEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME'
+--
+-- -   'EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT'
+--
+-- == Issues
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-10-12 (Piers Daniell)
+--
+--     -   Internal revisions.
+--
+-- = See Also
+--
+-- 'PhysicalDeviceBorderColorSwizzleFeaturesEXT',
+-- 'SamplerBorderColorComponentMappingCreateInfoEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_border_color_swizzle Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_border_color_swizzle  ( SamplerBorderColorComponentMappingCreateInfoEXT(..)
+                                                      , PhysicalDeviceBorderColorSwizzleFeaturesEXT(..)
+                                                      , EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION
+                                                      , pattern EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION
+                                                      , EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME
+                                                      , pattern EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME
+                                                      ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.ImageView (ComponentMapping)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT))
+-- | VkSamplerBorderColorComponentMappingCreateInfoEXT - Structure specifying
+-- the component mapping of the border color
+--
+-- = Description
+--
+-- The 'Vulkan.Core10.ImageView.ComponentMapping' @components@ member
+-- describes a remapping from components of the border color to components
+-- of the vector returned by shader image instructions when the border
+-- color is used.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkSamplerBorderColorComponentMappingCreateInfoEXT-borderColorSwizzle-06437#
+--     The
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-borderColorSwizzle borderColorSwizzle>
+--     feature /must/ be enabled.
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkSamplerBorderColorComponentMappingCreateInfoEXT-sType-sType#
+--     @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT'
+--
+-- -   #VUID-VkSamplerBorderColorComponentMappingCreateInfoEXT-components-parameter#
+--     @components@ /must/ be a valid
+--     'Vulkan.Core10.ImageView.ComponentMapping' structure
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_border_color_swizzle VK_EXT_border_color_swizzle>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.ImageView.ComponentMapping',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data SamplerBorderColorComponentMappingCreateInfoEXT = SamplerBorderColorComponentMappingCreateInfoEXT
+  { -- | @components@ is a 'Vulkan.Core10.ImageView.ComponentMapping' structure
+    -- specifying a remapping of the border color components.
+    components :: ComponentMapping
+  , -- | @srgb@ indicates that the sampler will be combined with an image view
+    -- that has an image format which is sRGB encoded.
+    srgb :: Bool
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (SamplerBorderColorComponentMappingCreateInfoEXT)
+#endif
+deriving instance Show SamplerBorderColorComponentMappingCreateInfoEXT
+
+instance ToCStruct SamplerBorderColorComponentMappingCreateInfoEXT where
+  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p SamplerBorderColorComponentMappingCreateInfoEXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr ComponentMapping)) (components)
+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (srgb))
+    f
+  cStructSize = 40
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr ComponentMapping)) (zero)
+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct SamplerBorderColorComponentMappingCreateInfoEXT where
+  peekCStruct p = do
+    components <- peekCStruct @ComponentMapping ((p `plusPtr` 16 :: Ptr ComponentMapping))
+    srgb <- peek @Bool32 ((p `plusPtr` 32 :: Ptr Bool32))
+    pure $ SamplerBorderColorComponentMappingCreateInfoEXT
+             components (bool32ToBool srgb)
+
+instance Storable SamplerBorderColorComponentMappingCreateInfoEXT where
+  sizeOf ~_ = 40
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero SamplerBorderColorComponentMappingCreateInfoEXT where
+  zero = SamplerBorderColorComponentMappingCreateInfoEXT
+           zero
+           zero
+
+
+-- | VkPhysicalDeviceBorderColorSwizzleFeaturesEXT - Structure describing
+-- whether samplers with custom border colors require the component swizzle
+-- specified in order to have defined behavior
+--
+-- = Members
+--
+-- This structure describes the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceBorderColorSwizzleFeaturesEXT' structure is
+-- included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDeviceBorderColorSwizzleFeaturesEXT' /can/ also be
+-- used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to
+-- selectively enable these features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_border_color_swizzle VK_EXT_border_color_swizzle>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceBorderColorSwizzleFeaturesEXT = PhysicalDeviceBorderColorSwizzleFeaturesEXT
+  { -- | #features-borderColorSwizzle# @borderColorSwizzle@ indicates that
+    -- defined values are returned by sampled image operations when used with a
+    -- sampler that uses a
+    -- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_OPAQUE_BLACK',
+    -- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_INT_OPAQUE_BLACK',
+    -- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_FLOAT_CUSTOM_EXT', or
+    -- 'Vulkan.Core10.Enums.BorderColor.BORDER_COLOR_INT_CUSTOM_EXT'
+    -- @borderColor@ and an image view that uses a
+    -- non-<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity component mapping>,
+    -- when either @borderColorSwizzleFromImage@ is enabled or the
+    -- 'SamplerBorderColorComponentMappingCreateInfoEXT' is specified.
+    borderColorSwizzle :: Bool
+  , -- | #features-borderColorSwizzleFromImage# @borderColorSwizzleFromImage@
+    -- indicates that the implementation will return the correct border color
+    -- values from sampled image operations under the conditions expressed
+    -- above, without the application having to specify the border color
+    -- component mapping when creating the sampler object. If this feature bit
+    -- is not set, applications /can/ chain a
+    -- 'SamplerBorderColorComponentMappingCreateInfoEXT' structure when
+    -- creating samplers for use with image views that do not have an
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+    -- and, when those samplers are combined with image views using the same
+    -- component mapping, sampled image operations that use opaque black or
+    -- custom border colors will return the correct border color values.
+    borderColorSwizzleFromImage :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceBorderColorSwizzleFeaturesEXT)
+#endif
+deriving instance Show PhysicalDeviceBorderColorSwizzleFeaturesEXT
+
+instance ToCStruct PhysicalDeviceBorderColorSwizzleFeaturesEXT where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceBorderColorSwizzleFeaturesEXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (borderColorSwizzle))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (borderColorSwizzleFromImage))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceBorderColorSwizzleFeaturesEXT where
+  peekCStruct p = do
+    borderColorSwizzle <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    borderColorSwizzleFromImage <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    pure $ PhysicalDeviceBorderColorSwizzleFeaturesEXT
+             (bool32ToBool borderColorSwizzle) (bool32ToBool borderColorSwizzleFromImage)
+
+instance Storable PhysicalDeviceBorderColorSwizzleFeaturesEXT where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceBorderColorSwizzleFeaturesEXT where
+  zero = PhysicalDeviceBorderColorSwizzleFeaturesEXT
+           zero
+           zero
+
+
+type EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION"
+pattern EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION :: forall a . Integral a => a
+pattern EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION = 1
+
+
+type EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle"
+
+-- No documentation found for TopLevel "VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME"
+pattern EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME = "VK_EXT_border_color_swizzle"
+
diff --git a/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs-boot b/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_border_color_swizzle.hs-boot
@@ -0,0 +1,143 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_border_color_swizzle - device extension
+--
+-- == VK_EXT_border_color_swizzle
+--
+-- [__Name String__]
+--     @VK_EXT_border_color_swizzle@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     412
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_EXT_custom_border_color@
+--
+-- [__Special Uses__]
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse OpenGL \/ ES support>
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse D3D support>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_border_color_swizzle] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_border_color_swizzle extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-10-12
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Ricardo Garcia, Igalia
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Stu Smith, AMD
+--
+-- == Description
+--
+-- After the publication of VK_EXT_custom_border_color, it was discovered
+-- that some implementations had undefined behavior when combining a
+-- sampler that uses a custom border color with image views whose component
+-- mapping is not the identity mapping.
+--
+-- Since VK_EXT_custom_border_color has already shipped, this new extension
+-- VK_EXT_border_color_swizzle was created to define the interaction
+-- between custom border colors and non-identity image view swizzles, and
+-- provide a work-around for implementations that must pre-swizzle the
+-- sampler border color to match the image view component mapping it is
+-- combined with.
+--
+-- This extension also defines the behavior between samplers with an opaque
+-- black border color and image views with a non-identity component
+-- swizzle, which was previously left undefined.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceBorderColorSwizzleFeaturesEXT'
+--
+-- -   Extending 'Vulkan.Core10.Sampler.SamplerCreateInfo':
+--
+--     -   'SamplerBorderColorComponentMappingCreateInfoEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME'
+--
+-- -   'EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_BORDER_COLOR_SWIZZLE_FEATURES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT'
+--
+-- == Issues
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-10-12 (Piers Daniell)
+--
+--     -   Internal revisions.
+--
+-- = See Also
+--
+-- 'PhysicalDeviceBorderColorSwizzleFeaturesEXT',
+-- 'SamplerBorderColorComponentMappingCreateInfoEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_border_color_swizzle Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_border_color_swizzle  ( PhysicalDeviceBorderColorSwizzleFeaturesEXT
+                                                      , SamplerBorderColorComponentMappingCreateInfoEXT
+                                                      ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceBorderColorSwizzleFeaturesEXT
+
+instance ToCStruct PhysicalDeviceBorderColorSwizzleFeaturesEXT
+instance Show PhysicalDeviceBorderColorSwizzleFeaturesEXT
+
+instance FromCStruct PhysicalDeviceBorderColorSwizzleFeaturesEXT
+
+
+data SamplerBorderColorComponentMappingCreateInfoEXT
+
+instance ToCStruct SamplerBorderColorComponentMappingCreateInfoEXT
+instance Show SamplerBorderColorComponentMappingCreateInfoEXT
+
+instance FromCStruct SamplerBorderColorComponentMappingCreateInfoEXT
+
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
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_buffer_device_address:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_buffer_device_address] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_buffer_device_address extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -266,6 +266,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_buffer_device_address VK_EXT_buffer_device_address>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceBufferDeviceAddressFeaturesEXT = PhysicalDeviceBufferDeviceAddressFeaturesEXT
@@ -354,6 +355,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_buffer_device_address VK_EXT_buffer_device_address>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BufferDeviceAddressCreateInfoEXT = BufferDeviceAddressCreateInfoEXT
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
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_buffer_device_address:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_buffer_device_address] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_buffer_device_address extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs b/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs
--- a/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs
+++ b/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_calibrated_timestamps:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_calibrated_timestamps] @drakos-amd%0A<<Here describe the issue or question you have about the VK_EXT_calibrated_timestamps extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -307,6 +307,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_calibrated_timestamps VK_EXT_calibrated_timestamps>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'TimeDomainEXT'
 getPhysicalDeviceCalibrateableTimeDomainsEXT :: forall io
                                               . (MonadIO io)
@@ -374,6 +375,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_calibrated_timestamps VK_EXT_calibrated_timestamps>,
 -- 'CalibratedTimestampInfoEXT', 'Vulkan.Core10.Handles.Device'
 getCalibratedTimestampsEXT :: forall io
                             . (MonadIO io)
@@ -414,6 +416,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_calibrated_timestamps VK_EXT_calibrated_timestamps>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'TimeDomainEXT',
 -- 'getCalibratedTimestampsEXT'
 data CalibratedTimestampInfoEXT = CalibratedTimestampInfoEXT
@@ -492,6 +495,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_calibrated_timestamps VK_EXT_calibrated_timestamps>,
 -- 'CalibratedTimestampInfoEXT',
 -- 'getPhysicalDeviceCalibrateableTimeDomainsEXT'
 newtype TimeDomainEXT = TimeDomainEXT Int32
diff --git a/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs-boot b/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_calibrated_timestamps.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_calibrated_timestamps:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_calibrated_timestamps] @drakos-amd%0A<<Here describe the issue or question you have about the VK_EXT_calibrated_timestamps extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs b/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs
--- a/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs
+++ b/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Sharif Elcott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_color_write_enable:%20&body=@selcott%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_color_write_enable] @selcott%0A<<Here describe the issue or question you have about the VK_EXT_color_write_enable extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -57,7 +57,7 @@
 -- that write a superset of the desired data of which subsets are selected
 -- dynamically. The reason for a new state, colorWriteEnable, rather than
 -- making colorWriteMask dynamic is that, on many implementations, the more
--- flexible per-channel semantics of the colorWriteMask state cannot be
+-- flexible per-component semantics of the colorWriteMask state cannot be
 -- made dynamic in a performant manner.
 --
 -- == New Commands
@@ -175,15 +175,18 @@
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Bool32 -> IO ()
 
 -- | vkCmdSetColorWriteEnableEXT - Enable or disable writes to a color
--- attachment
+-- attachment dynamically for a command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the color write enables for subsequent drawing
+-- commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineColorWriteCreateInfoEXT'::@pColorWriteEnables@ values used to
+-- create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -237,6 +240,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_color_write_enable VK_EXT_color_write_enable>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetColorWriteEnableEXT :: forall io
@@ -284,6 +288,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_color_write_enable VK_EXT_color_write_enable>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceColorWriteEnableFeaturesEXT = PhysicalDeviceColorWriteEnableFeaturesEXT
@@ -387,6 +392,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_color_write_enable VK_EXT_color_write_enable>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineColorWriteCreateInfoEXT = PipelineColorWriteCreateInfoEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs-boot b/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_color_write_enable.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Sharif Elcott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_color_write_enable:%20&body=@selcott%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_color_write_enable] @selcott%0A<<Here describe the issue or question you have about the VK_EXT_color_write_enable extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -57,7 +57,7 @@
 -- that write a superset of the desired data of which subsets are selected
 -- dynamically. The reason for a new state, colorWriteEnable, rather than
 -- making colorWriteMask dynamic is that, on many implementations, the more
--- flexible per-channel semantics of the colorWriteMask state cannot be
+-- flexible per-component semantics of the colorWriteMask state cannot be
 -- made dynamic in a performant manner.
 --
 -- == New Commands
diff --git a/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs b/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs
--- a/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs
+++ b/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_conditional_rendering:%20&body=@vkushwaha%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_conditional_rendering] @vkushwaha%0A<<Here describe the issue or question you have about the VK_EXT_conditional_rendering extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -283,6 +283,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conditional_rendering VK_EXT_conditional_rendering>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'ConditionalRenderingBeginInfoEXT'
 cmdBeginConditionalRenderingEXT :: forall io
@@ -379,6 +380,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conditional_rendering VK_EXT_conditional_rendering>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdEndConditionalRenderingEXT :: forall io
                                . (MonadIO io)
@@ -443,6 +445,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conditional_rendering VK_EXT_conditional_rendering>,
 -- 'Vulkan.Core10.Handles.Buffer', 'ConditionalRenderingFlagsEXT',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -526,6 +529,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conditional_rendering VK_EXT_conditional_rendering>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data CommandBufferInheritanceConditionalRenderingInfoEXT = CommandBufferInheritanceConditionalRenderingInfoEXT
@@ -599,6 +603,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conditional_rendering VK_EXT_conditional_rendering>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceConditionalRenderingFeaturesEXT = PhysicalDeviceConditionalRenderingFeaturesEXT
@@ -659,6 +664,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conditional_rendering VK_EXT_conditional_rendering>,
 -- 'ConditionalRenderingFlagsEXT'
 newtype ConditionalRenderingFlagBitsEXT = ConditionalRenderingFlagBitsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs-boot b/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_conditional_rendering.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_conditional_rendering:%20&body=@vkushwaha%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_conditional_rendering] @vkushwaha%0A<<Here describe the issue or question you have about the VK_EXT_conditional_rendering extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
--- a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
+++ b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_conservative_rasterization:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_conservative_rasterization] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_conservative_rasterization extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -222,6 +222,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceConservativeRasterizationPropertiesEXT = PhysicalDeviceConservativeRasterizationPropertiesEXT
@@ -294,16 +295,9 @@
   , -- | #limits-conservativeRasterizationPostDepthCoverage#
     -- @conservativeRasterizationPostDepthCoverage@ is
     -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the implementation supports
-    -- conservative rasterization with the
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-earlytest-postdepthcoverage PostDepthCoverage>
-    -- execution mode enabled. When supported the
-    -- 'Vulkan.Core10.FundamentalTypes.SampleMask' built-in input variable will
-    -- reflect the coverage after the early per-fragment depth and stencil
-    -- tests are applied even when conservative rasterization is enabled.
-    -- Otherwise
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-earlytest-postdepthcoverage PostDepthCoverage>
-    -- execution mode /must/ not be used when conservative rasterization is
-    -- enabled.
+    -- conservative rasterization with the @PostDepthCoverage@ execution mode
+    -- enabled. Otherwise the @PostDepthCoverage@ execution mode /must/ not be
+    -- used when conservative rasterization is enabled.
     conservativeRasterizationPostDepthCoverage :: Bool
   }
   deriving (Typeable, Eq)
@@ -383,6 +377,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>,
 -- 'ConservativeRasterizationModeEXT',
 -- 'PipelineRasterizationConservativeStateCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -466,6 +461,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>,
 -- 'PipelineRasterizationConservativeStateCreateInfoEXT'
 newtype PipelineRasterizationConservativeStateCreateFlagsEXT = PipelineRasterizationConservativeStateCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -501,6 +497,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>,
 -- 'PipelineRasterizationConservativeStateCreateInfoEXT'
 newtype ConservativeRasterizationModeEXT = ConservativeRasterizationModeEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs-boot b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_conservative_rasterization.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_conservative_rasterization:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_conservative_rasterization] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_conservative_rasterization extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs b/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs
--- a/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs
+++ b/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Liam Middlebrook
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_custom_border_color:%20&body=@liam-middlebrook%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_custom_border_color] @liam-middlebrook%0A<<Here describe the issue or question you have about the VK_EXT_custom_border_color extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -327,6 +327,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_custom_border_color VK_EXT_custom_border_color>,
 -- 'Vulkan.Core10.CommandBufferBuilding.ClearColorValue',
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -388,6 +389,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_custom_border_color VK_EXT_custom_border_color>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceCustomBorderColorPropertiesEXT = PhysicalDeviceCustomBorderColorPropertiesEXT
   { -- | #limits-maxCustomBorderColorSamplers# @maxCustomBorderColorSamplers@
@@ -455,6 +457,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_custom_border_color VK_EXT_custom_border_color>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceCustomBorderColorFeaturesEXT = PhysicalDeviceCustomBorderColorFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs-boot b/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_custom_border_color.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Liam Middlebrook
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_custom_border_color:%20&body=@liam-middlebrook%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_custom_border_color] @liam-middlebrook%0A<<Here describe the issue or question you have about the VK_EXT_custom_border_color extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_marker.hs b/src/Vulkan/Extensions/VK_EXT_debug_marker.hs
--- a/src/Vulkan/Extensions/VK_EXT_debug_marker.hs
+++ b/src/Vulkan/Extensions/VK_EXT_debug_marker.hs
@@ -34,7 +34,7 @@
 -- [__Contact__]
 --
 --     -   Baldur Karlsson
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_debug_marker:%20&body=@baldurk%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_debug_marker] @baldurk%0A<<Here describe the issue or question you have about the VK_EXT_debug_marker extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -389,6 +389,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'DebugMarkerObjectNameInfoEXT', 'Vulkan.Core10.Handles.Device'
 debugMarkerSetObjectNameEXT :: forall io
                              . (MonadIO io)
@@ -444,6 +445,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'DebugMarkerObjectTagInfoEXT', 'Vulkan.Core10.Handles.Device'
 debugMarkerSetObjectTagEXT :: forall io
                             . (MonadIO io)
@@ -510,6 +512,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'DebugMarkerMarkerInfoEXT'
 cmdDebugMarkerBeginEXT :: forall io
                         . (MonadIO io)
@@ -594,6 +597,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdDebugMarkerEndEXT :: forall io
                       . (MonadIO io)
@@ -657,6 +661,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'DebugMarkerMarkerInfoEXT'
 cmdDebugMarkerInsertEXT :: forall io
                          . (MonadIO io)
@@ -690,6 +695,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'debugMarkerSetObjectNameEXT'
@@ -777,6 +783,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'debugMarkerSetObjectTagEXT'
@@ -877,6 +884,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'cmdDebugMarkerBeginEXT', 'cmdDebugMarkerInsertEXT'
 data DebugMarkerMarkerInfoEXT = DebugMarkerMarkerInfoEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_marker.hs-boot b/src/Vulkan/Extensions/VK_EXT_debug_marker.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_debug_marker.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_debug_marker.hs-boot
@@ -34,7 +34,7 @@
 -- [__Contact__]
 --
 --     -   Baldur Karlsson
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_debug_marker:%20&body=@baldurk%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_debug_marker] @baldurk%0A<<Here describe the issue or question you have about the VK_EXT_debug_marker extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_report.hs b/src/Vulkan/Extensions/VK_EXT_debug_report.hs
--- a/src/Vulkan/Extensions/VK_EXT_debug_report.hs
+++ b/src/Vulkan/Extensions/VK_EXT_debug_report.hs
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   Courtney Goeltzenleuchter
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_debug_report:%20&body=@courtney-g%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_debug_report] @courtney-g%0A<<Here describe the issue or question you have about the VK_EXT_debug_report extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -372,6 +372,7 @@
                                                                         , DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT
                                                                         , DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT
                                                                         , DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT
+                                                                        , DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT
                                                                         , DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT
                                                                         , DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT
                                                                         , DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT
@@ -499,6 +500,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'DebugReportCallbackCreateInfoEXT',
 -- 'Vulkan.Extensions.Handles.DebugReportCallbackEXT',
@@ -590,6 +592,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Extensions.Handles.DebugReportCallbackEXT',
 -- 'Vulkan.Core10.Handles.Instance'
@@ -670,6 +673,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
 -- 'DebugReportFlagsEXT', 'DebugReportObjectTypeEXT',
 -- 'Vulkan.Core10.Handles.Instance'
 debugReportMessageEXT :: forall io
@@ -747,7 +751,9 @@
 --
 -- = See Also
 --
--- 'PFN_vkDebugReportCallbackEXT', 'DebugReportFlagsEXT',
+-- 'PFN_vkDebugReportCallbackEXT',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
+-- 'DebugReportFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createDebugReportCallbackEXT'
 data DebugReportCallbackCreateInfoEXT = DebugReportCallbackCreateInfoEXT
@@ -816,6 +822,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
 -- 'DebugReportFlagsEXT'
 newtype DebugReportFlagBitsEXT = DebugReportFlagBitsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -960,6 +967,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_marker VK_EXT_debug_marker>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
 -- 'Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectNameInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_debug_marker.DebugMarkerObjectTagInfoEXT',
 -- 'debugReportMessageEXT'
@@ -1030,6 +1039,8 @@
 pattern DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT           = DebugReportObjectTypeEXT 30
 -- No documentation found for Nested "VkDebugReportObjectTypeEXT" "VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT"
 pattern DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT       = DebugReportObjectTypeEXT 33
+-- No documentation found for Nested "VkDebugReportObjectTypeEXT" "VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT"
+pattern DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT  = DebugReportObjectTypeEXT 1000366000
 -- No documentation found for Nested "VkDebugReportObjectTypeEXT" "VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT"
 pattern DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT  = DebugReportObjectTypeEXT 1000165000
 -- No documentation found for Nested "VkDebugReportObjectTypeEXT" "VK_DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT"
@@ -1074,6 +1085,7 @@
              DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT,
              DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT,
              DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
+             DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT,
              DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
              DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT,
              DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
@@ -1121,6 +1133,7 @@
   , (DEBUG_REPORT_OBJECT_TYPE_DISPLAY_KHR_EXT               , "DISPLAY_KHR_EXT")
   , (DEBUG_REPORT_OBJECT_TYPE_DISPLAY_MODE_KHR_EXT          , "DISPLAY_MODE_KHR_EXT")
   , (DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT      , "VALIDATION_CACHE_EXT_EXT")
+  , (DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT , "BUFFER_COLLECTION_FUCHSIA_EXT")
   , (DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT , "ACCELERATION_STRUCTURE_NV_EXT")
   , (DEBUG_REPORT_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_EXT  , "SAMPLER_YCBCR_CONVERSION_EXT")
   , (DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT, "ACCELERATION_STRUCTURE_KHR_EXT")
@@ -1167,6 +1180,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_report VK_EXT_debug_report>,
 -- 'DebugReportCallbackCreateInfoEXT'
 type PFN_vkDebugReportCallbackEXT = FunPtr FN_vkDebugReportCallbackEXT
 
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot b/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   Courtney Goeltzenleuchter
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_debug_report:%20&body=@courtney-g%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_debug_report] @courtney-g%0A<<Here describe the issue or question you have about the VK_EXT_debug_report extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs
--- a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs
+++ b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Mark Young
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_debug_utils:%20&body=@marky-lunarg%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_debug_utils] @marky-lunarg%0A<<Here describe the issue or question you have about the VK_EXT_debug_utils extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -677,6 +677,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsObjectNameInfoEXT', 'Vulkan.Core10.Handles.Device'
 setDebugUtilsObjectNameEXT :: forall io
                             . (MonadIO io)
@@ -733,6 +734,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsObjectTagInfoEXT', 'Vulkan.Core10.Handles.Device'
 setDebugUtilsObjectTagEXT :: forall io
                            . (MonadIO io)
@@ -773,6 +775,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsLabelEXT', 'Vulkan.Core10.Handles.Queue'
 queueBeginDebugUtilsLabelEXT :: forall io
                               . (MonadIO io)
@@ -835,6 +838,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Core10.Handles.Queue'
 queueEndDebugUtilsLabelEXT :: forall io
                             . (MonadIO io)
@@ -871,6 +875,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsLabelEXT', 'Vulkan.Core10.Handles.Queue'
 queueInsertDebugUtilsLabelEXT :: forall io
                                . (MonadIO io)
@@ -943,6 +948,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'DebugUtilsLabelEXT'
 cmdBeginDebugUtilsLabelEXT :: forall io
                             . (MonadIO io)
@@ -990,6 +996,17 @@
 -- 'cmdBeginDebugUtilsLabelEXT' and 'cmdEndDebugUtilsLabelEXT' /must/ be
 -- matched and balanced.
 --
+-- There /can/ be problems reporting command buffer debug labels during the
+-- recording process because command buffers /may/ be recorded out of
+-- sequence with the resulting execution order. Since the recording order
+-- /may/ be different, a solitary command buffer /may/ have an inconsistent
+-- view of the debug label regions by itself. Therefore, if an issue occurs
+-- during the recording of a command buffer, and the environment requires
+-- returning debug labels, the implementation /may/ return only those
+-- labels it is aware of. This is true even if the implementation is aware
+-- of only the debug labels within the command buffer being actively
+-- recorded.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912# There /must/
@@ -1037,6 +1054,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdEndDebugUtilsLabelEXT :: forall io
                           . (MonadIO io)
@@ -1100,6 +1118,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'DebugUtilsLabelEXT'
 cmdInsertDebugUtilsLabelEXT :: forall io
                              . (MonadIO io)
@@ -1162,6 +1181,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'DebugUtilsMessengerCreateInfoEXT',
 -- 'Vulkan.Extensions.Handles.DebugUtilsMessengerEXT',
@@ -1257,6 +1277,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Extensions.Handles.DebugUtilsMessengerEXT',
 -- 'Vulkan.Core10.Handles.Instance'
@@ -1331,6 +1352,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessageSeverityFlagBitsEXT', 'DebugUtilsMessageTypeFlagsEXT',
 -- 'DebugUtilsMessengerCallbackDataEXT', 'Vulkan.Core10.Handles.Instance'
 submitDebugUtilsMessageEXT :: forall io
@@ -1400,6 +1422,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessengerCallbackDataEXT',
 -- 'Vulkan.Core10.Enums.ObjectType.ObjectType',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -1470,6 +1493,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'Vulkan.Core10.Enums.ObjectType.ObjectType',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'setDebugUtilsObjectTagEXT'
@@ -1565,6 +1589,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessengerCallbackDataEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'cmdBeginDebugUtilsLabelEXT', 'cmdInsertDebugUtilsLabelEXT',
@@ -1681,6 +1706,7 @@
 -- = See Also
 --
 -- 'PFN_vkDebugUtilsMessengerCallbackEXT',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessageSeverityFlagsEXT', 'DebugUtilsMessageTypeFlagsEXT',
 -- 'DebugUtilsMessengerCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -1848,6 +1874,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsLabelEXT', 'DebugUtilsMessengerCallbackDataFlagsEXT',
 -- 'DebugUtilsObjectNameInfoEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -1968,6 +1995,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessengerCreateInfoEXT'
 newtype DebugUtilsMessengerCreateFlagsEXT = DebugUtilsMessengerCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -2006,6 +2034,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessengerCallbackDataEXT'
 newtype DebugUtilsMessengerCallbackDataFlagsEXT = DebugUtilsMessengerCallbackDataFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -2060,6 +2089,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessageSeverityFlagsEXT', 'submitDebugUtilsMessageEXT'
 newtype DebugUtilsMessageSeverityFlagBitsEXT = DebugUtilsMessageSeverityFlagBitsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -2119,6 +2149,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessageTypeFlagsEXT'
 newtype DebugUtilsMessageTypeFlagBitsEXT = DebugUtilsMessageTypeFlagBitsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -2185,6 +2216,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_debug_utils VK_EXT_debug_utils>,
 -- 'DebugUtilsMessengerCreateInfoEXT'
 type PFN_vkDebugUtilsMessengerCallbackEXT = FunPtr FN_vkDebugUtilsMessengerCallbackEXT
 
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Mark Young
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_debug_utils:%20&body=@marky-lunarg%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_debug_utils] @marky-lunarg%0A<<Here describe the issue or question you have about the VK_EXT_debug_utils extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs b/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs
--- a/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs
+++ b/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_depth_clip_enable:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_depth_clip_enable] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_depth_clip_enable extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -172,6 +172,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDepthClipEnableFeaturesEXT = PhysicalDeviceDepthClipEnableFeaturesEXT
@@ -227,6 +228,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'PipelineRasterizationDepthClipStateCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -292,6 +294,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>,
 -- 'PipelineRasterizationDepthClipStateCreateInfoEXT'
 newtype PipelineRasterizationDepthClipStateCreateFlagsEXT = PipelineRasterizationDepthClipStateCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs-boot b/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_depth_clip_enable.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_depth_clip_enable:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_depth_clip_enable] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_depth_clip_enable extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_depth_range_unrestricted.hs b/src/Vulkan/Extensions/VK_EXT_depth_range_unrestricted.hs
--- a/src/Vulkan/Extensions/VK_EXT_depth_range_unrestricted.hs
+++ b/src/Vulkan/Extensions/VK_EXT_depth_range_unrestricted.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_depth_range_unrestricted:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_depth_range_unrestricted] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_depth_range_unrestricted extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_descriptor_indexing:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_descriptor_indexing] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_descriptor_indexing extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs b/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs
--- a/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs
+++ b/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Yiwei Zhang
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_device_memory_report:%20&body=@zhangyiwei%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_device_memory_report] @zhangyiwei%0A<<Here describe the issue or question you have about the VK_EXT_device_memory_report extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -323,6 +323,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_device_memory_report VK_EXT_device_memory_report>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDeviceMemoryReportFeaturesEXT = PhysicalDeviceDeviceMemoryReportFeaturesEXT
@@ -387,7 +388,9 @@
 --
 -- = See Also
 --
--- 'PFN_vkDeviceMemoryReportCallbackEXT', 'DeviceMemoryReportFlagsEXT',
+-- 'PFN_vkDeviceMemoryReportCallbackEXT',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_device_memory_report VK_EXT_device_memory_report>,
+-- 'DeviceMemoryReportFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceDeviceMemoryReportCreateInfoEXT = DeviceDeviceMemoryReportCreateInfoEXT
   { -- | @flags@ is 0 and reserved for future use.
@@ -489,6 +492,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_device_memory_report VK_EXT_device_memory_report>,
 -- 'DeviceMemoryReportEventTypeEXT', 'DeviceMemoryReportFlagsEXT',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.ObjectType.ObjectType',
@@ -601,7 +605,18 @@
            zero
 
 
--- No documentation found for TopLevel "VkDeviceMemoryReportFlagsEXT"
+-- | VkDeviceMemoryReportFlagsEXT - Reserved for future use
+--
+-- = Description
+--
+-- 'DeviceMemoryReportFlagsEXT' is a bitmask type for setting a mask, but
+-- is currently reserved for future use.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_device_memory_report VK_EXT_device_memory_report>,
+-- 'DeviceDeviceMemoryReportCreateInfoEXT',
+-- 'DeviceMemoryReportCallbackDataEXT'
 newtype DeviceMemoryReportFlagsEXT = DeviceMemoryReportFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
@@ -635,6 +650,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_device_memory_report VK_EXT_device_memory_report>,
 -- 'DeviceMemoryReportCallbackDataEXT'
 newtype DeviceMemoryReportEventTypeEXT = DeviceMemoryReportEventTypeEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -702,6 +718,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_device_memory_report VK_EXT_device_memory_report>,
 -- 'DeviceDeviceMemoryReportCreateInfoEXT'
 type PFN_vkDeviceMemoryReportCallbackEXT = FunPtr FN_vkDeviceMemoryReportCallbackEXT
 
diff --git a/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs-boot b/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_device_memory_report.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Yiwei Zhang
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_device_memory_report:%20&body=@zhangyiwei%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_device_memory_report] @zhangyiwei%0A<<Here describe the issue or question you have about the VK_EXT_device_memory_report extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_direct_mode_display.hs b/src/Vulkan/Extensions/VK_EXT_direct_mode_display.hs
--- a/src/Vulkan/Extensions/VK_EXT_direct_mode_display.hs
+++ b/src/Vulkan/Extensions/VK_EXT_direct_mode_display.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_direct_mode_display:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_direct_mode_display] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_direct_mode_display extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -148,6 +148,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_direct_mode_display VK_EXT_direct_mode_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 releaseDisplayEXT :: forall io
diff --git a/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs b/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs
--- a/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs
+++ b/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Nicolas Caramelli
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_directfb_surface:%20&body=@caramelli%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_directfb_surface] @caramelli%0A<<Here describe the issue or question you have about the VK_EXT_directfb_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -212,6 +212,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_directfb_surface VK_EXT_directfb_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'DirectFBSurfaceCreateInfoEXT', 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -262,6 +263,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_directfb_surface VK_EXT_directfb_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceDirectFBPresentationSupportEXT :: forall io
                                                  . (MonadIO io)
@@ -301,6 +303,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_directfb_surface VK_EXT_directfb_surface>,
 -- 'DirectFBSurfaceCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createDirectFBSurfaceEXT'
@@ -375,6 +378,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_directfb_surface VK_EXT_directfb_surface>,
 -- 'DirectFBSurfaceCreateInfoEXT'
 newtype DirectFBSurfaceCreateFlagsEXT = DirectFBSurfaceCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs-boot b/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_directfb_surface.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Nicolas Caramelli
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_directfb_surface:%20&body=@caramelli%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_directfb_surface] @caramelli%0A<<Here describe the issue or question you have about the VK_EXT_directfb_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs
--- a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs
+++ b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_discard_rectangles:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_discard_rectangles] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_discard_rectangles extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -201,7 +201,8 @@
   "dynamic" mkVkCmdSetDiscardRectangleEXT
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Rect2D -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Rect2D -> IO ()
 
--- | vkCmdSetDiscardRectangleEXT - Set discard rectangles dynamically
+-- | vkCmdSetDiscardRectangleEXT - Set discard rectangles dynamically for a
+-- command buffer
 --
 -- = Description
 --
@@ -209,11 +210,14 @@
 -- replace the current state for the discard rectangle at index
 -- @firstDiscardRectangle@ + i, for i in [0, @discardRectangleCount@).
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the discard rectangles for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DISCARD_RECTANGLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineDiscardRectangleStateCreateInfoEXT'::@pDiscardRectangles@
+-- values used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -285,6 +289,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_discard_rectangles VK_EXT_discard_rectangles>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D'
 cmdSetDiscardRectangleEXT :: forall io
@@ -328,6 +333,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_discard_rectangles VK_EXT_discard_rectangles>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDiscardRectanglePropertiesEXT = PhysicalDeviceDiscardRectanglePropertiesEXT
   { -- | #limits-maxDiscardRectangles# @maxDiscardRectangles@ is the maximum
@@ -391,6 +397,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_discard_rectangles VK_EXT_discard_rectangles>,
 -- 'DiscardRectangleModeEXT',
 -- 'PipelineDiscardRectangleStateCreateFlagsEXT',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
@@ -464,6 +471,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_discard_rectangles VK_EXT_discard_rectangles>,
 -- 'PipelineDiscardRectangleStateCreateInfoEXT'
 newtype PipelineDiscardRectangleStateCreateFlagsEXT = PipelineDiscardRectangleStateCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -497,6 +505,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_discard_rectangles VK_EXT_discard_rectangles>,
 -- 'PipelineDiscardRectangleStateCreateInfoEXT'
 newtype DiscardRectangleModeEXT = DiscardRectangleModeEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_discard_rectangles.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_discard_rectangles:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_discard_rectangles] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_discard_rectangles extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_display_control.hs b/src/Vulkan/Extensions/VK_EXT_display_control.hs
--- a/src/Vulkan/Extensions/VK_EXT_display_control.hs
+++ b/src/Vulkan/Extensions/VK_EXT_display_control.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_display_control:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_display_control] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_display_control extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -288,6 +288,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'DisplayPowerInfoEXT'
 displayPowerControlEXT :: forall io
@@ -347,6 +348,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'DeviceEventInfoEXT',
 -- 'Vulkan.Core10.Handles.Fence'
@@ -423,6 +425,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'DisplayEventInfoEXT',
 -- 'Vulkan.Extensions.Handles.DisplayKHR', 'Vulkan.Core10.Handles.Fence'
@@ -513,6 +516,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagBitsEXT',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
@@ -546,6 +550,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'DisplayPowerStateEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'displayPowerControlEXT'
@@ -600,6 +605,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'DeviceEventTypeEXT', 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'registerDeviceEventEXT'
 data DeviceEventInfoEXT = DeviceEventInfoEXT
@@ -650,6 +656,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'DisplayEventTypeEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'registerDisplayEventEXT'
@@ -720,6 +727,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.VK_EXT_display_surface_counter.SurfaceCounterFlagsEXT'
 data SwapchainCounterCreateInfoEXT = SwapchainCounterCreateInfoEXT
@@ -768,6 +776,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'DisplayPowerInfoEXT'
 newtype DisplayPowerStateEXT = DisplayPowerStateEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -818,6 +827,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'DeviceEventInfoEXT'
 newtype DeviceEventTypeEXT = DeviceEventTypeEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -854,6 +864,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_control VK_EXT_display_control>,
 -- 'DisplayEventInfoEXT'
 newtype DisplayEventTypeEXT = DisplayEventTypeEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_display_control.hs-boot b/src/Vulkan/Extensions/VK_EXT_display_control.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_display_control.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_display_control.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_display_control:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_display_control] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_display_control extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs b/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs
--- a/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs
+++ b/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_display_surface_counter:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_display_surface_counter] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_display_surface_counter extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -238,6 +238,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_surface_counter VK_EXT_display_surface_counter>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'SurfaceCapabilities2EXT',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
 getPhysicalDeviceSurfaceCapabilities2EXT :: forall io
@@ -276,6 +277,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_surface_counter VK_EXT_display_surface_counter>,
 -- 'Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagsKHR',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags',
@@ -441,6 +443,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_display_surface_counter VK_EXT_display_surface_counter>,
 -- 'SurfaceCounterFlagsEXT',
 -- 'Vulkan.Extensions.VK_EXT_display_control.getSwapchainCounterEXT'
 newtype SurfaceCounterFlagBitsEXT = SurfaceCounterFlagBitsEXT Flags
diff --git a/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs-boot b/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_display_surface_counter.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_display_surface_counter:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_display_surface_counter] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_display_surface_counter extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs
--- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs
+++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_extended_dynamic_state:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_extended_dynamic_state] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_extended_dynamic_state extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -256,8 +256,18 @@
   "dynamic" mkVkCmdSetCullModeEXT
   :: FunPtr (Ptr CommandBuffer_T -> CullModeFlags -> IO ()) -> Ptr CommandBuffer_T -> CullModeFlags -> IO ()
 
--- | vkCmdSetCullModeEXT - Set the cull mode property
+-- | vkCmdSetCullModeEXT - Set cull mode dynamically for a command buffer
 --
+-- = Description
+--
+-- This command sets the cull mode for subsequent drawing commands when the
+-- graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CULL_MODE_EXT' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@cullMode@
+-- value used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetCullModeEXT-None-03384# The
@@ -301,6 +311,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.CullModeFlagBits.CullModeFlags'
 cmdSetCullModeEXT :: forall io
@@ -327,8 +338,19 @@
   "dynamic" mkVkCmdSetFrontFaceEXT
   :: FunPtr (Ptr CommandBuffer_T -> FrontFace -> IO ()) -> Ptr CommandBuffer_T -> FrontFace -> IO ()
 
--- | vkCmdSetFrontFaceEXT - Set the front face property
+-- | vkCmdSetFrontFaceEXT - Set front face orientation dynamically for a
+-- command buffer
 --
+-- = Description
+--
+-- This command sets the front face orientation for subsequent drawing
+-- commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRONT_FACE_EXT' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@frontFace@
+-- value used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetFrontFaceEXT-None-03383# The
@@ -371,6 +393,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.FrontFace.FrontFace'
 cmdSetFrontFaceEXT :: forall io
@@ -378,7 +401,8 @@
                    => -- | @commandBuffer@ is the command buffer into which the command will be
                       -- recorded.
                       CommandBuffer
-                   -> -- | @frontFace@ specifies the front face property to use for drawing.
+                   -> -- | @frontFace@ is a 'Vulkan.Core10.Enums.FrontFace.FrontFace' value
+                      -- specifying the front-facing triangle orientation to be used for culling.
                       FrontFace
                    -> io ()
 cmdSetFrontFaceEXT commandBuffer frontFace = liftIO $ do
@@ -397,8 +421,20 @@
   "dynamic" mkVkCmdSetPrimitiveTopologyEXT
   :: FunPtr (Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()) -> Ptr CommandBuffer_T -> PrimitiveTopology -> IO ()
 
--- | vkCmdSetPrimitiveTopologyEXT - Set the primitive topology state
+-- | vkCmdSetPrimitiveTopologyEXT - Set primitive topology state dynamically
+-- for a command buffer
 --
+-- = Description
+--
+-- This command sets the primitive topology for subsequent drawing commands
+-- when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_TOPOLOGY_EXT'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@topology@
+-- value used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetPrimitiveTopologyEXT-None-03347# The
@@ -443,6 +479,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.PrimitiveTopology.PrimitiveTopology'
 cmdSetPrimitiveTopologyEXT :: forall io
@@ -450,7 +487,7 @@
                            => -- | @commandBuffer@ is the command buffer into which the command will be
                               -- recorded.
                               CommandBuffer
-                           -> -- No documentation found for Nested "vkCmdSetPrimitiveTopologyEXT" "primitiveTopology"
+                           -> -- | @primitiveTopology@ specifies the primitive topology to use for drawing.
                               PrimitiveTopology
                            -> io ()
 cmdSetPrimitiveTopologyEXT commandBuffer primitiveTopology = liftIO $ do
@@ -470,7 +507,19 @@
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Viewport -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Viewport -> IO ()
 
 -- | vkCmdSetViewportWithCountEXT - Set the viewport count and viewports
+-- dynamically for a command buffer
 --
+-- = Description
+--
+-- This command sets the viewport count and viewports state for subsequent
+-- drawing commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_WITH_COUNT_EXT'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the corresponding
+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@viewportCount@
+-- and @pViewports@ values used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetViewportWithCountEXT-None-03393# The
@@ -532,6 +581,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Pipeline.Viewport'
 cmdSetViewportWithCountEXT :: forall io
                             . (MonadIO io)
@@ -559,8 +609,21 @@
   "dynamic" mkVkCmdSetScissorWithCountEXT
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr Rect2D -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr Rect2D -> IO ()
 
--- | vkCmdSetScissorWithCountEXT - Set the scissor count and scissors
+-- | vkCmdSetScissorWithCountEXT - Set the scissor count and scissor
+-- rectangular bounds dynamically for a command buffer
 --
+-- = Description
+--
+-- This command sets the scissor count and scissor rectangular bounds state
+-- for subsequence drawing commands when the graphics pipeline is created
+-- with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SCISSOR_WITH_COUNT_EXT'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the corresponding
+-- 'Vulkan.Core10.Pipeline.PipelineViewportStateCreateInfo'::@scissorCount@
+-- and @pScissors@ values used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetScissorWithCountEXT-None-03396# The
@@ -634,6 +697,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D'
 cmdSetScissorWithCountEXT :: forall io
@@ -662,7 +726,8 @@
   "dynamic" mkVkCmdBindVertexBuffers2EXT
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Buffer -> Ptr DeviceSize -> Ptr DeviceSize -> Ptr DeviceSize -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Buffer -> Ptr DeviceSize -> Ptr DeviceSize -> Ptr DeviceSize -> IO ()
 
--- | vkCmdBindVertexBuffers2EXT - Bind vertex buffers to a command buffer
+-- | vkCmdBindVertexBuffers2EXT - Bind vertex buffers to a command buffer and
+-- dynamically set strides
 --
 -- = Description
 --
@@ -684,13 +749,16 @@
 -- components are
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fxvertex-input-extraction filled with (0,0,1)>.
 --
--- If the bound pipeline state object was created with the
+-- This command also \<pipelines-dynamic-state, dynamically sets>> the byte
+-- strides between consecutive elements within buffer @pBuffers@[i] to the
+-- corresponding @pStrides@[i] value when the graphics pipeline is created
+-- with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'
--- dynamic state enabled then @pStrides@[i] specifies the byte stride
--- between consecutive elements within the corresponding buffer. In this
--- case the
--- 'Vulkan.Core10.Pipeline.VertexInputBindingDescription'::@stride@ state
--- from the pipeline state object is ignored.
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, strides are specified by the
+-- 'Vulkan.Core10.Pipeline.VertexInputBindingDescription'::@stride@ values
+-- used to create the currently active pipeline.
 --
 -- If the bound pipeline state object was also created with the
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT'
@@ -809,6 +877,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdBindVertexBuffers2EXT :: forall io
@@ -870,16 +939,19 @@
   "dynamic" mkVkCmdSetDepthTestEnableEXT
   :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
 
--- | vkCmdSetDepthTestEnableEXT - Set the depth test enable for a command
--- buffer
+-- | vkCmdSetDepthTestEnableEXT - Set depth test enable dynamically for a
+-- command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the depth test enable for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_TEST_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@depthTestEnable@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -921,6 +993,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetDepthTestEnableEXT :: forall io
@@ -947,16 +1020,19 @@
   "dynamic" mkVkCmdSetDepthWriteEnableEXT
   :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
 
--- | vkCmdSetDepthWriteEnableEXT - Set the depth write enable for the command
--- buffer
+-- | vkCmdSetDepthWriteEnableEXT - Set depth write enable dynamically for a
+-- command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the depth write enable for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_WRITE_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@depthWriteEnable@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -998,6 +1074,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetDepthWriteEnableEXT :: forall io
@@ -1024,16 +1101,19 @@
   "dynamic" mkVkCmdSetDepthCompareOpEXT
   :: FunPtr (Ptr CommandBuffer_T -> CompareOp -> IO ()) -> Ptr CommandBuffer_T -> CompareOp -> IO ()
 
--- | vkCmdSetDepthCompareOpEXT - Set the depth comparison operator for the
--- command buffer
+-- | vkCmdSetDepthCompareOpEXT - Set depth comparison operator dynamically
+-- for a command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the depth comparison operator for subsequent drawing
+-- commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_COMPARE_OP_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@depthCompareOp@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -1079,6 +1159,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.CompareOp.CompareOp'
 cmdSetDepthCompareOpEXT :: forall io
@@ -1105,16 +1186,19 @@
   "dynamic" mkVkCmdSetDepthBoundsTestEnableEXT
   :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
 
--- | vkCmdSetDepthBoundsTestEnableEXT - Set the depth bounds test enable for
--- a command buffer
+-- | vkCmdSetDepthBoundsTestEnableEXT - Set depth bounds test enable
+-- dynamically for a command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the depth bounds enable for subsequent drawing
+-- commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@depthBoundsTestEnable@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -1156,6 +1240,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetDepthBoundsTestEnableEXT :: forall io
@@ -1182,16 +1267,19 @@
   "dynamic" mkVkCmdSetStencilTestEnableEXT
   :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
 
--- | vkCmdSetStencilTestEnableEXT - Set the stencil test enable for the
+-- | vkCmdSetStencilTestEnableEXT - Set stencil test enable dynamically for a
 -- command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the stencil test enable for subsequent drawing
+-- commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_TEST_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@stencilTestEnable@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -1233,6 +1321,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetStencilTestEnableEXT :: forall io
@@ -1259,14 +1348,19 @@
   "dynamic" mkVkCmdSetStencilOpEXT
   :: FunPtr (Ptr CommandBuffer_T -> StencilFaceFlags -> StencilOp -> StencilOp -> StencilOp -> CompareOp -> IO ()) -> Ptr CommandBuffer_T -> StencilFaceFlags -> StencilOp -> StencilOp -> StencilOp -> CompareOp -> IO ()
 
--- | vkCmdSetStencilOpEXT - Set the stencil operation for the command buffer
+-- | vkCmdSetStencilOpEXT - Set stencil operation dynamically for a command
+-- buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the stencil operation for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_STENCIL_OP_EXT' set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the corresponding
+-- 'Vulkan.Core10.Pipeline.PipelineDepthStencilStateCreateInfo'::@failOp@,
+-- @passOp@, @depthFailOp@, and @compareOp@ values used to create the
+-- currently active pipeline, for both front and back faces.
 --
 -- == Valid Usage
 --
@@ -1326,6 +1420,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.CompareOp.CompareOp',
 -- 'Vulkan.Core10.Enums.StencilFaceFlagBits.StencilFaceFlags',
@@ -1386,6 +1481,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceExtendedDynamicStateFeaturesEXT = PhysicalDeviceExtendedDynamicStateFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs-boot b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_extended_dynamic_state:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_extended_dynamic_state] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_extended_dynamic_state extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs
--- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs
+++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_extended_dynamic_state2:%20&body=@vkushwaha-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_extended_dynamic_state2] @vkushwaha-nv%0A<<Here describe the issue or question you have about the VK_EXT_extended_dynamic_state2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -176,15 +176,18 @@
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> IO ()
 
 -- | vkCmdSetPatchControlPointsEXT - Specify the number of control points per
--- patch
+-- patch dynamically for a command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the number of control points per patch for subsequent
+-- drawing commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo'::@patchControlPoints@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -231,13 +234,14 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state2 VK_EXT_extended_dynamic_state2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetPatchControlPointsEXT :: forall io
                              . (MonadIO io)
                             => -- | @commandBuffer@ is the command buffer into which the command will be
                                -- recorded.
                                CommandBuffer
-                            -> -- | @patchControlPoints@ specifies number of control points per patch.
+                            -> -- | @patchControlPoints@ specifies the number of control points per patch.
                                ("patchControlPoints" ::: Word32)
                             -> io ()
 cmdSetPatchControlPointsEXT commandBuffer patchControlPoints = liftIO $ do
@@ -257,15 +261,19 @@
   :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
 
 -- | vkCmdSetRasterizerDiscardEnableEXT - Control whether primitives are
--- discarded before the rasterization stage for a command buffer
+-- discarded before the rasterization stage dynamically for a command
+-- buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the discard enable for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@rasterizerDiscardEnable@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -307,6 +315,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state2 VK_EXT_extended_dynamic_state2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetRasterizerDiscardEnableEXT :: forall io
@@ -334,16 +343,19 @@
   "dynamic" mkVkCmdSetDepthBiasEnableEXT
   :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
 
--- | vkCmdSetDepthBiasEnableEXT - Controls whether to bias fragment depth
--- values for a command buffer
+-- | vkCmdSetDepthBiasEnableEXT - Control whether to bias fragment depth
+-- values dynamically for a command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the depth bias enable for subsequent drawing commands
+-- when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_BIAS_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo'::@depthBiasEnable@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -385,6 +397,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state2 VK_EXT_extended_dynamic_state2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetDepthBiasEnableEXT :: forall io
@@ -412,14 +425,17 @@
   :: FunPtr (Ptr CommandBuffer_T -> LogicOp -> IO ()) -> Ptr CommandBuffer_T -> LogicOp -> IO ()
 
 -- | vkCmdSetLogicOpEXT - Select which logical operation to apply for blend
--- state
+-- state dynamically for a command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the logical operation for blend state for subsequent
+-- drawing commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_EXT' set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineColorBlendStateCreateInfo'::@logicOp@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -463,6 +479,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state2 VK_EXT_extended_dynamic_state2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.LogicOp.LogicOp'
 cmdSetLogicOpEXT :: forall io
@@ -489,16 +506,19 @@
   "dynamic" mkVkCmdSetPrimitiveRestartEnableEXT
   :: FunPtr (Ptr CommandBuffer_T -> Bool32 -> IO ()) -> Ptr CommandBuffer_T -> Bool32 -> IO ()
 
--- | vkCmdSetPrimitiveRestartEnableEXT - Control whether a special vertex
--- index value is treated as restarting the assembly of primitives
+-- | vkCmdSetPrimitiveRestartEnableEXT - Set primitive assembly restart state
+-- dynamically for a command buffer
 --
 -- = Description
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the primitive restart enable for subsequent drawing
+-- commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE_EXT'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo'::@primitiveRestartEnable@
+-- value used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -540,6 +560,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state2 VK_EXT_extended_dynamic_state2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetPrimitiveRestartEnableEXT :: forall io
@@ -585,6 +606,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state2 VK_EXT_extended_dynamic_state2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceExtendedDynamicState2FeaturesEXT = PhysicalDeviceExtendedDynamicState2FeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs-boot b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state2.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_extended_dynamic_state2:%20&body=@vkushwaha-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_extended_dynamic_state2] @vkushwaha-nv%0A<<Here describe the issue or question you have about the VK_EXT_extended_dynamic_state2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_external_memory_dma_buf.hs b/src/Vulkan/Extensions/VK_EXT_external_memory_dma_buf.hs
--- a/src/Vulkan/Extensions/VK_EXT_external_memory_dma_buf.hs
+++ b/src/Vulkan/Extensions/VK_EXT_external_memory_dma_buf.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Chad Versace
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_external_memory_dma_buf:%20&body=@chadversary%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_external_memory_dma_buf] @chadversary%0A<<Here describe the issue or question you have about the VK_EXT_external_memory_dma_buf extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs b/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs
--- a/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs
+++ b/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_external_memory_host:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_external_memory_host] @drakos-amd%0A<<Here describe the issue or question you have about the VK_EXT_external_memory_host extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -286,6 +286,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_external_memory_host VK_EXT_external_memory_host>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'MemoryHostPointerPropertiesEXT'
@@ -385,6 +386,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_external_memory_host VK_EXT_external_memory_host>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImportMemoryHostPointerInfoEXT = ImportMemoryHostPointerInfoEXT
@@ -449,6 +451,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_external_memory_host VK_EXT_external_memory_host>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getMemoryHostPointerPropertiesEXT'
 data MemoryHostPointerPropertiesEXT = MemoryHostPointerPropertiesEXT
@@ -511,6 +514,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_external_memory_host VK_EXT_external_memory_host>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceExternalMemoryHostPropertiesEXT = PhysicalDeviceExternalMemoryHostPropertiesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs-boot b/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_external_memory_host.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_external_memory_host:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_external_memory_host] @drakos-amd%0A<<Here describe the issue or question you have about the VK_EXT_external_memory_host extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs b/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs
--- a/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs
+++ b/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Bill Licea-Kane
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_filter_cubic:%20&body=@wwlk%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @wwlk%0A<<Here describe the issue or question you have about the VK_EXT_filter_cubic extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -178,6 +178,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_filter_cubic VK_EXT_filter_cubic>,
 -- 'Vulkan.Core10.Enums.ImageViewType.ImageViewType',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceImageViewImageFormatInfoEXT = PhysicalDeviceImageViewImageFormatInfoEXT
@@ -249,6 +250,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_filter_cubic VK_EXT_filter_cubic>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data FilterCubicImageViewImageFormatPropertiesEXT = FilterCubicImageViewImageFormatPropertiesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs-boot b/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_filter_cubic.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Bill Licea-Kane
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_filter_cubic:%20&body=@wwlk%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @wwlk%0A<<Here describe the issue or question you have about the VK_EXT_filter_cubic extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -15,7 +15,7 @@
 --     219
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -26,12 +26,12 @@
 -- [__Contact__]
 --
 --     -   Matthew Netsch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_fragment_density_map:%20&body=@mnetsch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_fragment_density_map] @mnetsch%0A<<Here describe the issue or question you have about the VK_EXT_fragment_density_map extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2018-09-25
+--     2021-09-30
 --
 -- [__Interactions and External Dependencies__]
 --
@@ -145,6 +145,15 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT'
+--
 -- == New or Modified Built-In Variables
 --
 -- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-fraginvocationcount FragInvocationCountEXT>
@@ -161,6 +170,10 @@
 --
 --     -   Initial version
 --
+-- -   Revision 2, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
+--
 -- = See Also
 --
 -- 'PhysicalDeviceFragmentDensityMapFeaturesEXT',
@@ -181,6 +194,9 @@
                                                       , pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION
                                                       , EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME
                                                       , pattern EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME
+                                                      , FormatFeatureFlagBits2KHR(..)
+                                                      , FormatFeatureFlags2KHR
+                                                      , Flags64
                                                       ) where
 
 import Foreign.Marshal.Alloc (allocaBytes)
@@ -209,6 +225,9 @@
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_FEATURES_EXT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT))
+import Vulkan.Core10.FundamentalTypes (Flags64)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlagBits2KHR(..))
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
 -- | VkPhysicalDeviceFragmentDensityMapFeaturesEXT - Structure describing
 -- fragment density map features that can be supported by an implementation
 --
@@ -232,6 +251,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_fragment_density_map VK_EXT_fragment_density_map>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentDensityMapFeaturesEXT = PhysicalDeviceFragmentDensityMapFeaturesEXT
@@ -325,6 +345,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_fragment_density_map VK_EXT_fragment_density_map>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -470,6 +491,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_fragment_density_map VK_EXT_fragment_density_map>,
 -- 'Vulkan.Core10.Pass.AttachmentReference',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data RenderPassFragmentDensityMapCreateInfoEXT = RenderPassFragmentDensityMapCreateInfoEXT
@@ -514,11 +536,11 @@
            zero
 
 
-type EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1
+type EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2
 
 -- No documentation found for TopLevel "VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION"
 pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION :: forall a . Integral a => a
-pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 1
+pattern EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION = 2
 
 
 type EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME = "VK_EXT_fragment_density_map"
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
@@ -15,7 +15,7 @@
 --     219
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -26,12 +26,12 @@
 -- [__Contact__]
 --
 --     -   Matthew Netsch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_fragment_density_map:%20&body=@mnetsch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_fragment_density_map] @mnetsch%0A<<Here describe the issue or question you have about the VK_EXT_fragment_density_map extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2018-09-25
+--     2021-09-30
 --
 -- [__Interactions and External Dependencies__]
 --
@@ -145,6 +145,15 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT'
+--
 -- == New or Modified Built-In Variables
 --
 -- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#interfaces-builtin-variables-fraginvocationcount FragInvocationCountEXT>
@@ -160,6 +169,10 @@
 -- -   Revision 1, 2018-09-25 (Matthew Netsch)
 --
 --     -   Initial version
+--
+-- -   Revision 2, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
 --
 -- = See Also
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs b/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs
--- a/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs
+++ b/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Matthew Netsch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_fragment_density_map2:%20&body=@mnetsch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_fragment_density_map2] @mnetsch%0A<<Here describe the issue or question you have about the VK_EXT_fragment_density_map2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -126,6 +126,15 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT'
+--
 -- == Version History
 --
 -- -   Revision 1, 2020-06-16 (Matthew Netsch)
@@ -200,6 +209,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_fragment_density_map2 VK_EXT_fragment_density_map2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentDensityMap2FeaturesEXT = PhysicalDeviceFragmentDensityMap2FeaturesEXT
@@ -266,6 +276,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_fragment_density_map2 VK_EXT_fragment_density_map2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentDensityMap2PropertiesEXT = PhysicalDeviceFragmentDensityMap2PropertiesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs-boot b/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_fragment_density_map2.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Matthew Netsch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_fragment_density_map2:%20&body=@mnetsch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_fragment_density_map2] @mnetsch%0A<<Here describe the issue or question you have about the VK_EXT_fragment_density_map2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -125,6 +125,15 @@
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_PROPERTIES_EXT'
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDER_PASS_FRAGMENT_DENSITY_MAP_CREATE_INFO_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT'
 --
 -- == Version History
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs b/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs
--- a/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs
+++ b/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_fragment_shader_interlock:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_fragment_shader_interlock] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_fragment_shader_interlock extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -177,6 +177,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_fragment_shader_interlock VK_EXT_fragment_shader_interlock>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentShaderInterlockFeaturesEXT = PhysicalDeviceFragmentShaderInterlockFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs-boot b/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_fragment_shader_interlock.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_fragment_shader_interlock:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_fragment_shader_interlock] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_fragment_shader_interlock extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs b/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs
--- a/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs
+++ b/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_full_screen_exclusive:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_full_screen_exclusive] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_full_screen_exclusive extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -427,6 +427,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR',
 -- 'Vulkan.Extensions.VK_KHR_surface.PresentModeKHR'
@@ -495,6 +496,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.DeviceGroupPresentModeFlagsKHR',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.PhysicalDeviceSurfaceInfo2KHR'
@@ -601,6 +605,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Extensions.Handles.SwapchainKHR'
 acquireFullScreenExclusiveModeEXT :: forall io
                                    . (MonadIO io)
@@ -642,6 +647,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Extensions.Handles.SwapchainKHR'
 releaseFullScreenExclusiveModeEXT :: forall io
                                    . (MonadIO io)
@@ -680,6 +686,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
 -- 'FullScreenExclusiveEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SurfaceFullScreenExclusiveInfoEXT = SurfaceFullScreenExclusiveInfoEXT
@@ -751,6 +758,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_surface VK_KHR_win32_surface>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SurfaceFullScreenExclusiveWin32InfoEXT = SurfaceFullScreenExclusiveWin32InfoEXT
   { -- | @hmonitor@ is the Win32 'HMONITOR' handle identifying the display to
@@ -818,6 +827,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SurfaceCapabilitiesFullScreenExclusiveEXT = SurfaceCapabilitiesFullScreenExclusiveEXT
@@ -866,6 +876,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
 -- 'SurfaceFullScreenExclusiveInfoEXT'
 newtype FullScreenExclusiveEXT = FullScreenExclusiveEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs-boot b/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_full_screen_exclusive.hs-boot
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_full_screen_exclusive:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_full_screen_exclusive] @cubanismo%0A<<Here describe the issue or question you have about the VK_EXT_full_screen_exclusive extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_global_priority.hs b/src/Vulkan/Extensions/VK_EXT_global_priority.hs
--- a/src/Vulkan/Extensions/VK_EXT_global_priority.hs
+++ b/src/Vulkan/Extensions/VK_EXT_global_priority.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Andres Rodriguez
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_global_priority:%20&body=@lostgoat%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_global_priority] @lostgoat%0A<<Here describe the issue or question you have about the VK_EXT_global_priority extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -171,6 +171,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_global_priority VK_EXT_global_priority>,
 -- 'QueueGlobalPriorityEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceQueueGlobalPriorityCreateInfoEXT = DeviceQueueGlobalPriorityCreateInfoEXT
@@ -228,6 +229,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_global_priority VK_EXT_global_priority>,
 -- 'DeviceQueueGlobalPriorityCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_global_priority_query.QueueFamilyGlobalPriorityPropertiesEXT'
 newtype QueueGlobalPriorityEXT = QueueGlobalPriorityEXT Int32
diff --git a/src/Vulkan/Extensions/VK_EXT_global_priority.hs-boot b/src/Vulkan/Extensions/VK_EXT_global_priority.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_global_priority.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_global_priority.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Andres Rodriguez
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_global_priority:%20&body=@lostgoat%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_global_priority] @lostgoat%0A<<Here describe the issue or question you have about the VK_EXT_global_priority extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs b/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs
--- a/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs
+++ b/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Yiwei Zhang
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_global_priority_query:%20&body=@zhangyiwei%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_global_priority_query] @zhangyiwei%0A<<Here describe the issue or question you have about the VK_EXT_global_priority_query extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -193,6 +193,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_global_priority_query VK_EXT_global_priority_query>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceGlobalPriorityQueryFeaturesEXT = PhysicalDeviceGlobalPriorityQueryFeaturesEXT
@@ -273,6 +274,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_global_priority_query VK_EXT_global_priority_query>,
 -- 'Vulkan.Extensions.VK_EXT_global_priority.QueueGlobalPriorityEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data QueueFamilyGlobalPriorityPropertiesEXT = QueueFamilyGlobalPriorityPropertiesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs-boot b/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_global_priority_query.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Yiwei Zhang
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_global_priority_query:%20&body=@zhangyiwei%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_global_priority_query] @zhangyiwei%0A<<Here describe the issue or question you have about the VK_EXT_global_priority_query extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
--- a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
+++ b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Courtney Goeltzenleuchter
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_hdr_metadata:%20&body=@courtney-g%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_hdr_metadata] @courtney-g%0A<<Here describe the issue or question you have about the VK_EXT_hdr_metadata extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -205,6 +205,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_hdr_metadata VK_EXT_hdr_metadata>,
 -- 'Vulkan.Core10.Handles.Device', 'HdrMetadataEXT',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
 setHdrMetadataEXT :: forall io
@@ -238,6 +239,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_hdr_metadata VK_EXT_hdr_metadata>,
 -- 'HdrMetadataEXT'
 data XYColorEXT = XYColorEXT
   { -- No documentation found for Nested "VkXYColorEXT" "x"
@@ -293,6 +295,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_hdr_metadata VK_EXT_hdr_metadata>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'XYColorEXT',
 -- 'setHdrMetadataEXT'
 data HdrMetadataEXT = HdrMetadataEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_hdr_metadata.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Courtney Goeltzenleuchter
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_hdr_metadata:%20&body=@courtney-g%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_hdr_metadata] @courtney-g%0A<<Here describe the issue or question you have about the VK_EXT_hdr_metadata extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_headless_surface.hs b/src/Vulkan/Extensions/VK_EXT_headless_surface.hs
--- a/src/Vulkan/Extensions/VK_EXT_headless_surface.hs
+++ b/src/Vulkan/Extensions/VK_EXT_headless_surface.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Lisa Wu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_headless_surface:%20&body=@chengtianww%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_headless_surface] @chengtianww%0A<<Here describe the issue or question you have about the VK_EXT_headless_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -212,6 +212,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_headless_surface VK_EXT_headless_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'HeadlessSurfaceCreateInfoEXT', 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -250,6 +251,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_headless_surface VK_EXT_headless_surface>,
 -- 'HeadlessSurfaceCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createHeadlessSurfaceEXT'
@@ -305,6 +307,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_headless_surface VK_EXT_headless_surface>,
 -- 'HeadlessSurfaceCreateInfoEXT'
 newtype HeadlessSurfaceCreateFlagsEXT = HeadlessSurfaceCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_headless_surface.hs-boot b/src/Vulkan/Extensions/VK_EXT_headless_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_headless_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_headless_surface.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Lisa Wu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_headless_surface:%20&body=@chengtianww%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_headless_surface] @chengtianww%0A<<Here describe the issue or question you have about the VK_EXT_headless_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_host_query_reset.hs b/src/Vulkan/Extensions/VK_EXT_host_query_reset.hs
--- a/src/Vulkan/Extensions/VK_EXT_host_query_reset.hs
+++ b/src/Vulkan/Extensions/VK_EXT_host_query_reset.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Bas Nieuwenhuizen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_host_query_reset:%20&body=@BNieuwenhuizen%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_host_query_reset] @BNieuwenhuizen%0A<<Here describe the issue or question you have about the VK_EXT_host_query_reset extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs b/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs
--- a/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs
+++ b/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs
@@ -15,7 +15,7 @@
 --     159
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -32,12 +32,12 @@
 -- [__Contact__]
 --
 --     -   Chad Versace
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_image_drm_format_modifier:%20&body=@chadversary%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_image_drm_format_modifier] @chadversary%0A<<Here describe the issue or question you have about the VK_EXT_image_drm_format_modifier extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2018-08-29
+--     2021-09-30
 --
 -- [__IP Status__]
 --     No known IP claims.
@@ -304,6 +304,17 @@
 --
 --     -   'PhysicalDeviceImageDrmFormatModifierInfoEXT'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   'DrmFormatModifierProperties2EXT'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2':
+--
+--     -   'DrmFormatModifierPropertiesList2EXT'
+--
 -- == New Enum Constants
 --
 -- -   'EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME'
@@ -341,6 +352,14 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT'
+--
 -- == Issues
 --
 -- 1) Should this extension define a single DRM format modifier per
@@ -510,6 +529,10 @@
 --
 --     -   First stable revision
 --
+-- -   Revision 2, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
+--
 -- = See Also
 --
 -- 'DrmFormatModifierPropertiesEXT', 'DrmFormatModifierPropertiesListEXT',
@@ -533,10 +556,15 @@
                                                            , ImageDrmFormatModifierListCreateInfoEXT(..)
                                                            , ImageDrmFormatModifierExplicitCreateInfoEXT(..)
                                                            , ImageDrmFormatModifierPropertiesEXT(..)
+                                                           , DrmFormatModifierPropertiesList2EXT(..)
+                                                           , DrmFormatModifierProperties2EXT(..)
                                                            , EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION
                                                            , pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION
                                                            , EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME
                                                            , pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME
+                                                           , FormatFeatureFlagBits2KHR(..)
+                                                           , FormatFeatureFlags2KHR
+                                                           , Flags64
                                                            ) where
 
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -581,6 +609,7 @@
 import Vulkan.Dynamic (DeviceCmds(pVkGetImageDrmFormatModifierPropertiesEXT))
 import Vulkan.Core10.Handles (Device_T)
 import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlags)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
 import Vulkan.Core10.Handles (Image)
 import Vulkan.Core10.Handles (Image(..))
 import Vulkan.Core10.Enums.Result (Result)
@@ -589,12 +618,16 @@
 import Vulkan.Core10.Enums.StructureType (StructureType)
 import Vulkan.Core10.Image (SubresourceLayout)
 import Vulkan.Exception (VulkanException(..))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_EXT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_EXPLICIT_CREATE_INFO_EXT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_LIST_CREATE_INFO_EXT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_DRM_FORMAT_MODIFIER_PROPERTIES_EXT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT))
 import Vulkan.Core10.Enums.Result (Result(SUCCESS))
+import Vulkan.Core10.FundamentalTypes (Flags64)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlagBits2KHR(..))
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
   unsafe
@@ -617,6 +650,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image',
 -- 'ImageDrmFormatModifierPropertiesEXT'
 getImageDrmFormatModifierPropertiesEXT :: forall io
@@ -671,6 +705,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
 -- 'DrmFormatModifierPropertiesEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DrmFormatModifierPropertiesListEXT = DrmFormatModifierPropertiesListEXT
@@ -738,23 +773,23 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion multi-planar>
 -- Y′CBCR formats). In
 -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlags', each
--- @VK_IMAGE_ASPECT_MEMORY_PLANE@//i/_BIT_EXT represents a _memory plane/
--- and each @VK_IMAGE_ASPECT_PLANE@//i/_BIT a _format plane/.
+-- @VK_IMAGE_ASPECT_MEMORY_PLANE_i_BIT_EXT@ represents a /memory plane/ and
+-- each @VK_IMAGE_ASPECT_PLANE_i_BIT@ a /format plane/.
 --
 -- An image’s set of /format planes/ is an ordered partition of the image’s
--- __content__ into separable groups of format channels. The ordered
+-- __content__ into separable groups of format components. The ordered
 -- partition is encoded in the name of each
 -- 'Vulkan.Core10.Enums.Format.Format'. For example,
 -- 'Vulkan.Core10.Enums.Format.FORMAT_G8_B8R8_2PLANE_420_UNORM' contains
--- two /format planes/; the first plane contains the green channel and the
--- second plane contains the blue channel and red channel. If the format
--- name does not contain @PLANE@, then the format contains a single plane;
--- for example, 'Vulkan.Core10.Enums.Format.FORMAT_R8G8B8A8_UNORM'. Some
--- commands, such as
+-- two /format planes/; the first plane contains the green component and
+-- the second plane contains the blue component and red component. If the
+-- format name does not contain @PLANE@, then the format contains a single
+-- plane; for example, 'Vulkan.Core10.Enums.Format.FORMAT_R8G8B8A8_UNORM'.
+-- Some commands, such as
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyBufferToImage', do not
--- operate on all format channels in the image, but instead operate only on
--- the /format planes/ explicitly chosen by the application and operate on
--- each /format plane/ independently.
+-- operate on all format components in the image, but instead operate only
+-- on the /format planes/ explicitly chosen by the application and operate
+-- on each /format plane/ independently.
 --
 -- An image’s set of /memory planes/ is an ordered partition of the image’s
 -- __memory__ rather than the image’s __content__. Each /memory plane/ is a
@@ -790,9 +825,9 @@
 -- implementation, the implementation /may/ store the image’s content in 3
 -- adjacent /memory planes/ where each /memory plane/ corresponds exactly
 -- to a /format plane/. However, the implementation /may/ also store the
--- image’s content in a single /memory plane/ where all format channels are
--- combined using an implementation-private block-compressed format; or the
--- implementation /may/ store the image’s content in a collection of 7
+-- image’s content in a single /memory plane/ where all format components
+-- are combined using an implementation-private block-compressed format; or
+-- the implementation /may/ store the image’s content in a collection of 7
 -- adjacent /memory planes/ using an implementation-private sharding
 -- technique. Because the image is non-linear and non-disjoint, the
 -- implementation has much freedom when choosing the image’s placement in
@@ -805,6 +840,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
 -- 'DrmFormatModifierPropertiesListEXT',
 -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlags'
 data DrmFormatModifierPropertiesEXT = DrmFormatModifierPropertiesEXT
@@ -910,6 +946,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
 -- 'Vulkan.Core10.Enums.SharingMode.SharingMode',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceImageDrmFormatModifierInfoEXT = PhysicalDeviceImageDrmFormatModifierInfoEXT
@@ -997,6 +1034,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImageDrmFormatModifierListCreateInfoEXT = ImageDrmFormatModifierListCreateInfoEXT
   { -- | @pDrmFormatModifiers@ is a pointer to an array of /Linux DRM format
@@ -1102,6 +1140,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Core10.Image.SubresourceLayout'
 data ImageDrmFormatModifierExplicitCreateInfoEXT = ImageDrmFormatModifierExplicitCreateInfoEXT
@@ -1172,6 +1211,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getImageDrmFormatModifierPropertiesEXT'
 data ImageDrmFormatModifierPropertiesEXT = ImageDrmFormatModifierPropertiesEXT
@@ -1216,11 +1256,148 @@
            zero
 
 
-type EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1
+-- | VkDrmFormatModifierPropertiesList2EXT - Structure specifying the list of
+-- DRM format modifiers supported for a format
+--
+-- = Description
+--
+-- If @pDrmFormatModifierProperties@ is @NULL@, the number of modifiers
+-- compatible with the queried @format@ is returned in
+-- @drmFormatModifierCount@. Otherwise, the application /must/ set
+-- @drmFormatModifierCount@ to the length of the array
+-- @pDrmFormatModifierProperties@; the function will write at most
+-- @drmFormatModifierCount@ elements to the array, and will return in
+-- @drmFormatModifierCount@ the number of elements written.
+--
+-- Among the elements in array @pDrmFormatModifierProperties@, each
+-- returned @drmFormatModifier@ /must/ be unique.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>,
+-- 'DrmFormatModifierProperties2EXT',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data DrmFormatModifierPropertiesList2EXT = DrmFormatModifierPropertiesList2EXT
+  { -- | @drmFormatModifierCount@ is an inout parameter related to the number of
+    -- modifiers compatible with the @format@, as described below.
+    drmFormatModifierCount :: Word32
+  , -- | @pDrmFormatModifierProperties@ is either @NULL@ or a pointer to an array
+    -- of 'DrmFormatModifierProperties2EXT' structures.
+    drmFormatModifierProperties :: Ptr DrmFormatModifierProperties2EXT
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (DrmFormatModifierPropertiesList2EXT)
+#endif
+deriving instance Show DrmFormatModifierPropertiesList2EXT
 
+instance ToCStruct DrmFormatModifierPropertiesList2EXT where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p DrmFormatModifierPropertiesList2EXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (drmFormatModifierCount)
+    poke ((p `plusPtr` 24 :: Ptr (Ptr DrmFormatModifierProperties2EXT))) (drmFormatModifierProperties)
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    f
+
+instance FromCStruct DrmFormatModifierPropertiesList2EXT where
+  peekCStruct p = do
+    drmFormatModifierCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    pDrmFormatModifierProperties <- peek @(Ptr DrmFormatModifierProperties2EXT) ((p `plusPtr` 24 :: Ptr (Ptr DrmFormatModifierProperties2EXT)))
+    pure $ DrmFormatModifierPropertiesList2EXT
+             drmFormatModifierCount pDrmFormatModifierProperties
+
+instance Storable DrmFormatModifierPropertiesList2EXT where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero DrmFormatModifierPropertiesList2EXT where
+  zero = DrmFormatModifierPropertiesList2EXT
+           zero
+           zero
+
+
+-- | VkDrmFormatModifierProperties2EXT - Structure specifying properties of a
+-- format when combined with a DRM format modifier
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_drm_format_modifier VK_EXT_image_drm_format_modifier>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>,
+-- 'DrmFormatModifierPropertiesList2EXT',
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR'
+data DrmFormatModifierProperties2EXT = DrmFormatModifierProperties2EXT
+  { -- | @drmFormatModifier@ is a /Linux DRM format modifier/.
+    drmFormatModifier :: Word64
+  , -- | @drmFormatModifierPlaneCount@ is the number of /memory planes/ in any
+    -- image created with @format@ and @drmFormatModifier@. An image’s /memory
+    -- planecount/ is distinct from its /format planecount/, as explained
+    -- below.
+    drmFormatModifierPlaneCount :: Word32
+  , -- | @drmFormatModifierTilingFeatures@ is a bitmask of
+    -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+    -- that are supported by any image created with @format@ and
+    -- @drmFormatModifier@.
+    drmFormatModifierTilingFeatures :: FormatFeatureFlags2KHR
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (DrmFormatModifierProperties2EXT)
+#endif
+deriving instance Show DrmFormatModifierProperties2EXT
+
+instance ToCStruct DrmFormatModifierProperties2EXT where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p DrmFormatModifierProperties2EXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr Word64)) (drmFormatModifier)
+    poke ((p `plusPtr` 8 :: Ptr Word32)) (drmFormatModifierPlaneCount)
+    poke ((p `plusPtr` 16 :: Ptr FormatFeatureFlags2KHR)) (drmFormatModifierTilingFeatures)
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr Word64)) (zero)
+    poke ((p `plusPtr` 8 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 16 :: Ptr FormatFeatureFlags2KHR)) (zero)
+    f
+
+instance FromCStruct DrmFormatModifierProperties2EXT where
+  peekCStruct p = do
+    drmFormatModifier <- peek @Word64 ((p `plusPtr` 0 :: Ptr Word64))
+    drmFormatModifierPlaneCount <- peek @Word32 ((p `plusPtr` 8 :: Ptr Word32))
+    drmFormatModifierTilingFeatures <- peek @FormatFeatureFlags2KHR ((p `plusPtr` 16 :: Ptr FormatFeatureFlags2KHR))
+    pure $ DrmFormatModifierProperties2EXT
+             drmFormatModifier drmFormatModifierPlaneCount drmFormatModifierTilingFeatures
+
+instance Storable DrmFormatModifierProperties2EXT where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero DrmFormatModifierProperties2EXT where
+  zero = DrmFormatModifierProperties2EXT
+           zero
+           zero
+           zero
+
+
+type EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2
+
 -- No documentation found for TopLevel "VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION"
 pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION :: forall a . Integral a => a
-pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 1
+pattern EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION = 2
 
 
 type EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME = "VK_EXT_image_drm_format_modifier"
diff --git a/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs-boot b/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_image_drm_format_modifier.hs-boot
@@ -15,7 +15,7 @@
 --     159
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -32,12 +32,12 @@
 -- [__Contact__]
 --
 --     -   Chad Versace
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_image_drm_format_modifier:%20&body=@chadversary%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_image_drm_format_modifier] @chadversary%0A<<Here describe the issue or question you have about the VK_EXT_image_drm_format_modifier extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2018-08-29
+--     2021-09-30
 --
 -- [__IP Status__]
 --     No known IP claims.
@@ -304,6 +304,17 @@
 --
 --     -   'PhysicalDeviceImageDrmFormatModifierInfoEXT'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   'DrmFormatModifierProperties2EXT'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2':
+--
+--     -   'DrmFormatModifierPropertiesList2EXT'
+--
 -- == New Enum Constants
 --
 -- -   'EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME'
@@ -341,6 +352,14 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_DRM_FORMAT_MODIFIER_INFO_EXT'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DRM_FORMAT_MODIFIER_PROPERTIES_LIST_2_EXT'
+--
 -- == Issues
 --
 -- 1) Should this extension define a single DRM format modifier per
@@ -510,6 +529,10 @@
 --
 --     -   First stable revision
 --
+-- -   Revision 2, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
+--
 -- = See Also
 --
 -- 'DrmFormatModifierPropertiesEXT', 'DrmFormatModifierPropertiesListEXT',
@@ -526,7 +549,9 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_EXT_image_drm_format_modifier  ( DrmFormatModifierPropertiesEXT
+module Vulkan.Extensions.VK_EXT_image_drm_format_modifier  ( DrmFormatModifierProperties2EXT
+                                                           , DrmFormatModifierPropertiesEXT
+                                                           , DrmFormatModifierPropertiesList2EXT
                                                            , DrmFormatModifierPropertiesListEXT
                                                            , ImageDrmFormatModifierExplicitCreateInfoEXT
                                                            , ImageDrmFormatModifierListCreateInfoEXT
@@ -538,12 +563,28 @@
 import Vulkan.CStruct (ToCStruct)
 import Data.Kind (Type)
 
+data DrmFormatModifierProperties2EXT
+
+instance ToCStruct DrmFormatModifierProperties2EXT
+instance Show DrmFormatModifierProperties2EXT
+
+instance FromCStruct DrmFormatModifierProperties2EXT
+
+
 data DrmFormatModifierPropertiesEXT
 
 instance ToCStruct DrmFormatModifierPropertiesEXT
 instance Show DrmFormatModifierPropertiesEXT
 
 instance FromCStruct DrmFormatModifierPropertiesEXT
+
+
+data DrmFormatModifierPropertiesList2EXT
+
+instance ToCStruct DrmFormatModifierPropertiesList2EXT
+instance Show DrmFormatModifierPropertiesList2EXT
+
+instance FromCStruct DrmFormatModifierPropertiesList2EXT
 
 
 data DrmFormatModifierPropertiesListEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_image_robustness.hs b/src/Vulkan/Extensions/VK_EXT_image_robustness.hs
--- a/src/Vulkan/Extensions/VK_EXT_image_robustness.hs
+++ b/src/Vulkan/Extensions/VK_EXT_image_robustness.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Graeme Leese
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_image_robustness:%20&body=@gnl21%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_image_robustness] @gnl21%0A<<Here describe the issue or question you have about the VK_EXT_image_robustness extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -161,6 +161,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_image_robustness VK_EXT_image_robustness>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceImageRobustnessFeaturesEXT = PhysicalDeviceImageRobustnessFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_image_robustness.hs-boot b/src/Vulkan/Extensions/VK_EXT_image_robustness.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_image_robustness.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_image_robustness.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Graeme Leese
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_image_robustness:%20&body=@gnl21%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_image_robustness] @gnl21%0A<<Here describe the issue or question you have about the VK_EXT_image_robustness extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs b/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs
--- a/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs
+++ b/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_index_type_uint8:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_index_type_uint8] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_index_type_uint8 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -134,6 +134,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_index_type_uint8 VK_EXT_index_type_uint8>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8FeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot b/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_index_type_uint8:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_index_type_uint8] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_index_type_uint8 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs b/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs
--- a/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs
+++ b/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_inline_uniform_block:%20&body=@aqnuep%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_inline_uniform_block] @aqnuep%0A<<Here describe the issue or question you have about the VK_EXT_inline_uniform_block extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -233,6 +233,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_inline_uniform_block VK_EXT_inline_uniform_block>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceInlineUniformBlockFeaturesEXT = PhysicalDeviceInlineUniformBlockFeaturesEXT
@@ -311,6 +312,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_inline_uniform_block VK_EXT_inline_uniform_block>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceInlineUniformBlockPropertiesEXT = PhysicalDeviceInlineUniformBlockPropertiesEXT
   { -- | #limits-maxInlineUniformBlockSize# @maxInlineUniformBlockSize@ is the
@@ -407,6 +409,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_inline_uniform_block VK_EXT_inline_uniform_block>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data WriteDescriptorSetInlineUniformBlockEXT = WriteDescriptorSetInlineUniformBlockEXT
   { -- | @dataSize@ is the number of bytes of inline uniform block data pointed
@@ -475,6 +478,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_inline_uniform_block VK_EXT_inline_uniform_block>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DescriptorPoolInlineUniformBlockCreateInfoEXT = DescriptorPoolInlineUniformBlockCreateInfoEXT
   { -- | @maxInlineUniformBlockBindings@ is the number of inline uniform block
diff --git a/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs-boot b/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_inline_uniform_block.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_inline_uniform_block:%20&body=@aqnuep%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_inline_uniform_block] @aqnuep%0A<<Here describe the issue or question you have about the VK_EXT_inline_uniform_block extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs b/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs
--- a/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs
+++ b/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_line_rasterization:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_line_rasterization] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_line_rasterization extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -201,8 +201,20 @@
   "dynamic" mkVkCmdSetLineStippleEXT
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()
 
--- | vkCmdSetLineStippleEXT - Set the dynamic line width state
+-- | vkCmdSetLineStippleEXT - Set line stipple dynamically for a command
+-- buffer
 --
+-- = Description
+--
+-- This command sets the line stipple state for subsequent drawing commands
+-- when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineRasterizationLineStateCreateInfoEXT'::@lineStippleFactor@ and
+-- 'PipelineRasterizationLineStateCreateInfoEXT'::@lineStipplePattern@
+-- values used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetLineStippleEXT-lineStippleFactor-02776#
@@ -242,6 +254,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetLineStippleEXT :: forall io
                       . (MonadIO io)
@@ -287,6 +300,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeaturesEXT
@@ -396,6 +410,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationPropertiesEXT
   { -- | #limits-lineSubPixelPrecisionBits# @lineSubPixelPrecisionBits@ is the
@@ -511,6 +526,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'LineRasterizationModeEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfoEXT
@@ -581,6 +597,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
 -- 'PipelineRasterizationLineStateCreateInfoEXT'
 newtype LineRasterizationModeEXT = LineRasterizationModeEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs-boot b/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_line_rasterization.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_line_rasterization:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_line_rasterization] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_line_rasterization extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs b/src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs
--- a/src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs
+++ b/src/Vulkan/Extensions/VK_EXT_load_store_op_none.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Shahbaz Youssefi
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_load_store_op_none:%20&body=@syoussefi%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_load_store_op_none] @syoussefi%0A<<Here describe the issue or question you have about the VK_EXT_load_store_op_none extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -43,9 +43,9 @@
 --
 -- This extension incorporates
 -- 'Vulkan.Core10.Enums.AttachmentStoreOp.ATTACHMENT_STORE_OP_NONE_EXT'
--- from <VK_QCOM_render_pass_store_ops.html VK_QCOM_render_pass_store_ops>,
--- enabling applications to avoid unnecessary synchronization when an
--- attachment is not written during a render pass.
+-- from @VK_QCOM_render_pass_store_ops@, enabling applications to avoid
+-- unnecessary synchronization when an attachment is not written during a
+-- render pass.
 --
 -- Additionally,
 -- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_EXT' is
diff --git a/src/Vulkan/Extensions/VK_EXT_memory_budget.hs b/src/Vulkan/Extensions/VK_EXT_memory_budget.hs
--- a/src/Vulkan/Extensions/VK_EXT_memory_budget.hs
+++ b/src/Vulkan/Extensions/VK_EXT_memory_budget.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_memory_budget:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_memory_budget] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_memory_budget extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -63,9 +63,8 @@
 -- @heapUsage@. From here the application can notice if it is over budget
 -- and decide how it wants to handle the memory situation (free it, move to
 -- host memory, changing mipmap levels, etc). This extension is designed to
--- be used in concert with
--- <VK_EXT_memory_priority.html VK_EXT_memory_priority> to help with this
--- part of memory management.
+-- be used in concert with @VK_EXT_memory_priority@ to help with this part
+-- of memory management.
 --
 -- == New Structures
 --
@@ -159,6 +158,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_memory_budget VK_EXT_memory_budget>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMemoryBudgetPropertiesEXT = PhysicalDeviceMemoryBudgetPropertiesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_memory_budget.hs-boot b/src/Vulkan/Extensions/VK_EXT_memory_budget.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_memory_budget.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_memory_budget.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_memory_budget:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_memory_budget] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_memory_budget extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -63,9 +63,8 @@
 -- @heapUsage@. From here the application can notice if it is over budget
 -- and decide how it wants to handle the memory situation (free it, move to
 -- host memory, changing mipmap levels, etc). This extension is designed to
--- be used in concert with
--- <VK_EXT_memory_priority.html VK_EXT_memory_priority> to help with this
--- part of memory management.
+-- be used in concert with @VK_EXT_memory_priority@ to help with this part
+-- of memory management.
 --
 -- == New Structures
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_memory_priority.hs b/src/Vulkan/Extensions/VK_EXT_memory_priority.hs
--- a/src/Vulkan/Extensions/VK_EXT_memory_priority.hs
+++ b/src/Vulkan/Extensions/VK_EXT_memory_priority.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_memory_priority:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_memory_priority] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_memory_priority extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -149,6 +149,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_memory_priority VK_EXT_memory_priority>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMemoryPriorityFeaturesEXT = PhysicalDeviceMemoryPriorityFeaturesEXT
@@ -208,6 +209,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_memory_priority VK_EXT_memory_priority>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data MemoryPriorityAllocateInfoEXT = MemoryPriorityAllocateInfoEXT
   { -- | @priority@ is a floating-point value between @0@ and @1@, indicating the
diff --git a/src/Vulkan/Extensions/VK_EXT_memory_priority.hs-boot b/src/Vulkan/Extensions/VK_EXT_memory_priority.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_memory_priority.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_memory_priority.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_memory_priority:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_memory_priority] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_memory_priority extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_metal_surface.hs b/src/Vulkan/Extensions/VK_EXT_metal_surface.hs
--- a/src/Vulkan/Extensions/VK_EXT_metal_surface.hs
+++ b/src/Vulkan/Extensions/VK_EXT_metal_surface.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Dzmitry Malyshau
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_metal_surface:%20&body=@kvark%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_metal_surface] @kvark%0A<<Here describe the issue or question you have about the VK_EXT_metal_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -202,6 +202,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_metal_surface VK_EXT_metal_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance', 'MetalSurfaceCreateInfoEXT',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -240,6 +241,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_metal_surface VK_EXT_metal_surface>,
 -- 'MetalSurfaceCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createMetalSurfaceEXT'
@@ -303,6 +305,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_metal_surface VK_EXT_metal_surface>,
 -- 'MetalSurfaceCreateInfoEXT'
 newtype MetalSurfaceCreateFlagsEXT = MetalSurfaceCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_metal_surface.hs-boot b/src/Vulkan/Extensions/VK_EXT_metal_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_metal_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_metal_surface.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Dzmitry Malyshau
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_metal_surface:%20&body=@kvark%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_metal_surface] @kvark%0A<<Here describe the issue or question you have about the VK_EXT_metal_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs
--- a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs
+++ b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Mike Blumenkrantz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_multi_draw:%20&body=@zmike%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_multi_draw] @zmike%0A<<Here describe the issue or question you have about the VK_EXT_multi_draw extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -266,6 +266,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawMultiEXT-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawMultiEXT-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawMultiEXT-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -275,7 +291,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawMultiEXT-None-02698# For each push constant that is
+-- -   #VUID-vkCmdDrawMultiEXT-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -373,28 +391,28 @@
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMultiEXT-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -777,6 +795,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_multi_draw VK_EXT_multi_draw>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'MultiDrawInfoEXT'
 cmdDrawMultiEXT :: forall io
                  . (MonadIO io)
@@ -893,6 +912,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -902,14 +937,15 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawMultiIndexedEXT-None-02698# For each push constant
---     that is statically used by the 'Vulkan.Core10.Handles.Pipeline'
---     bound to the pipeline bind point used by this command, a push
---     constant value /must/ have been set for the same pipeline bind
---     point, with a 'Vulkan.Core10.Handles.PipelineLayout' that is
---     compatible for push constants, with the
---     'Vulkan.Core10.Handles.PipelineLayout' used to create the current
---     'Vulkan.Core10.Handles.Pipeline', as described in
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
+--     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
+--     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
+--     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-02699# Descriptors in each bound
@@ -1002,28 +1038,28 @@
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -1420,6 +1456,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_multi_draw VK_EXT_multi_draw>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'MultiDrawIndexedInfoEXT'
 cmdDrawMultiIndexedEXT :: forall io
                         . (MonadIO io)
@@ -1465,6 +1502,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_multi_draw VK_EXT_multi_draw>,
 -- 'cmdDrawMultiEXT'
 data MultiDrawInfoEXT = MultiDrawInfoEXT
   { -- | @firstVertex@ is the first vertex to draw.
@@ -1521,6 +1559,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_multi_draw VK_EXT_multi_draw>,
 -- 'cmdDrawMultiIndexedEXT'
 data MultiDrawIndexedInfoEXT = MultiDrawIndexedInfoEXT
   { -- | @firstIndex@ is the first index to draw.
@@ -1595,6 +1634,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_multi_draw VK_EXT_multi_draw>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMultiDrawPropertiesEXT = PhysicalDeviceMultiDrawPropertiesEXT
   { -- | #limits-maxMultiDrawCount# @maxMultiDrawCount@ indicates the maximum
@@ -1662,6 +1702,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_multi_draw VK_EXT_multi_draw>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMultiDrawFeaturesEXT = PhysicalDeviceMultiDrawFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Mike Blumenkrantz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_multi_draw:%20&body=@zmike%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_multi_draw] @zmike%0A<<Here describe the issue or question you have about the VK_EXT_multi_draw extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_pageable_device_local_memory.hs b/src/Vulkan/Extensions/VK_EXT_pageable_device_local_memory.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_pageable_device_local_memory.hs
@@ -0,0 +1,326 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_pageable_device_local_memory - device extension
+--
+-- == VK_EXT_pageable_device_local_memory
+--
+-- [__Name String__]
+--     @VK_EXT_pageable_device_local_memory@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     413
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_EXT_memory_priority@
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pageable_device_local_memory] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_pageable_device_local_memory extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-08-24
+--
+-- [__Contributors__]
+--
+--     -   Hans-Kristian Arntzen, Valve
+--
+--     -   Axel Gneiting, id Software
+--
+--     -   Billy Khan, id Software
+--
+--     -   Daniel Koch, NVIDIA
+--
+--     -   Chris Lentini, NVIDIA
+--
+--     -   Joshua Schnarr, NVIDIA
+--
+--     -   Stu Smith, AMD
+--
+-- == Description
+--
+-- Vulkan is frequently implemented on multi-user and multi-process
+-- operating systems where the device-local memory can be shared by more
+-- than one process. On such systems the size of the device-local memory
+-- available to the application may not be the full size of the memory heap
+-- at all times. In order for these operating systems to support multiple
+-- applications the device-local memory is virtualized and paging is used
+-- to move memory between device-local and host-local memory heaps,
+-- transparent to the application.
+--
+-- The current Vulkan specification does not expose this behavior well and
+-- may cause applications to make suboptimal memory choices when allocating
+-- memory. For example, in a system with multiple applications running, the
+-- application may think that device-local memory is full and revert to
+-- making performance-sensitive allocations from host-local memory. In
+-- reality the memory heap might not have been full, it just appeared to be
+-- at the time memory consumption was queried, and a device-local
+-- allocation would have succeeded. A well designed operating system that
+-- implements pageable device-local memory will try to have all memory
+-- allocations for the foreground application paged into device-local
+-- memory, and paged out for other applications as needed when not in use.
+--
+-- When this extension is exposed by the Vulkan implementation it indicates
+-- to the application that the operating system implements pageable
+-- device-local memory and the application should adjust its memory
+-- allocation strategy accordingly. The extension also exposes a new
+-- 'setDeviceMemoryPriorityEXT' function to allow the application to
+-- dynamically adjust the priority of existing memory allocations based on
+-- its current needs. This will help the operating system page out lower
+-- priority memory allocations before higher priority allocations when
+-- needed. It will also help the operating system decide which memory
+-- allocations to page back into device-local memory first.
+--
+-- To take best advantage of pageable device-local memory the application
+-- must create the Vulkan device with the
+-- 'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT'::@pageableDeviceLocalMemory@
+-- feature enabled. When enabled the Vulkan implementation will allow
+-- device-local memory allocations to be paged in and out by the operating
+-- system, and /may/ not return VK_ERROR_OUT_OF_DEVICE_MEMORY even if
+-- device-local memory appears to be full, but will instead page this, or
+-- other allocations, out to make room. The Vulkan implementation will also
+-- ensure that host-local memory allocations will never be promoted to
+-- device-local memory by the operating system, or consume device-local
+-- memory.
+--
+-- == New Commands
+--
+-- -   'setDeviceMemoryPriorityEXT'
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME'
+--
+-- -   'EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT'
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-08-24 (Piers Daniell)
+--
+--     -   Initial revision
+--
+-- = See Also
+--
+-- 'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
+-- 'setDeviceMemoryPriorityEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pageable_device_local_memory Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_pageable_device_local_memory  ( setDeviceMemoryPriorityEXT
+                                                              , PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT(..)
+                                                              , EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION
+                                                              , pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION
+                                                              , EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME
+                                                              , pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME
+                                                              ) where
+
+import Vulkan.Internal.Utils (traceAroundEvent)
+import Control.Monad (unless)
+import Control.Monad.IO.Class (liftIO)
+import Foreign.Marshal.Alloc (allocaBytes)
+import GHC.IO (throwIO)
+import GHC.Ptr (nullFunPtr)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Foreign.C.Types (CFloat(..))
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Control.Monad.IO.Class (MonadIO)
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.C.Types (CFloat)
+import Foreign.C.Types (CFloat(CFloat))
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import GHC.IO.Exception (IOErrorType(..))
+import GHC.IO.Exception (IOException(..))
+import Foreign.Ptr (FunPtr)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.NamedType ((:::))
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Handles (Device)
+import Vulkan.Core10.Handles (Device(..))
+import Vulkan.Dynamic (DeviceCmds(pVkSetDeviceMemoryPriorityEXT))
+import Vulkan.Core10.Handles (DeviceMemory)
+import Vulkan.Core10.Handles (DeviceMemory(..))
+import Vulkan.Core10.Handles (Device_T)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT))
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkSetDeviceMemoryPriorityEXT
+  :: FunPtr (Ptr Device_T -> DeviceMemory -> CFloat -> IO ()) -> Ptr Device_T -> DeviceMemory -> CFloat -> IO ()
+
+-- | vkSetDeviceMemoryPriorityEXT - Change a memory allocation priority
+--
+-- = Description
+--
+-- Memory allocations with higher priority /may/ be more likely to stay in
+-- device-local memory when the system is under memory pressure.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pageable_device_local_memory VK_EXT_pageable_device_local_memory>,
+-- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory'
+setDeviceMemoryPriorityEXT :: forall io
+                            . (MonadIO io)
+                           => -- | @device@ is the logical device that owns the memory.
+                              --
+                              -- #VUID-vkSetDeviceMemoryPriorityEXT-device-parameter# @device@ /must/ be
+                              -- a valid 'Vulkan.Core10.Handles.Device' handle
+                              Device
+                           -> -- | @memory@ is the 'Vulkan.Core10.Handles.DeviceMemory' object to which the
+                              -- new priority will be applied.
+                              --
+                              -- #VUID-vkSetDeviceMemoryPriorityEXT-memory-parameter# @memory@ /must/ be
+                              -- a valid 'Vulkan.Core10.Handles.DeviceMemory' handle
+                              --
+                              -- #VUID-vkSetDeviceMemoryPriorityEXT-memory-parent# @memory@ /must/ have
+                              -- been created, allocated, or retrieved from @device@
+                              DeviceMemory
+                           -> -- | @priority@ is a floating-point value between @0@ and @1@, indicating the
+                              -- priority of the allocation relative to other memory allocations. Larger
+                              -- values are higher priority. The granularity of the priorities is
+                              -- implementation-dependent.
+                              --
+                              -- #VUID-vkSetDeviceMemoryPriorityEXT-priority-06258# @priority@ /must/ be
+                              -- between @0@ and @1@, inclusive
+                              ("priority" ::: Float)
+                           -> io ()
+setDeviceMemoryPriorityEXT device memory priority = liftIO $ do
+  let vkSetDeviceMemoryPriorityEXTPtr = pVkSetDeviceMemoryPriorityEXT (deviceCmds (device :: Device))
+  unless (vkSetDeviceMemoryPriorityEXTPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetDeviceMemoryPriorityEXT is null" Nothing Nothing
+  let vkSetDeviceMemoryPriorityEXT' = mkVkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXTPtr
+  traceAroundEvent "vkSetDeviceMemoryPriorityEXT" (vkSetDeviceMemoryPriorityEXT' (deviceHandle (device)) (memory) (CFloat (priority)))
+  pure $ ()
+
+
+-- | VkPhysicalDevicePageableDeviceLocalMemoryFeaturesEXT - Structure
+-- describing whether the implementation supports pageable device-local
+-- memory
+--
+-- = Members
+--
+-- This structure describes the following feature:
+--
+-- = Description
+--
+-- If the 'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT' structure is
+-- included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT' /can/
+-- also be used in the @pNext@ chain of
+-- 'Vulkan.Core10.Device.DeviceCreateInfo' to selectively enable these
+-- features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pageable_device_local_memory VK_EXT_pageable_device_local_memory>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT = PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+  { -- | #features-pageableDeviceLocalMemory# @pageableDeviceLocalMemory@
+    -- indicates that the implementation supports pageable device-local memory
+    -- and /may/ transparently move device-local memory allocations to
+    -- host-local memory to better share device-local memory with other
+    -- applications.
+    pageableDeviceLocalMemory :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)
+#endif
+deriving instance Show PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+
+instance ToCStruct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (pageableDeviceLocalMemory))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT where
+  peekCStruct p = do
+    pageableDeviceLocalMemory <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+             (bool32ToBool pageableDeviceLocalMemory)
+
+instance Storable PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT where
+  zero = PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+           zero
+
+
+type EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION"
+pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION :: forall a . Integral a => a
+pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION = 1
+
+
+type EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory"
+
+-- No documentation found for TopLevel "VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME"
+pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME = "VK_EXT_pageable_device_local_memory"
+
diff --git a/src/Vulkan/Extensions/VK_EXT_pageable_device_local_memory.hs-boot b/src/Vulkan/Extensions/VK_EXT_pageable_device_local_memory.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_pageable_device_local_memory.hs-boot
@@ -0,0 +1,150 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_pageable_device_local_memory - device extension
+--
+-- == VK_EXT_pageable_device_local_memory
+--
+-- [__Name String__]
+--     @VK_EXT_pageable_device_local_memory@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     413
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_EXT_memory_priority@
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pageable_device_local_memory] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_pageable_device_local_memory extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-08-24
+--
+-- [__Contributors__]
+--
+--     -   Hans-Kristian Arntzen, Valve
+--
+--     -   Axel Gneiting, id Software
+--
+--     -   Billy Khan, id Software
+--
+--     -   Daniel Koch, NVIDIA
+--
+--     -   Chris Lentini, NVIDIA
+--
+--     -   Joshua Schnarr, NVIDIA
+--
+--     -   Stu Smith, AMD
+--
+-- == Description
+--
+-- Vulkan is frequently implemented on multi-user and multi-process
+-- operating systems where the device-local memory can be shared by more
+-- than one process. On such systems the size of the device-local memory
+-- available to the application may not be the full size of the memory heap
+-- at all times. In order for these operating systems to support multiple
+-- applications the device-local memory is virtualized and paging is used
+-- to move memory between device-local and host-local memory heaps,
+-- transparent to the application.
+--
+-- The current Vulkan specification does not expose this behavior well and
+-- may cause applications to make suboptimal memory choices when allocating
+-- memory. For example, in a system with multiple applications running, the
+-- application may think that device-local memory is full and revert to
+-- making performance-sensitive allocations from host-local memory. In
+-- reality the memory heap might not have been full, it just appeared to be
+-- at the time memory consumption was queried, and a device-local
+-- allocation would have succeeded. A well designed operating system that
+-- implements pageable device-local memory will try to have all memory
+-- allocations for the foreground application paged into device-local
+-- memory, and paged out for other applications as needed when not in use.
+--
+-- When this extension is exposed by the Vulkan implementation it indicates
+-- to the application that the operating system implements pageable
+-- device-local memory and the application should adjust its memory
+-- allocation strategy accordingly. The extension also exposes a new
+-- 'setDeviceMemoryPriorityEXT' function to allow the application to
+-- dynamically adjust the priority of existing memory allocations based on
+-- its current needs. This will help the operating system page out lower
+-- priority memory allocations before higher priority allocations when
+-- needed. It will also help the operating system decide which memory
+-- allocations to page back into device-local memory first.
+--
+-- To take best advantage of pageable device-local memory the application
+-- must create the Vulkan device with the
+-- 'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT'::@pageableDeviceLocalMemory@
+-- feature enabled. When enabled the Vulkan implementation will allow
+-- device-local memory allocations to be paged in and out by the operating
+-- system, and /may/ not return VK_ERROR_OUT_OF_DEVICE_MEMORY even if
+-- device-local memory appears to be full, but will instead page this, or
+-- other allocations, out to make room. The Vulkan implementation will also
+-- ensure that host-local memory allocations will never be promoted to
+-- device-local memory by the operating system, or consume device-local
+-- memory.
+--
+-- == New Commands
+--
+-- -   'setDeviceMemoryPriorityEXT'
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME'
+--
+-- -   'EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT'
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-08-24 (Piers Daniell)
+--
+--     -   Initial revision
+--
+-- = See Also
+--
+-- 'PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
+-- 'setDeviceMemoryPriorityEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pageable_device_local_memory Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_pageable_device_local_memory  (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+
+instance ToCStruct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+instance Show PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+
+instance FromCStruct PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT
+
diff --git a/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs b/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs
--- a/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs
+++ b/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_pci_bus_info:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pci_bus_info] @anteru%0A<<Here describe the issue or question you have about the VK_EXT_pci_bus_info extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -143,6 +143,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pci_bus_info VK_EXT_pci_bus_info>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePCIBusInfoPropertiesEXT = PhysicalDevicePCIBusInfoPropertiesEXT
   { -- | @pciDomain@ is the PCI bus domain.
diff --git a/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs-boot b/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_pci_bus_info.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Matthaeus G. Chajdas
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_pci_bus_info:%20&body=@anteru%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pci_bus_info] @anteru%0A<<Here describe the issue or question you have about the VK_EXT_pci_bus_info extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs b/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs
--- a/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs
+++ b/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Simon Ser
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_physical_device_drm:%20&body=@emersion%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_physical_device_drm] @emersion%0A<<Here describe the issue or question you have about the VK_EXT_physical_device_drm extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -150,6 +150,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_physical_device_drm VK_EXT_physical_device_drm>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDrmPropertiesEXT = PhysicalDeviceDrmPropertiesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs-boot b/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_physical_device_drm.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Simon Ser
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_physical_device_drm:%20&body=@emersion%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_physical_device_drm] @emersion%0A<<Here describe the issue or question you have about the VK_EXT_physical_device_drm extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs
--- a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs
+++ b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Gregory Grebe
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_pipeline_creation_cache_control:%20&body=@grgrebe_amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pipeline_creation_cache_control] @grgrebe_amd%0A<<Here describe the issue or question you have about the VK_EXT_pipeline_creation_cache_control extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -145,6 +145,10 @@
 --
 --     -   'PhysicalDevicePipelineCreationCacheControlFeaturesEXT'
 --
+-- == New Enums
+--
+-- -   'Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits'
+--
 -- == New Enum Constants
 --
 -- -   'EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME'
@@ -191,7 +195,8 @@
 --
 -- = See Also
 --
--- 'PhysicalDevicePipelineCreationCacheControlFeaturesEXT'
+-- 'PhysicalDevicePipelineCreationCacheControlFeaturesEXT',
+-- 'Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits'
 --
 -- = Document Notes
 --
@@ -260,6 +265,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pipeline_creation_cache_control VK_EXT_pipeline_creation_cache_control>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePipelineCreationCacheControlFeaturesEXT = PhysicalDevicePipelineCreationCacheControlFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs-boot b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_cache_control.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Gregory Grebe
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_pipeline_creation_cache_control:%20&body=@grgrebe_amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pipeline_creation_cache_control] @grgrebe_amd%0A<<Here describe the issue or question you have about the VK_EXT_pipeline_creation_cache_control extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -145,6 +145,10 @@
 --
 --     -   'PhysicalDevicePipelineCreationCacheControlFeaturesEXT'
 --
+-- == New Enums
+--
+-- -   'Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits'
+--
 -- == New Enum Constants
 --
 -- -   'EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME'
@@ -191,7 +195,8 @@
 --
 -- = See Also
 --
--- 'PhysicalDevicePipelineCreationCacheControlFeaturesEXT'
+-- 'PhysicalDevicePipelineCreationCacheControlFeaturesEXT',
+-- 'Vulkan.Core10.Enums.PipelineCacheCreateFlagBits.PipelineCacheCreateFlagBits'
 --
 -- = Document Notes
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs
--- a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs
+++ b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jean-Francois Roy
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_pipeline_creation_feedback:%20&body=@jfroy%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pipeline_creation_feedback] @jfroy%0A<<Here describe the issue or question you have about the VK_EXT_pipeline_creation_feedback extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -172,6 +172,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pipeline_creation_feedback VK_EXT_pipeline_creation_feedback>,
 -- 'PipelineCreationFeedbackCreateInfoEXT',
 -- 'PipelineCreationFeedbackFlagBitsEXT',
 -- 'PipelineCreationFeedbackFlagsEXT'
@@ -298,6 +299,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pipeline_creation_feedback VK_EXT_pipeline_creation_feedback>,
 -- 'Vulkan.Core10.Pipeline.ComputePipelineCreateInfo',
 -- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',
 -- 'PipelineCreationFeedbackEXT',
@@ -369,6 +371,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_pipeline_creation_feedback VK_EXT_pipeline_creation_feedback>,
 -- 'PipelineCreationFeedbackCreateInfoEXT', 'PipelineCreationFeedbackEXT',
 -- 'PipelineCreationFeedbackFlagsEXT'
 newtype PipelineCreationFeedbackFlagBitsEXT = PipelineCreationFeedbackFlagBitsEXT Flags
diff --git a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs-boot b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_pipeline_creation_feedback.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jean-Francois Roy
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_pipeline_creation_feedback:%20&body=@jfroy%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_pipeline_creation_feedback] @jfroy%0A<<Here describe the issue or question you have about the VK_EXT_pipeline_creation_feedback extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_post_depth_coverage.hs b/src/Vulkan/Extensions/VK_EXT_post_depth_coverage.hs
--- a/src/Vulkan/Extensions/VK_EXT_post_depth_coverage.hs
+++ b/src/Vulkan/Extensions/VK_EXT_post_depth_coverage.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_post_depth_coverage:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_post_depth_coverage] @dgkoch%0A<<Here describe the issue or question you have about the VK_EXT_post_depth_coverage extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_primitive_topology_list_restart.hs b/src/Vulkan/Extensions/VK_EXT_primitive_topology_list_restart.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_primitive_topology_list_restart.hs
@@ -0,0 +1,224 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_primitive_topology_list_restart - device extension
+--
+-- == VK_EXT_primitive_topology_list_restart
+--
+-- [__Name String__]
+--     @VK_EXT_primitive_topology_list_restart@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     357
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+-- [__Special Use__]
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse OpenGL \/ ES support>
+--
+-- [__Contact__]
+--
+--     -   Shahbaz Youssefi
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_primitive_topology_list_restart] @syoussefi%0A<<Here describe the issue or question you have about the VK_EXT_primitive_topology_list_restart extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-01-11
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Courtney Goeltzenleuchter, Google
+--
+--     -   Shahbaz Youssefi, Google
+--
+-- == Description
+--
+-- This extension allows list primitives to use the primitive restart index
+-- value. This provides a more efficient implementation when layering
+-- OpenGL functionality on Vulkan by avoiding emulation which incurs data
+-- copies.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME'
+--
+-- -   'EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT'
+--
+-- == Version History
+--
+-- -   Revision 0, 2020-09-14 (Courtney Goeltzenleuchter)
+--
+--     -   Internal revisions
+--
+-- -   Revision 1, 2021-01-11 (Shahbaz Youssefi)
+--
+--     -   Add the @primitiveTopologyPatchListRestart@ feature
+--
+--     -   Internal revisions
+--
+-- = See Also
+--
+-- 'PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_primitive_topology_list_restart Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_primitive_topology_list_restart  ( PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT(..)
+                                                                 , EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION
+                                                                 , pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION
+                                                                 , EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME
+                                                                 , pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME
+                                                                 ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT))
+-- | VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT - Structure
+-- describing whether list type primitives can support primitive restart
+--
+-- = Members
+--
+-- The members of the
+-- 'PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT' structure
+-- describe the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT' structure
+-- is included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT' /can/
+-- also be used in the @pNext@ chain of
+-- 'Vulkan.Core10.Device.DeviceCreateInfo' to selectively enable these
+-- features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_primitive_topology_list_restart VK_EXT_primitive_topology_list_restart>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT = PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+  { -- | #features-primitiveTopologyListRestart# @primitiveTopologyListRestart@
+    -- indicates that list type primitives,
+    -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_POINT_LIST',
+    -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_LINE_LIST',
+    -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_LIST',
+    -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY'
+    -- and
+    -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY',
+    -- /can/ use the primitive restart index value in index buffers.
+    primitiveTopologyListRestart :: Bool
+  , -- | #features-primitiveTopologyPatchListRestart#
+    -- @primitiveTopologyPatchListRestart@ indicates that the
+    -- 'Vulkan.Core10.Enums.PrimitiveTopology.PRIMITIVE_TOPOLOGY_PATCH_LIST'
+    -- topology /can/ use the primitive restart index value in index buffers.
+    primitiveTopologyPatchListRestart :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT)
+#endif
+deriving instance Show PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+
+instance ToCStruct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (primitiveTopologyListRestart))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (primitiveTopologyPatchListRestart))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT where
+  peekCStruct p = do
+    primitiveTopologyListRestart <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    primitiveTopologyPatchListRestart <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    pure $ PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+             (bool32ToBool primitiveTopologyListRestart) (bool32ToBool primitiveTopologyPatchListRestart)
+
+instance Storable PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT where
+  zero = PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+           zero
+           zero
+
+
+type EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION"
+pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION :: forall a . Integral a => a
+pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION = 1
+
+
+type EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart"
+
+-- No documentation found for TopLevel "VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME"
+pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME = "VK_EXT_primitive_topology_list_restart"
+
diff --git a/src/Vulkan/Extensions/VK_EXT_primitive_topology_list_restart.hs-boot b/src/Vulkan/Extensions/VK_EXT_primitive_topology_list_restart.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_primitive_topology_list_restart.hs-boot
@@ -0,0 +1,107 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_primitive_topology_list_restart - device extension
+--
+-- == VK_EXT_primitive_topology_list_restart
+--
+-- [__Name String__]
+--     @VK_EXT_primitive_topology_list_restart@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     357
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+-- [__Special Use__]
+--
+--     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse OpenGL \/ ES support>
+--
+-- [__Contact__]
+--
+--     -   Shahbaz Youssefi
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_primitive_topology_list_restart] @syoussefi%0A<<Here describe the issue or question you have about the VK_EXT_primitive_topology_list_restart extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-01-11
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Courtney Goeltzenleuchter, Google
+--
+--     -   Shahbaz Youssefi, Google
+--
+-- == Description
+--
+-- This extension allows list primitives to use the primitive restart index
+-- value. This provides a more efficient implementation when layering
+-- OpenGL functionality on Vulkan by avoiding emulation which incurs data
+-- copies.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME'
+--
+-- -   'EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT'
+--
+-- == Version History
+--
+-- -   Revision 0, 2020-09-14 (Courtney Goeltzenleuchter)
+--
+--     -   Internal revisions
+--
+-- -   Revision 1, 2021-01-11 (Shahbaz Youssefi)
+--
+--     -   Add the @primitiveTopologyPatchListRestart@ feature
+--
+--     -   Internal revisions
+--
+-- = See Also
+--
+-- 'PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_primitive_topology_list_restart Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_primitive_topology_list_restart  (PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+
+instance ToCStruct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+instance Show PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+
+instance FromCStruct PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT
+
diff --git a/src/Vulkan/Extensions/VK_EXT_private_data.hs b/src/Vulkan/Extensions/VK_EXT_private_data.hs
--- a/src/Vulkan/Extensions/VK_EXT_private_data.hs
+++ b/src/Vulkan/Extensions/VK_EXT_private_data.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Matthew Rusch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_private_data:%20&body=@mattruschnv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_private_data] @mattruschnv%0A<<Here describe the issue or question you have about the VK_EXT_private_data extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -268,6 +268,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'PrivateDataSlotCreateInfoEXT',
 -- 'Vulkan.Extensions.Handles.PrivateDataSlotEXT'
@@ -358,6 +359,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.Handles.PrivateDataSlotEXT'
@@ -406,6 +408,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.Enums.ObjectType.ObjectType',
 -- 'Vulkan.Extensions.Handles.PrivateDataSlotEXT'
@@ -477,6 +480,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.Enums.ObjectType.ObjectType',
 -- 'Vulkan.Extensions.Handles.PrivateDataSlotEXT'
@@ -527,6 +531,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DevicePrivateDataCreateInfoEXT = DevicePrivateDataCreateInfoEXT
   { -- | @privateDataSlotRequestCount@ is the amount of slots to reserve.
@@ -576,6 +581,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'PrivateDataSlotCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createPrivateDataSlotEXT'
@@ -647,6 +653,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePrivateDataFeaturesEXT = PhysicalDevicePrivateDataFeaturesEXT
@@ -699,6 +706,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_private_data VK_EXT_private_data>,
 -- 'PrivateDataSlotCreateFlagsEXT'
 newtype PrivateDataSlotCreateFlagBitsEXT = PrivateDataSlotCreateFlagBitsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_private_data.hs-boot b/src/Vulkan/Extensions/VK_EXT_private_data.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_private_data.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_private_data.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Matthew Rusch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_private_data:%20&body=@mattruschnv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_private_data] @mattruschnv%0A<<Here describe the issue or question you have about the VK_EXT_private_data extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs
--- a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs
+++ b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_provoking_vertex:%20&body=@jessehall%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_provoking_vertex] @jessehall%0A<<Here describe the issue or question you have about the VK_EXT_provoking_vertex extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -253,6 +253,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceProvokingVertexFeaturesEXT = PhysicalDeviceProvokingVertexFeaturesEXT
@@ -331,6 +332,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceProvokingVertexPropertiesEXT = PhysicalDeviceProvokingVertexPropertiesEXT
@@ -420,6 +422,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>,
 -- 'ProvokingVertexModeEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineRasterizationProvokingVertexStateCreateInfoEXT = PipelineRasterizationProvokingVertexStateCreateInfoEXT
@@ -474,6 +477,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>,
 -- 'PipelineRasterizationProvokingVertexStateCreateInfoEXT'
 newtype ProvokingVertexModeEXT = ProvokingVertexModeEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_provoking_vertex:%20&body=@jessehall%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_provoking_vertex] @jessehall%0A<<Here describe the issue or question you have about the VK_EXT_provoking_vertex extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_queue_family_foreign.hs b/src/Vulkan/Extensions/VK_EXT_queue_family_foreign.hs
--- a/src/Vulkan/Extensions/VK_EXT_queue_family_foreign.hs
+++ b/src/Vulkan/Extensions/VK_EXT_queue_family_foreign.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Chad Versace
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_queue_family_foreign:%20&body=@chadversary%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_queue_family_foreign] @chadversary%0A<<Here describe the issue or question you have about the VK_EXT_queue_family_foreign extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_rgba10x6_formats.hs b/src/Vulkan/Extensions/VK_EXT_rgba10x6_formats.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_rgba10x6_formats.hs
@@ -0,0 +1,228 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_rgba10x6_formats - device extension
+--
+-- == VK_EXT_rgba10x6_formats
+--
+-- [__Name String__]
+--     @VK_EXT_rgba10x6_formats@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     345
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_sampler_ycbcr_conversion@
+--
+-- [__Contact__]
+--
+--     -   Jan-Harald Fredriksen
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_rgba10x6_formats] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_EXT_rgba10x6_formats extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-09-29
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Spencer Fricke, Samsung
+--
+-- == Description
+--
+-- This extension enables the
+-- 'Vulkan.Core10.Enums.Format.FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16'
+-- format to be used without a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+-- enabled.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceRGBA10X6FormatsFeaturesEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_RGBA10X6_FORMATS_EXTENSION_NAME'
+--
+-- -   'EXT_RGBA10X6_FORMATS_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT'
+--
+-- == Issues
+--
+-- 1) Should we reuse the existing format enumeration or introduce a new
+-- one?
+--
+-- __RESOLVED__: We reuse an existing format enumeration,
+-- 'Vulkan.Core10.Enums.Format.FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16',
+-- that was previously exclusively used for YCbCr and therefore had a set
+-- of limitations related to that usage. The alternative was to introduce a
+-- new format token with exactly the same bit representation as the
+-- existing token, but without the limitations.
+--
+-- 2) Should we only introduce
+-- 'Vulkan.Core10.Enums.Format.FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16'
+-- or also 1-3 component variations?
+--
+-- __RESOLVED__: Only the 4-component format is introduced because the 1-
+-- and 2- component variations are already not exclusive to YCbCr, and the
+-- 3-component variation is not a good match for hardware capabilities.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-09-29 (Jan-Harald Fredriksen)
+--
+--     -   Initial EXT version
+--
+-- = See Also
+--
+-- 'PhysicalDeviceRGBA10X6FormatsFeaturesEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_rgba10x6_formats Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_rgba10x6_formats  ( PhysicalDeviceRGBA10X6FormatsFeaturesEXT(..)
+                                                  , EXT_RGBA10X6_FORMATS_SPEC_VERSION
+                                                  , pattern EXT_RGBA10X6_FORMATS_SPEC_VERSION
+                                                  , EXT_RGBA10X6_FORMATS_EXTENSION_NAME
+                                                  , pattern EXT_RGBA10X6_FORMATS_EXTENSION_NAME
+                                                  ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT))
+-- | VkPhysicalDeviceRGBA10X6FormatsFeaturesEXT - Structure describing
+-- whether rendering to VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16
+-- formats can be supported by an implementation
+--
+-- = Members
+--
+-- The members of the 'PhysicalDeviceRGBA10X6FormatsFeaturesEXT' structure
+-- describe the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceRGBA10X6FormatsFeaturesEXT' structure is included
+-- in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDeviceRGBA10X6FormatsFeaturesEXT' /can/ also be used
+-- in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to
+-- selectively enable these features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_rgba10x6_formats VK_EXT_rgba10x6_formats>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceRGBA10X6FormatsFeaturesEXT = PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+  { -- | #features-formatRgba10x6WithoutYCbCrSampler#
+    -- @formatRgba10x6WithoutYCbCrSampler@ indicates that
+    -- 'Vulkan.Core10.Enums.Format.FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16'
+    -- /can/ be used with a 'Vulkan.Core10.Handles.ImageView' with
+    -- @subresourceRange.aspectMask@ equal to
+    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT' without
+    -- a
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+    -- enabled.
+    formatRgba10x6WithoutYCbCrSampler :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceRGBA10X6FormatsFeaturesEXT)
+#endif
+deriving instance Show PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+
+instance ToCStruct PhysicalDeviceRGBA10X6FormatsFeaturesEXT where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceRGBA10X6FormatsFeaturesEXT{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (formatRgba10x6WithoutYCbCrSampler))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceRGBA10X6FormatsFeaturesEXT where
+  peekCStruct p = do
+    formatRgba10x6WithoutYCbCrSampler <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+             (bool32ToBool formatRgba10x6WithoutYCbCrSampler)
+
+instance Storable PhysicalDeviceRGBA10X6FormatsFeaturesEXT where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceRGBA10X6FormatsFeaturesEXT where
+  zero = PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+           zero
+
+
+type EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION"
+pattern EXT_RGBA10X6_FORMATS_SPEC_VERSION :: forall a . Integral a => a
+pattern EXT_RGBA10X6_FORMATS_SPEC_VERSION = 1
+
+
+type EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats"
+
+-- No documentation found for TopLevel "VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME"
+pattern EXT_RGBA10X6_FORMATS_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern EXT_RGBA10X6_FORMATS_EXTENSION_NAME = "VK_EXT_rgba10x6_formats"
+
diff --git a/src/Vulkan/Extensions/VK_EXT_rgba10x6_formats.hs-boot b/src/Vulkan/Extensions/VK_EXT_rgba10x6_formats.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_EXT_rgba10x6_formats.hs-boot
@@ -0,0 +1,122 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_EXT_rgba10x6_formats - device extension
+--
+-- == VK_EXT_rgba10x6_formats
+--
+-- [__Name String__]
+--     @VK_EXT_rgba10x6_formats@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     345
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_sampler_ycbcr_conversion@
+--
+-- [__Contact__]
+--
+--     -   Jan-Harald Fredriksen
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_rgba10x6_formats] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_EXT_rgba10x6_formats extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-09-29
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Spencer Fricke, Samsung
+--
+-- == Description
+--
+-- This extension enables the
+-- 'Vulkan.Core10.Enums.Format.FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16'
+-- format to be used without a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+-- enabled.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceRGBA10X6FormatsFeaturesEXT'
+--
+-- == New Enum Constants
+--
+-- -   'EXT_RGBA10X6_FORMATS_EXTENSION_NAME'
+--
+-- -   'EXT_RGBA10X6_FORMATS_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_RGBA10X6_FORMATS_FEATURES_EXT'
+--
+-- == Issues
+--
+-- 1) Should we reuse the existing format enumeration or introduce a new
+-- one?
+--
+-- __RESOLVED__: We reuse an existing format enumeration,
+-- 'Vulkan.Core10.Enums.Format.FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16',
+-- that was previously exclusively used for YCbCr and therefore had a set
+-- of limitations related to that usage. The alternative was to introduce a
+-- new format token with exactly the same bit representation as the
+-- existing token, but without the limitations.
+--
+-- 2) Should we only introduce
+-- 'Vulkan.Core10.Enums.Format.FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16'
+-- or also 1-3 component variations?
+--
+-- __RESOLVED__: Only the 4-component format is introduced because the 1-
+-- and 2- component variations are already not exclusive to YCbCr, and the
+-- 3-component variation is not a good match for hardware capabilities.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-09-29 (Jan-Harald Fredriksen)
+--
+--     -   Initial EXT version
+--
+-- = See Also
+--
+-- 'PhysicalDeviceRGBA10X6FormatsFeaturesEXT'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_rgba10x6_formats Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_EXT_rgba10x6_formats  (PhysicalDeviceRGBA10X6FormatsFeaturesEXT) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+
+instance ToCStruct PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+instance Show PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+
+instance FromCStruct PhysicalDeviceRGBA10X6FormatsFeaturesEXT
+
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Liam Middlebrook
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_robustness2:%20&body=@liam-middlebrook%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_robustness2] @liam-middlebrook%0A<<Here describe the issue or question you have about the VK_EXT_robustness2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -221,6 +221,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_robustness2 VK_EXT_robustness2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRobustness2FeaturesEXT = PhysicalDeviceRobustness2FeaturesEXT
@@ -294,6 +295,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_robustness2 VK_EXT_robustness2>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRobustness2PropertiesEXT = PhysicalDeviceRobustness2PropertiesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_robustness2.hs-boot b/src/Vulkan/Extensions/VK_EXT_robustness2.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_robustness2.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_robustness2.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Liam Middlebrook
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_robustness2:%20&body=@liam-middlebrook%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_robustness2] @liam-middlebrook%0A<<Here describe the issue or question you have about the VK_EXT_robustness2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs
--- a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs
+++ b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_sample_locations:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_sample_locations] @drakos-amd%0A<<Here describe the issue or question you have about the VK_EXT_sample_locations extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -253,8 +253,24 @@
   "dynamic" mkVkCmdSetSampleLocationsEXT
   :: FunPtr (Ptr CommandBuffer_T -> Ptr SampleLocationsInfoEXT -> IO ()) -> Ptr CommandBuffer_T -> Ptr SampleLocationsInfoEXT -> IO ()
 
--- | vkCmdSetSampleLocationsEXT - Set the dynamic sample locations state
+-- | vkCmdSetSampleLocationsEXT - Set sample locations dynamically for a
+-- command buffer
 --
+-- = Description
+--
+-- This command sets the custom sample locations for subsequent drawing
+-- commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@,
+-- and when the
+-- 'PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsEnable@
+-- property of the bound graphics pipeline is
+-- 'Vulkan.Core10.FundamentalTypes.TRUE'. Otherwise, this state is
+-- specified by the
+-- 'PipelineSampleLocationsStateCreateInfoEXT'::@sampleLocationsInfo@
+-- values used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetSampleLocationsEXT-sampleLocationsPerPixel-01529# The
@@ -311,6 +327,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'SampleLocationsInfoEXT'
 cmdSetSampleLocationsEXT :: forall io
                           . (MonadIO io)
@@ -344,6 +361,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'MultisamplePropertiesEXT', 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits'
 getPhysicalDeviceMultisamplePropertiesEXT :: forall io
@@ -391,6 +409,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'SampleLocationsInfoEXT'
 data SampleLocationEXT = SampleLocationEXT
   { -- | @x@ is the horizontal coordinate of the sample’s location.
@@ -480,6 +499,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'AttachmentSampleLocationsEXT',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'PipelineSampleLocationsStateCreateInfoEXT',
@@ -556,6 +576,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'RenderPassSampleLocationsBeginInfoEXT', 'SampleLocationsInfoEXT'
 data AttachmentSampleLocationsEXT = AttachmentSampleLocationsEXT
   { -- | @attachmentIndex@ is the index of the attachment for which the sample
@@ -627,6 +648,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'RenderPassSampleLocationsBeginInfoEXT', 'SampleLocationsInfoEXT'
 data SubpassSampleLocationsEXT = SubpassSampleLocationsEXT
   { -- | @subpassIndex@ is the index of the subpass for which the sample
@@ -704,6 +726,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'AttachmentSampleLocationsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'SubpassSampleLocationsEXT'
@@ -788,6 +811,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'SampleLocationsInfoEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineSampleLocationsStateCreateInfoEXT = PipelineSampleLocationsStateCreateInfoEXT
@@ -860,6 +884,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlags',
@@ -960,6 +985,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceMultisamplePropertiesEXT'
diff --git a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_sample_locations.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_sample_locations:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_sample_locations] @drakos-amd%0A<<Here describe the issue or question you have about the VK_EXT_sample_locations extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs b/src/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs
--- a/src/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs
+++ b/src/Vulkan/Extensions/VK_EXT_sampler_filter_minmax.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_sampler_filter_minmax:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_sampler_filter_minmax] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_sampler_filter_minmax extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_scalar_block_layout.hs b/src/Vulkan/Extensions/VK_EXT_scalar_block_layout.hs
--- a/src/Vulkan/Extensions/VK_EXT_scalar_block_layout.hs
+++ b/src/Vulkan/Extensions/VK_EXT_scalar_block_layout.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_scalar_block_layout:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_scalar_block_layout] @tobski%0A<<Here describe the issue or question you have about the VK_EXT_scalar_block_layout extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_separate_stencil_usage.hs b/src/Vulkan/Extensions/VK_EXT_separate_stencil_usage.hs
--- a/src/Vulkan/Extensions/VK_EXT_separate_stencil_usage.hs
+++ b/src/Vulkan/Extensions/VK_EXT_separate_stencil_usage.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_separate_stencil_usage:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_separate_stencil_usage] @drakos-amd%0A<<Here describe the issue or question you have about the VK_EXT_separate_stencil_usage extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_atomic_float:%20&body=@vkushwaha-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_atomic_float] @vkushwaha-nv%0A<<Here describe the issue or question you have about the VK_EXT_shader_atomic_float extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -152,6 +152,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_atomic_float VK_EXT_shader_atomic_float>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderAtomicFloatFeaturesEXT = PhysicalDeviceShaderAtomicFloatFeaturesEXT
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_atomic_float:%20&body=@vkushwaha-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_atomic_float] @vkushwaha-nv%0A<<Here describe the issue or question you have about the VK_EXT_shader_atomic_float extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_atomic_float2:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_atomic_float2] @jekstrand%0A<<Here describe the issue or question you have about the VK_EXT_shader_atomic_float2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -174,6 +174,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_atomic_float2 VK_EXT_shader_atomic_float2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderAtomicFloat2FeaturesEXT = PhysicalDeviceShaderAtomicFloat2FeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs-boot b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_shader_atomic_float2.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_atomic_float2:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_atomic_float2] @jekstrand%0A<<Here describe the issue or question you have about the VK_EXT_shader_atomic_float2 extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_demote_to_helper_invocation:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_demote_to_helper_invocation] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_shader_demote_to_helper_invocation extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -151,6 +151,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_demote_to_helper_invocation VK_EXT_shader_demote_to_helper_invocation>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT = PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_demote_to_helper_invocation:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_demote_to_helper_invocation] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_shader_demote_to_helper_invocation extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_image_atomic_int64:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_image_atomic_int64] @tobski%0A<<Here describe the issue or question you have about the VK_EXT_shader_image_atomic_int64 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -160,6 +160,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_image_atomic_int64 VK_EXT_shader_image_atomic_int64>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderImageAtomicInt64FeaturesEXT = PhysicalDeviceShaderImageAtomicInt64FeaturesEXT
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_image_atomic_int64:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_image_atomic_int64] @tobski%0A<<Here describe the issue or question you have about the VK_EXT_shader_image_atomic_int64 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_stencil_export.hs b/src/Vulkan/Extensions/VK_EXT_shader_stencil_export.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_stencil_export.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_stencil_export.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Dominik Witczak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_stencil_export:%20&body=@dominikwitczakamd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_stencil_export] @dominikwitczakamd%0A<<Here describe the issue or question you have about the VK_EXT_shader_stencil_export extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs b/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_subgroup_ballot.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_subgroup_ballot:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_subgroup_ballot] @dgkoch%0A<<Here describe the issue or question you have about the VK_EXT_shader_subgroup_ballot extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_subgroup_vote.hs b/src/Vulkan/Extensions/VK_EXT_shader_subgroup_vote.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_subgroup_vote.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_subgroup_vote.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_subgroup_vote:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_subgroup_vote] @dgkoch%0A<<Here describe the issue or question you have about the VK_EXT_shader_subgroup_vote extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_viewport_index_layer.hs b/src/Vulkan/Extensions/VK_EXT_shader_viewport_index_layer.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_viewport_index_layer.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_viewport_index_layer.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_shader_viewport_index_layer:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_shader_viewport_index_layer] @dgkoch%0A<<Here describe the issue or question you have about the VK_EXT_shader_viewport_index_layer extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Neil Henning
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_subgroup_size_control:%20&body=@sheredom%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_subgroup_size_control] @sheredom%0A<<Here describe the issue or question you have about the VK_EXT_subgroup_size_control extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -237,6 +237,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_subgroup_size_control VK_EXT_subgroup_size_control>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceSubgroupSizeControlFeaturesEXT = PhysicalDeviceSubgroupSizeControlFeaturesEXT
@@ -318,6 +319,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_subgroup_size_control VK_EXT_subgroup_size_control>,
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceSubgroupSizeControlPropertiesEXT = PhysicalDeviceSubgroupSizeControlPropertiesEXT
@@ -416,6 +418,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_subgroup_size_control VK_EXT_subgroup_size_control>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT = PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT
   { -- | #VUID-VkPipelineShaderStageRequiredSubgroupSizeCreateInfoEXT-requiredSubgroupSize-02760#
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Neil Henning
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_subgroup_size_control:%20&body=@sheredom%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_subgroup_size_control] @sheredom%0A<<Here describe the issue or question you have about the VK_EXT_subgroup_size_control extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_swapchain_colorspace.hs b/src/Vulkan/Extensions/VK_EXT_swapchain_colorspace.hs
--- a/src/Vulkan/Extensions/VK_EXT_swapchain_colorspace.hs
+++ b/src/Vulkan/Extensions/VK_EXT_swapchain_colorspace.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Courtney Goeltzenleuchter
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_swapchain_colorspace:%20&body=@courtney-g%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_swapchain_colorspace] @courtney-g%0A<<Here describe the issue or question you have about the VK_EXT_swapchain_colorspace extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_texel_buffer_alignment:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_texel_buffer_alignment] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_texel_buffer_alignment extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -146,6 +146,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_texel_buffer_alignment VK_EXT_texel_buffer_alignment>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceTexelBufferAlignmentFeaturesEXT = PhysicalDeviceTexelBufferAlignmentFeaturesEXT
@@ -226,6 +227,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_texel_buffer_alignment VK_EXT_texel_buffer_alignment>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
diff --git a/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs-boot b/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_texel_buffer_alignment.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_texel_buffer_alignment:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_texel_buffer_alignment] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_EXT_texel_buffer_alignment extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs b/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs
--- a/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs
+++ b/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jan-Harald Fredriksen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_texture_compression_astc_hdr:%20&body=@janharaldfredriksen-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_texture_compression_astc_hdr] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_EXT_texture_compression_astc_hdr extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -193,6 +193,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_texture_compression_astc_hdr VK_EXT_texture_compression_astc_hdr>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT = PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs-boot b/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_texture_compression_astc_hdr.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jan-Harald Fredriksen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_texture_compression_astc_hdr:%20&body=@janharaldfredriksen-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_texture_compression_astc_hdr] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_EXT_texture_compression_astc_hdr extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_tooling_info.hs b/src/Vulkan/Extensions/VK_EXT_tooling_info.hs
--- a/src/Vulkan/Extensions/VK_EXT_tooling_info.hs
+++ b/src/Vulkan/Extensions/VK_EXT_tooling_info.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_tooling_info:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_tooling_info] @tobski%0A<<Here describe the issue or question you have about the VK_EXT_tooling_info extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -304,6 +304,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_tooling_info VK_EXT_tooling_info>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceToolPropertiesEXT'
 getPhysicalDeviceToolPropertiesEXT :: forall io
@@ -338,6 +339,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_tooling_info VK_EXT_tooling_info>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'ToolPurposeFlagsEXT', 'getPhysicalDeviceToolPropertiesEXT'
 data PhysicalDeviceToolPropertiesEXT = PhysicalDeviceToolPropertiesEXT
@@ -419,6 +421,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_tooling_info VK_EXT_tooling_info>,
 -- 'ToolPurposeFlagsEXT'
 newtype ToolPurposeFlagBitsEXT = ToolPurposeFlagBitsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_tooling_info.hs-boot b/src/Vulkan/Extensions/VK_EXT_tooling_info.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_tooling_info.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_tooling_info.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_tooling_info:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_tooling_info] @tobski%0A<<Here describe the issue or question you have about the VK_EXT_tooling_info extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -34,7 +34,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_transform_feedback:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_transform_feedback] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_transform_feedback extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -440,6 +440,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdBindTransformFeedbackBuffersEXT :: forall io
@@ -606,6 +607,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdBeginTransformFeedbackEXT :: forall io
@@ -768,6 +770,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdEndTransformFeedbackEXT :: forall io
@@ -1012,6 +1015,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.QueryControlFlagBits.QueryControlFlags',
 -- 'Vulkan.Core10.Handles.QueryPool'
@@ -1142,6 +1146,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.QueryPool'
 cmdEndQueryIndexedEXT :: forall io
                        . (MonadIO io)
@@ -1261,6 +1266,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-02697# For each set /n/
 --     that is statically used by the 'Vulkan.Core10.Handles.Pipeline'
 --     bound to the pipeline bind point used by this command, a descriptor
@@ -1270,11 +1291,12 @@
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-02698# For each push
---     constant that is statically used by the
---     'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point
---     used by this command, a push constant value /must/ have been set for
---     the same pipeline bind point, with a
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
@@ -1370,28 +1392,28 @@
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -1781,6 +1803,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDrawIndirectByteCountEXT :: forall io
@@ -1840,6 +1863,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceTransformFeedbackFeaturesEXT = PhysicalDeviceTransformFeedbackFeaturesEXT
@@ -1910,6 +1934,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -1947,8 +1972,9 @@
   , -- | #limits-transformFeedbackQueries# @transformFeedbackQueries@ is
     -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the implementation supports the
     -- 'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_TRANSFORM_FEEDBACK_STREAM_EXT'
-    -- query type. @transformFeedbackQueries@ is false if queries of this type
-    -- /cannot/ be created.
+    -- query type. @transformFeedbackQueries@ is
+    -- 'Vulkan.Core10.FundamentalTypes.FALSE' if queries of this type /cannot/
+    -- be created.
     transformFeedbackQueries :: Bool
   , -- | #limits-transformFeedbackStreamsLinesTriangles#
     -- @transformFeedbackStreamsLinesTriangles@ is
@@ -1956,9 +1982,9 @@
     -- geometry shader @OpExecutionMode@ of @OutputLineStrip@ and
     -- @OutputTriangleStrip@ in addition to @OutputPoints@ when more than one
     -- vertex stream is output. If @transformFeedbackStreamsLinesTriangles@ is
-    -- false the implementation only supports an @OpExecutionMode@ of
-    -- @OutputPoints@ when more than one vertex stream is output from the
-    -- geometry shader.
+    -- 'Vulkan.Core10.FundamentalTypes.FALSE' the implementation only supports
+    -- an @OpExecutionMode@ of @OutputPoints@ when more than one vertex stream
+    -- is output from the geometry shader.
     transformFeedbackStreamsLinesTriangles :: Bool
   , -- | #limits-transformFeedbackRasterizationStreamSelect#
     -- @transformFeedbackRasterizationStreamSelect@ is
@@ -2060,6 +2086,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'PipelineRasterizationStateStreamCreateFlagsEXT',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineRasterizationStateStreamCreateInfoEXT = PipelineRasterizationStateStreamCreateInfoEXT
@@ -2131,6 +2158,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>,
 -- 'PipelineRasterizationStateStreamCreateInfoEXT'
 newtype PipelineRasterizationStateStreamCreateFlagsEXT = PipelineRasterizationStateStreamCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs-boot b/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_transform_feedback.hs-boot
@@ -34,7 +34,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_transform_feedback:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_transform_feedback] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_transform_feedback extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_validation_cache.hs b/src/Vulkan/Extensions/VK_EXT_validation_cache.hs
--- a/src/Vulkan/Extensions/VK_EXT_validation_cache.hs
+++ b/src/Vulkan/Extensions/VK_EXT_validation_cache.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Cort Stratton
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_validation_cache:%20&body=@cdwfs%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_validation_cache] @cdwfs%0A<<Here describe the issue or question you have about the VK_EXT_validation_cache extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -287,6 +287,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'ValidationCacheCreateInfoEXT',
 -- 'Vulkan.Extensions.Handles.ValidationCacheEXT'
@@ -377,6 +378,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.Handles.ValidationCacheEXT'
@@ -514,6 +516,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.Handles.ValidationCacheEXT'
 getValidationCacheDataEXT :: forall io
@@ -605,6 +608,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.Handles.ValidationCacheEXT'
 mergeValidationCachesEXT :: forall io
@@ -660,6 +664,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'ValidationCacheCreateFlagsEXT', 'createValidationCacheEXT'
 data ValidationCacheCreateInfoEXT = ValidationCacheCreateInfoEXT
@@ -725,6 +730,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.Handles.ValidationCacheEXT'
 data ShaderModuleValidationCacheCreateInfoEXT = ShaderModuleValidationCacheCreateInfoEXT
@@ -784,6 +790,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'ValidationCacheCreateInfoEXT'
 newtype ValidationCacheCreateFlagsEXT = ValidationCacheCreateFlagsEXT Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -817,6 +824,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_cache VK_EXT_validation_cache>,
 -- 'createValidationCacheEXT', 'getValidationCacheDataEXT'
 newtype ValidationCacheHeaderVersionEXT = ValidationCacheHeaderVersionEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_validation_cache.hs-boot b/src/Vulkan/Extensions/VK_EXT_validation_cache.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_validation_cache.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_validation_cache.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Cort Stratton
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_validation_cache:%20&body=@cdwfs%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_validation_cache] @cdwfs%0A<<Here describe the issue or question you have about the VK_EXT_validation_cache extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_validation_features.hs b/src/Vulkan/Extensions/VK_EXT_validation_features.hs
--- a/src/Vulkan/Extensions/VK_EXT_validation_features.hs
+++ b/src/Vulkan/Extensions/VK_EXT_validation_features.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Karl Schultz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_validation_features:%20&body=@karl-lunarg%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_validation_features] @karl-lunarg%0A<<Here describe the issue or question you have about the VK_EXT_validation_features extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -219,6 +219,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_features VK_EXT_validation_features>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'ValidationFeatureDisableEXT', 'ValidationFeatureEnableEXT'
 data ValidationFeaturesEXT = ValidationFeaturesEXT
@@ -279,6 +280,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_features VK_EXT_validation_features>,
 -- 'ValidationFeaturesEXT'
 newtype ValidationFeatureEnableEXT = ValidationFeatureEnableEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -353,6 +355,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_features VK_EXT_validation_features>,
 -- 'ValidationFeaturesEXT'
 newtype ValidationFeatureDisableEXT = ValidationFeatureDisableEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_validation_features.hs-boot b/src/Vulkan/Extensions/VK_EXT_validation_features.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_validation_features.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_validation_features.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Karl Schultz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_validation_features:%20&body=@karl-lunarg%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_validation_features] @karl-lunarg%0A<<Here describe the issue or question you have about the VK_EXT_validation_features extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_validation_flags.hs b/src/Vulkan/Extensions/VK_EXT_validation_flags.hs
--- a/src/Vulkan/Extensions/VK_EXT_validation_flags.hs
+++ b/src/Vulkan/Extensions/VK_EXT_validation_flags.hs
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   Tobin Ehlis
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_validation_flags:%20&body=@tobine%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_validation_flags] @tobine%0A<<Here describe the issue or question you have about the VK_EXT_validation_flags extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -156,6 +156,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_flags VK_EXT_validation_flags>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'ValidationCheckEXT'
 data ValidationFlagsEXT = ValidationFlagsEXT
   { -- | @pDisabledValidationChecks@ is a pointer to an array of
@@ -206,6 +207,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_validation_flags VK_EXT_validation_flags>,
 -- 'ValidationFlagsEXT'
 newtype ValidationCheckEXT = ValidationCheckEXT Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_EXT_validation_flags.hs-boot b/src/Vulkan/Extensions/VK_EXT_validation_flags.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_validation_flags.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_validation_flags.hs-boot
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   Tobin Ehlis
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_validation_flags:%20&body=@tobine%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_validation_flags] @tobine%0A<<Here describe the issue or question you have about the VK_EXT_validation_flags extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs b/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs
--- a/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs
+++ b/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_vertex_attribute_divisor:%20&body=@vkushwaha%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_vertex_attribute_divisor] @vkushwaha%0A<<Here describe the issue or question you have about the VK_EXT_vertex_attribute_divisor extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -242,6 +242,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_attribute_divisor VK_EXT_vertex_attribute_divisor>,
 -- 'PipelineVertexInputDivisorStateCreateInfoEXT'
 data VertexInputBindingDivisorDescriptionEXT = VertexInputBindingDivisorDescriptionEXT
   { -- | @binding@ is the binding number for which the divisor is specified.
@@ -304,6 +305,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_attribute_divisor VK_EXT_vertex_attribute_divisor>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'VertexInputBindingDivisorDescriptionEXT'
 data PipelineVertexInputDivisorStateCreateInfoEXT = PipelineVertexInputDivisorStateCreateInfoEXT
@@ -370,6 +372,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_attribute_divisor VK_EXT_vertex_attribute_divisor>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceVertexAttributeDivisorPropertiesEXT = PhysicalDeviceVertexAttributeDivisorPropertiesEXT
   { -- | #limits-maxVertexAttribDivisor# @maxVertexAttribDivisor@ is the maximum
@@ -437,6 +440,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_attribute_divisor VK_EXT_vertex_attribute_divisor>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceVertexAttributeDivisorFeaturesEXT = PhysicalDeviceVertexAttributeDivisorFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs-boot b/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_vertex_attribute_divisor.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Vikram Kushwaha
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_vertex_attribute_divisor:%20&body=@vkushwaha%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_vertex_attribute_divisor] @vkushwaha%0A<<Here describe the issue or question you have about the VK_EXT_vertex_attribute_divisor extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
--- a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
+++ b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_vertex_input_dynamic_state:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_vertex_input_dynamic_state] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_vertex_input_dynamic_state extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -180,13 +180,27 @@
   "dynamic" mkVkCmdSetVertexInputEXT
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Ptr VertexInputBindingDescription2EXT -> Word32 -> Ptr VertexInputAttributeDescription2EXT -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Ptr VertexInputBindingDescription2EXT -> Word32 -> Ptr VertexInputAttributeDescription2EXT -> IO ()
 
--- | vkCmdSetVertexInputEXT - Set the dynamic vertex input state
+-- | vkCmdSetVertexInputEXT - Set the vertex input state dynamically for a
+-- command buffer
 --
 -- = Description
 --
 -- This command sets the vertex input attribute and vertex input binding
--- descriptions state for subsequent drawing commands.
+-- descriptions state for subsequent drawing commands when the graphics
+-- pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_EXT' set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'::@pVertexInputState@
+-- values used to create the currently active pipeline.
 --
+-- If the bound pipeline state object was also created with the
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT'
+-- dynamic state enabled, then
+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT'
+-- can be used instead of 'cmdSetVertexInputEXT' to dynamically set the
+-- stride.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetVertexInputEXT-None-04790# The
@@ -260,6 +274,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_input_dynamic_state VK_EXT_vertex_input_dynamic_state>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'VertexInputAttributeDescription2EXT',
 -- 'VertexInputBindingDescription2EXT'
@@ -311,6 +326,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_input_dynamic_state VK_EXT_vertex_input_dynamic_state>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceVertexInputDynamicStateFeaturesEXT = PhysicalDeviceVertexInputDynamicStateFeaturesEXT
@@ -399,6 +415,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_input_dynamic_state VK_EXT_vertex_input_dynamic_state>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Core10.Enums.VertexInputRate.VertexInputRate',
 -- 'cmdSetVertexInputEXT'
@@ -521,6 +538,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_vertex_input_dynamic_state VK_EXT_vertex_input_dynamic_state>,
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'cmdSetVertexInputEXT'
diff --git a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs-boot b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_vertex_input_dynamic_state:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_vertex_input_dynamic_state] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_vertex_input_dynamic_state extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs b/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs
--- a/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs
+++ b/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Tony Zlatinski
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_ycbcr_2plane_444_formats:%20&body=@tzlatinski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_ycbcr_2plane_444_formats] @tzlatinski%0A<<Here describe the issue or question you have about the VK_EXT_ycbcr_2plane_444_formats extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -46,8 +46,7 @@
 --
 -- This extension adds some Y′CBCR formats that are in common use for video
 -- encode and decode, but were not part of the
--- <VK_KHR_sampler_ycbcr_conversion.html VK_KHR_sampler_ycbcr_conversion>
--- extension.
+-- @VK_KHR_sampler_ycbcr_conversion@ extension.
 --
 -- == New Structures
 --
@@ -147,6 +146,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_ycbcr_2plane_444_formats VK_EXT_ycbcr_2plane_444_formats>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT = PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs-boot b/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_ycbcr_2plane_444_formats.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Tony Zlatinski
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_ycbcr_2plane_444_formats:%20&body=@tzlatinski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_ycbcr_2plane_444_formats] @tzlatinski%0A<<Here describe the issue or question you have about the VK_EXT_ycbcr_2plane_444_formats extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -46,8 +46,7 @@
 --
 -- This extension adds some Y′CBCR formats that are in common use for video
 -- encode and decode, but were not part of the
--- <VK_KHR_sampler_ycbcr_conversion.html VK_KHR_sampler_ycbcr_conversion>
--- extension.
+-- @VK_KHR_sampler_ycbcr_conversion@ extension.
 --
 -- == New Structures
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs b/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs
--- a/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs
+++ b/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_ycbcr_image_arrays:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_ycbcr_image_arrays] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_ycbcr_image_arrays extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -131,6 +131,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_ycbcr_image_arrays VK_EXT_ycbcr_image_arrays>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceYcbcrImageArraysFeaturesEXT = PhysicalDeviceYcbcrImageArraysFeaturesEXT
diff --git a/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs-boot b/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_ycbcr_image_arrays.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_EXT_ycbcr_image_arrays:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_ycbcr_image_arrays] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_EXT_ycbcr_image_arrays extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
@@ -0,0 +1,1801 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_FUCHSIA_buffer_collection - device extension
+--
+-- == VK_FUCHSIA_buffer_collection
+--
+-- [__Name String__]
+--     @VK_FUCHSIA_buffer_collection@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     367
+--
+-- [__Revision__]
+--     2
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_FUCHSIA_external_memory@
+--
+--     -   Requires @VK_KHR_sampler_ycbcr_conversion@
+--
+-- [__Contact__]
+--
+--     -   John Rosasco
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_buffer_collection] @rosasco%0A<<Here describe the issue or question you have about the VK_FUCHSIA_buffer_collection extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-09-23
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Craig Stout, Google
+--
+--     -   John Bauman, Google
+--
+--     -   John Rosasco, Google
+--
+-- == Description
+--
+-- A buffer collection is a collection of one or more buffers which were
+-- allocated together as a group and which all have the same properties.
+-- These properties describe the buffers’ internal representation such as
+-- its dimensions and memory layout. This ensures that all of the buffers
+-- can be used interchangeably by tasks that require swapping among
+-- multiple buffers, such as double-buffered graphics rendering.
+--
+-- By sharing such a collection of buffers between components,
+-- communication about buffer lifecycle can be made much simpler and more
+-- efficient. For example, when a content producer finishes writing to a
+-- buffer, it can message the consumer of the buffer with the buffer index,
+-- rather than passing a handle to the shared memory.
+--
+-- On Fuchsia, the Sysmem service uses buffer collections as a core
+-- construct in its design. VK_FUCHSIA_buffer_collection is the Vulkan
+-- extension that allows Vulkan applications to interoperate with the
+-- Sysmem service on Fuchsia.
+--
+-- == New Object Types
+--
+-- -   'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+--
+-- == New Commands
+--
+-- -   'createBufferCollectionFUCHSIA'
+--
+-- -   'destroyBufferCollectionFUCHSIA'
+--
+-- -   'getBufferCollectionPropertiesFUCHSIA'
+--
+-- -   'setBufferCollectionBufferConstraintsFUCHSIA'
+--
+-- -   'setBufferCollectionImageConstraintsFUCHSIA'
+--
+-- == New Structures
+--
+-- -   'BufferCollectionConstraintsInfoFUCHSIA'
+--
+-- -   'BufferCollectionCreateInfoFUCHSIA'
+--
+-- -   'BufferCollectionPropertiesFUCHSIA'
+--
+-- -   'BufferConstraintsInfoFUCHSIA'
+--
+-- -   'ImageConstraintsInfoFUCHSIA'
+--
+-- -   'ImageFormatConstraintsInfoFUCHSIA'
+--
+-- -   'SysmemColorSpaceFUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Buffer.BufferCreateInfo':
+--
+--     -   'BufferCollectionBufferCreateInfoFUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Image.ImageCreateInfo':
+--
+--     -   'BufferCollectionImageCreateInfoFUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Memory.MemoryAllocateInfo':
+--
+--     -   'ImportMemoryBufferCollectionFUCHSIA'
+--
+-- == New Enums
+--
+-- -   'ImageConstraintsInfoFlagBitsFUCHSIA'
+--
+-- == New Bitmasks
+--
+-- -   'ImageConstraintsInfoFlagsFUCHSIA'
+--
+-- -   'ImageFormatConstraintsFlagsFUCHSIA'
+--
+-- == New Enum Constants
+--
+-- -   'FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME'
+--
+-- -   'FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION'
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT':
+--
+--     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT'
+--
+-- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':
+--
+--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA'
+--
+-- == Issues
+--
+-- 1) When configuring a 'ImageConstraintsInfoFUCHSIA' structure for
+-- constraint setting, should a NULL @pFormatConstraints@ parameter be
+-- allowed ?
+--
+-- __RESOLVED__: No. Specifying a NULL @pFormatConstraints@ results in
+-- logical complexity of interpreting the relationship between the
+-- 'Vulkan.Core10.Image.ImageCreateInfo'::@usage@ settings of the elements
+-- of the @pImageCreateInfos@ array and the implied or desired
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlags'.
+--
+-- The explicit requirement for @pFormatConstraints@ to be non-NULL
+-- simplifies the implied logic of the implementation and expectations for
+-- the Vulkan application.
+--
+-- == Version History
+--
+-- -   Revision 2, 2021-09-23 (John Rosasco)
+--
+--     -   Review passes
+--
+-- -   Revision 1, 2021-03-09 (John Rosasco)
+--
+--     -   Initial revision
+--
+-- = See Also
+--
+-- 'BufferCollectionBufferCreateInfoFUCHSIA',
+-- 'BufferCollectionConstraintsInfoFUCHSIA',
+-- 'BufferCollectionCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'BufferCollectionImageCreateInfoFUCHSIA',
+-- 'BufferCollectionPropertiesFUCHSIA', 'BufferConstraintsInfoFUCHSIA',
+-- 'ImageConstraintsInfoFUCHSIA', 'ImageConstraintsInfoFlagBitsFUCHSIA',
+-- 'ImageConstraintsInfoFlagsFUCHSIA',
+-- 'ImageFormatConstraintsFlagsFUCHSIA',
+-- 'ImageFormatConstraintsInfoFUCHSIA',
+-- 'ImportMemoryBufferCollectionFUCHSIA', 'SysmemColorSpaceFUCHSIA',
+-- 'createBufferCollectionFUCHSIA', 'destroyBufferCollectionFUCHSIA',
+-- 'getBufferCollectionPropertiesFUCHSIA',
+-- 'setBufferCollectionBufferConstraintsFUCHSIA',
+-- 'setBufferCollectionImageConstraintsFUCHSIA'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_FUCHSIA_buffer_collection  ( createBufferCollectionFUCHSIA
+                                                       , withBufferCollectionFUCHSIA
+                                                       , setBufferCollectionBufferConstraintsFUCHSIA
+                                                       , setBufferCollectionImageConstraintsFUCHSIA
+                                                       , destroyBufferCollectionFUCHSIA
+                                                       , getBufferCollectionPropertiesFUCHSIA
+                                                       , ImportMemoryBufferCollectionFUCHSIA(..)
+                                                       , BufferCollectionImageCreateInfoFUCHSIA(..)
+                                                       , BufferCollectionBufferCreateInfoFUCHSIA(..)
+                                                       , BufferCollectionCreateInfoFUCHSIA(..)
+                                                       , BufferCollectionPropertiesFUCHSIA(..)
+                                                       , BufferConstraintsInfoFUCHSIA(..)
+                                                       , SysmemColorSpaceFUCHSIA(..)
+                                                       , ImageFormatConstraintsInfoFUCHSIA(..)
+                                                       , ImageConstraintsInfoFUCHSIA(..)
+                                                       , BufferCollectionConstraintsInfoFUCHSIA(..)
+                                                       , ImageFormatConstraintsFlagsFUCHSIA(..)
+                                                       , ImageConstraintsInfoFlagsFUCHSIA
+                                                       , ImageConstraintsInfoFlagBitsFUCHSIA( IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA
+                                                                                            , IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA
+                                                                                            , IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA
+                                                                                            , IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA
+                                                                                            , IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA
+                                                                                            , ..
+                                                                                            )
+                                                       , FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION
+                                                       , pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION
+                                                       , FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME
+                                                       , pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME
+                                                       , BufferCollectionFUCHSIA(..)
+                                                       , DebugReportObjectTypeEXT(..)
+                                                       , Zx_handle_t
+                                                       ) where
+
+import Vulkan.Internal.Utils (enumReadPrec)
+import Vulkan.Internal.Utils (enumShowsPrec)
+import Vulkan.Internal.Utils (traceAroundEvent)
+import Control.Exception.Base (bracket)
+import Control.Monad (unless)
+import Control.Monad.IO.Class (liftIO)
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Marshal.Alloc (callocBytes)
+import Foreign.Marshal.Alloc (free)
+import GHC.Base (when)
+import GHC.IO (throwIO)
+import GHC.Ptr (nullFunPtr)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import GHC.Show (showString)
+import Numeric (showHex)
+import Control.Monad.Trans.Class (lift)
+import Control.Monad.Trans.Cont (evalContT)
+import Data.Vector (generateM)
+import qualified Data.Vector (imapM_)
+import qualified Data.Vector (length)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero)
+import Vulkan.Zero (Zero(..))
+import Control.Monad.IO.Class (MonadIO)
+import Data.Bits (Bits)
+import Data.Bits (FiniteBits)
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import GHC.IO.Exception (IOErrorType(..))
+import GHC.IO.Exception (IOException(..))
+import Foreign.Ptr (FunPtr)
+import Foreign.Ptr (Ptr)
+import GHC.Read (Read(readPrec))
+import GHC.Show (Show(showsPrec))
+import Data.Word (Word32)
+import Data.Word (Word64)
+import Data.Kind (Type)
+import Control.Monad.Trans.Cont (ContT(..))
+import Data.Vector (Vector)
+import Vulkan.CStruct.Utils (advancePtrBytes)
+import Vulkan.CStruct.Extends (forgetExtensions)
+import Vulkan.CStruct.Extends (peekSomeCStruct)
+import Vulkan.CStruct.Extends (pokeSomeCStruct)
+import Vulkan.NamedType ((:::))
+import Vulkan.Core10.AllocationCallbacks (AllocationCallbacks)
+import Vulkan.Extensions.Handles (BufferCollectionFUCHSIA)
+import Vulkan.Extensions.Handles (BufferCollectionFUCHSIA(..))
+import Vulkan.Core10.Buffer (BufferCreateInfo)
+import Vulkan.Core11.Enums.ChromaLocation (ChromaLocation)
+import Vulkan.Core10.ImageView (ComponentMapping)
+import Vulkan.Core10.Handles (Device)
+import Vulkan.Core10.Handles (Device(..))
+import Vulkan.Dynamic (DeviceCmds(pVkCreateBufferCollectionFUCHSIA))
+import Vulkan.Dynamic (DeviceCmds(pVkDestroyBufferCollectionFUCHSIA))
+import Vulkan.Dynamic (DeviceCmds(pVkGetBufferCollectionPropertiesFUCHSIA))
+import Vulkan.Dynamic (DeviceCmds(pVkSetBufferCollectionBufferConstraintsFUCHSIA))
+import Vulkan.Dynamic (DeviceCmds(pVkSetBufferCollectionImageConstraintsFUCHSIA))
+import Vulkan.Core10.Handles (Device_T)
+import Vulkan.Core10.FundamentalTypes (Flags)
+import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlags)
+import Vulkan.Core10.Image (ImageCreateInfo)
+import Vulkan.Core10.Enums.Result (Result)
+import Vulkan.Core10.Enums.Result (Result(..))
+import Vulkan.Core11.Enums.SamplerYcbcrModelConversion (SamplerYcbcrModelConversion)
+import Vulkan.Core11.Enums.SamplerYcbcrRange (SamplerYcbcrRange)
+import Vulkan.CStruct.Extends (SomeStruct)
+import Vulkan.CStruct.Extends (SomeStruct(..))
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Exception (VulkanException(..))
+import Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface (Zx_handle_t)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA))
+import Vulkan.Core10.Enums.Result (Result(SUCCESS))
+import Vulkan.Extensions.Handles (BufferCollectionFUCHSIA(..))
+import Vulkan.Extensions.VK_EXT_debug_report (DebugReportObjectTypeEXT(..))
+import Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface (Zx_handle_t)
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCreateBufferCollectionFUCHSIA
+  :: FunPtr (Ptr Device_T -> Ptr BufferCollectionCreateInfoFUCHSIA -> Ptr AllocationCallbacks -> Ptr BufferCollectionFUCHSIA -> IO Result) -> Ptr Device_T -> Ptr BufferCollectionCreateInfoFUCHSIA -> Ptr AllocationCallbacks -> Ptr BufferCollectionFUCHSIA -> IO Result
+
+-- | vkCreateBufferCollectionFUCHSIA - Create a new buffer collection
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCreateBufferCollectionFUCHSIA-device-parameter# @device@
+--     /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+--
+-- -   #VUID-vkCreateBufferCollectionFUCHSIA-pCreateInfo-parameter#
+--     @pCreateInfo@ /must/ be a valid pointer to a valid
+--     'BufferCollectionCreateInfoFUCHSIA' structure
+--
+-- -   #VUID-vkCreateBufferCollectionFUCHSIA-pAllocator-parameter# If
+--     @pAllocator@ is not @NULL@, @pAllocator@ /must/ be a valid pointer
+--     to a valid 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
+--     structure
+--
+-- -   #VUID-vkCreateBufferCollectionFUCHSIA-pCollection-parameter#
+--     @pCollection@ /must/ be a valid pointer to a
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+--
+-- == Return Codes
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]
+--
+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_INVALID_EXTERNAL_HANDLE'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'
+--
+-- == Host Access
+--
+-- All functions referencing a
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' /must/ be externally
+-- synchronized with the exception of 'createBufferCollectionFUCHSIA'.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
+-- 'BufferCollectionCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'Vulkan.Core10.Handles.Device'
+createBufferCollectionFUCHSIA :: forall io
+                               . (MonadIO io)
+                              => -- | @device@ is the logical device that creates the
+                                 -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+                                 Device
+                              -> -- | @pCreateInfo@ is a pointer to a 'BufferCollectionCreateInfoFUCHSIA'
+                                 -- structure containing parameters affecting creation of the buffer
+                                 -- collection
+                                 BufferCollectionCreateInfoFUCHSIA
+                              -> -- | @pAllocator@ is a pointer to a
+                                 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure which
+                                 -- controls host memory allocation as described in the
+                                 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-allocation Memory Allocation>
+                                 -- chapter
+                                 ("allocator" ::: Maybe AllocationCallbacks)
+                              -> io (BufferCollectionFUCHSIA)
+createBufferCollectionFUCHSIA device createInfo allocator = liftIO . evalContT $ do
+  let vkCreateBufferCollectionFUCHSIAPtr = pVkCreateBufferCollectionFUCHSIA (deviceCmds (device :: Device))
+  lift $ unless (vkCreateBufferCollectionFUCHSIAPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCreateBufferCollectionFUCHSIA is null" Nothing Nothing
+  let vkCreateBufferCollectionFUCHSIA' = mkVkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIAPtr
+  pCreateInfo <- ContT $ withCStruct (createInfo)
+  pAllocator <- case (allocator) of
+    Nothing -> pure nullPtr
+    Just j -> ContT $ withCStruct (j)
+  pPCollection <- ContT $ bracket (callocBytes @BufferCollectionFUCHSIA 8) free
+  r <- lift $ traceAroundEvent "vkCreateBufferCollectionFUCHSIA" (vkCreateBufferCollectionFUCHSIA' (deviceHandle (device)) pCreateInfo pAllocator (pPCollection))
+  lift $ when (r < SUCCESS) (throwIO (VulkanException r))
+  pCollection <- lift $ peek @BufferCollectionFUCHSIA pPCollection
+  pure $ (pCollection)
+
+-- | A convenience wrapper to make a compatible pair of calls to
+-- 'createBufferCollectionFUCHSIA' and 'destroyBufferCollectionFUCHSIA'
+--
+-- To ensure that 'destroyBufferCollectionFUCHSIA' is always called: pass
+-- 'Control.Exception.bracket' (or the allocate function from your
+-- favourite resource management library) as the last argument.
+-- To just extract the pair pass '(,)' as the last argument.
+--
+withBufferCollectionFUCHSIA :: forall io r . MonadIO io => Device -> BufferCollectionCreateInfoFUCHSIA -> Maybe AllocationCallbacks -> (io BufferCollectionFUCHSIA -> (BufferCollectionFUCHSIA -> io ()) -> r) -> r
+withBufferCollectionFUCHSIA device pCreateInfo pAllocator b =
+  b (createBufferCollectionFUCHSIA device pCreateInfo pAllocator)
+    (\(o0) -> destroyBufferCollectionFUCHSIA device o0 pAllocator)
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkSetBufferCollectionBufferConstraintsFUCHSIA
+  :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferConstraintsInfoFUCHSIA -> IO Result) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferConstraintsInfoFUCHSIA -> IO Result
+
+-- | vkSetBufferCollectionBufferConstraintsFUCHSIA - Set buffer-based
+-- constraints for a buffer collection
+--
+-- = Description
+--
+-- 'setBufferCollectionBufferConstraintsFUCHSIA' /may/ fail if the
+-- implementation does not support the constraints specified in the
+-- @bufferCollectionConstraints@ structure. If that occurs,
+-- 'setBufferCollectionBufferConstraintsFUCHSIA' will return
+-- VK_ERROR_FORMAT_NOT_SUPPORTED.
+--
+-- == Return Codes
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]
+--
+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_FORMAT_NOT_SUPPORTED'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'BufferConstraintsInfoFUCHSIA', 'Vulkan.Core10.Handles.Device'
+setBufferCollectionBufferConstraintsFUCHSIA :: forall io
+                                             . (MonadIO io)
+                                            => -- | @device@ is the logical device
+                                               --
+                                               -- #VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-device-parameter#
+                                               -- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+                                               Device
+                                            -> -- | @collection@ is the 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+                                               -- handle
+                                               --
+                                               -- #VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parameter#
+                                               -- @collection@ /must/ be a valid
+                                               -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+                                               --
+                                               -- #VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parent#
+                                               -- @collection@ /must/ have been created, allocated, or retrieved from
+                                               -- @device@
+                                               BufferCollectionFUCHSIA
+                                            -> -- | @pBufferConstraintsInfo@ is a pointer to a
+                                               -- 'BufferConstraintsInfoFUCHSIA' structure
+                                               --
+                                               -- #VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-pBufferConstraintsInfo-parameter#
+                                               -- @pBufferConstraintsInfo@ /must/ be a valid pointer to a valid
+                                               -- 'BufferConstraintsInfoFUCHSIA' structure
+                                               BufferConstraintsInfoFUCHSIA
+                                            -> io ()
+setBufferCollectionBufferConstraintsFUCHSIA device collection bufferConstraintsInfo = liftIO . evalContT $ do
+  let vkSetBufferCollectionBufferConstraintsFUCHSIAPtr = pVkSetBufferCollectionBufferConstraintsFUCHSIA (deviceCmds (device :: Device))
+  lift $ unless (vkSetBufferCollectionBufferConstraintsFUCHSIAPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetBufferCollectionBufferConstraintsFUCHSIA is null" Nothing Nothing
+  let vkSetBufferCollectionBufferConstraintsFUCHSIA' = mkVkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIAPtr
+  pBufferConstraintsInfo <- ContT $ withCStruct (bufferConstraintsInfo)
+  r <- lift $ traceAroundEvent "vkSetBufferCollectionBufferConstraintsFUCHSIA" (vkSetBufferCollectionBufferConstraintsFUCHSIA' (deviceHandle (device)) (collection) pBufferConstraintsInfo)
+  lift $ when (r < SUCCESS) (throwIO (VulkanException r))
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkSetBufferCollectionImageConstraintsFUCHSIA
+  :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr ImageConstraintsInfoFUCHSIA -> IO Result) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr ImageConstraintsInfoFUCHSIA -> IO Result
+
+-- | vkSetBufferCollectionImageConstraintsFUCHSIA - Set image-based
+-- constraints for a buffer collection
+--
+-- = Description
+--
+-- 'setBufferCollectionImageConstraintsFUCHSIA' /may/ fail if
+-- @pImageConstraintsInfo@::@formatConstraintsCount@ is larger than the
+-- implementation-defined limit. If that occurs,
+-- 'setBufferCollectionImageConstraintsFUCHSIA' will return
+-- VK_ERROR_INITIALIZATION_FAILED.
+--
+-- 'setBufferCollectionImageConstraintsFUCHSIA' /may/ fail if the
+-- implementation does not support any of the formats described by the
+-- @pImageConstraintsInfo@ structure. If that occurs,
+-- 'setBufferCollectionImageConstraintsFUCHSIA' will return
+-- VK_ERROR_FORMAT_NOT_SUPPORTED.
+--
+-- == Return Codes
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]
+--
+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_FORMAT_NOT_SUPPORTED'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'Vulkan.Core10.Handles.Device', 'ImageConstraintsInfoFUCHSIA'
+setBufferCollectionImageConstraintsFUCHSIA :: forall io
+                                            . (MonadIO io)
+                                           => -- | @device@ is the logical device
+                                              --
+                                              -- #VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-device-parameter#
+                                              -- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+                                              Device
+                                           -> -- | @collection@ is the 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+                                              -- handle
+                                              --
+                                              -- #VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parameter#
+                                              -- @collection@ /must/ be a valid
+                                              -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+                                              --
+                                              -- #VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parent#
+                                              -- @collection@ /must/ have been created, allocated, or retrieved from
+                                              -- @device@
+                                              BufferCollectionFUCHSIA
+                                           -> -- | @pImageConstraintsInfo@ is a pointer to a 'ImageConstraintsInfoFUCHSIA'
+                                              -- structure
+                                              --
+                                              -- #VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-pImageConstraintsInfo-parameter#
+                                              -- @pImageConstraintsInfo@ /must/ be a valid pointer to a valid
+                                              -- 'ImageConstraintsInfoFUCHSIA' structure
+                                              ImageConstraintsInfoFUCHSIA
+                                           -> io ()
+setBufferCollectionImageConstraintsFUCHSIA device collection imageConstraintsInfo = liftIO . evalContT $ do
+  let vkSetBufferCollectionImageConstraintsFUCHSIAPtr = pVkSetBufferCollectionImageConstraintsFUCHSIA (deviceCmds (device :: Device))
+  lift $ unless (vkSetBufferCollectionImageConstraintsFUCHSIAPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkSetBufferCollectionImageConstraintsFUCHSIA is null" Nothing Nothing
+  let vkSetBufferCollectionImageConstraintsFUCHSIA' = mkVkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIAPtr
+  pImageConstraintsInfo <- ContT $ withCStruct (imageConstraintsInfo)
+  r <- lift $ traceAroundEvent "vkSetBufferCollectionImageConstraintsFUCHSIA" (vkSetBufferCollectionImageConstraintsFUCHSIA' (deviceHandle (device)) (collection) pImageConstraintsInfo)
+  lift $ when (r < SUCCESS) (throwIO (VulkanException r))
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkDestroyBufferCollectionFUCHSIA
+  :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr AllocationCallbacks -> IO ()) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr AllocationCallbacks -> IO ()
+
+-- | vkDestroyBufferCollectionFUCHSIA - Destroy a buffer collection
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkDestroyBufferCollectionFUCHSIA-collection-06407#
+--     'Vulkan.Core10.Handles.Image' and 'Vulkan.Core10.Handles.Buffer'
+--     objects that referenced @collection@ upon creation by inclusion of a
+--     'BufferCollectionImageCreateInfoFUCHSIA' or
+--     'BufferCollectionBufferCreateInfoFUCHSIA' chained to their
+--     'Vulkan.Core10.Image.ImageCreateInfo' or
+--     'Vulkan.Core10.Buffer.BufferCreateInfo' structures respectively,
+--     /may/ outlive @collection@.
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkDestroyBufferCollectionFUCHSIA-device-parameter# @device@
+--     /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+--
+-- -   #VUID-vkDestroyBufferCollectionFUCHSIA-collection-parameter#
+--     @collection@ /must/ be a valid
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+--
+-- -   #VUID-vkDestroyBufferCollectionFUCHSIA-pAllocator-parameter# If
+--     @pAllocator@ is not @NULL@, @pAllocator@ /must/ be a valid pointer
+--     to a valid 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks'
+--     structure
+--
+-- -   #VUID-vkDestroyBufferCollectionFUCHSIA-collection-parent#
+--     @collection@ /must/ have been created, allocated, or retrieved from
+--     @device@
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'Vulkan.Core10.Handles.Device'
+destroyBufferCollectionFUCHSIA :: forall io
+                                . (MonadIO io)
+                               => -- | @device@ is the logical device that creates the
+                                  -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+                                  Device
+                               -> -- | @collection@ is the 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+                                  -- handle
+                                  BufferCollectionFUCHSIA
+                               -> -- | @pAllocator@ is a pointer to a
+                                  -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure which
+                                  -- controls host memory allocation as described in the
+                                  -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#memory-allocation Memory Allocation>
+                                  -- chapter
+                                  ("allocator" ::: Maybe AllocationCallbacks)
+                               -> io ()
+destroyBufferCollectionFUCHSIA device collection allocator = liftIO . evalContT $ do
+  let vkDestroyBufferCollectionFUCHSIAPtr = pVkDestroyBufferCollectionFUCHSIA (deviceCmds (device :: Device))
+  lift $ unless (vkDestroyBufferCollectionFUCHSIAPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkDestroyBufferCollectionFUCHSIA is null" Nothing Nothing
+  let vkDestroyBufferCollectionFUCHSIA' = mkVkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIAPtr
+  pAllocator <- case (allocator) of
+    Nothing -> pure nullPtr
+    Just j -> ContT $ withCStruct (j)
+  lift $ traceAroundEvent "vkDestroyBufferCollectionFUCHSIA" (vkDestroyBufferCollectionFUCHSIA' (deviceHandle (device)) (collection) pAllocator)
+  pure $ ()
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkGetBufferCollectionPropertiesFUCHSIA
+  :: FunPtr (Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferCollectionPropertiesFUCHSIA -> IO Result) -> Ptr Device_T -> BufferCollectionFUCHSIA -> Ptr BufferCollectionPropertiesFUCHSIA -> IO Result
+
+-- | vkGetBufferCollectionPropertiesFUCHSIA - Retrieve properties from a
+-- buffer collection
+--
+-- = Description
+--
+-- For image-based buffer collections, upon calling
+-- 'getBufferCollectionPropertiesFUCHSIA', Sysmem will choose an element of
+-- the 'ImageConstraintsInfoFUCHSIA'::@pImageCreateInfos@ established by
+-- the preceding call to 'setBufferCollectionImageConstraintsFUCHSIA'. The
+-- index of the element chosen is stored in and can be retrieved from
+-- 'BufferCollectionPropertiesFUCHSIA'::@createInfoIndex@.
+--
+-- For buffer-based buffer collections, a single
+-- 'Vulkan.Core10.Buffer.BufferCreateInfo' is specified as
+-- 'BufferConstraintsInfoFUCHSIA'::@createInfo@.
+-- 'BufferCollectionPropertiesFUCHSIA'::@createInfoIndex@ will therefore
+-- always be zero.
+--
+-- 'getBufferCollectionPropertiesFUCHSIA' /may/ fail if Sysmem is unable to
+-- resolve the constraints of all of the participants in the buffer
+-- collection. If that occurs, 'getBufferCollectionPropertiesFUCHSIA' will
+-- return VK_ERROR_INITIALIZATION_FAILED.
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkGetBufferCollectionPropertiesFUCHSIA-None-06405# Prior to
+--     calling 'getBufferCollectionPropertiesFUCHSIA', the constraints on
+--     the buffer collection /must/ have been set by either
+--     'setBufferCollectionImageConstraintsFUCHSIA' or
+--     'setBufferCollectionBufferConstraintsFUCHSIA'.
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkGetBufferCollectionPropertiesFUCHSIA-device-parameter#
+--     @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+--
+-- -   #VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parameter#
+--     @collection@ /must/ be a valid
+--     'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+--
+-- -   #VUID-vkGetBufferCollectionPropertiesFUCHSIA-pProperties-parameter#
+--     @pProperties@ /must/ be a valid pointer to a
+--     'BufferCollectionPropertiesFUCHSIA' structure
+--
+-- -   #VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parent#
+--     @collection@ /must/ have been created, allocated, or retrieved from
+--     @device@
+--
+-- == Return Codes
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]
+--
+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'BufferCollectionPropertiesFUCHSIA', 'Vulkan.Core10.Handles.Device'
+getBufferCollectionPropertiesFUCHSIA :: forall io
+                                      . (MonadIO io)
+                                     => -- | @device@ is the logical device handle
+                                        Device
+                                     -> -- | @collection@ is the 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+                                        -- handle
+                                        BufferCollectionFUCHSIA
+                                     -> io (BufferCollectionPropertiesFUCHSIA)
+getBufferCollectionPropertiesFUCHSIA device collection = liftIO . evalContT $ do
+  let vkGetBufferCollectionPropertiesFUCHSIAPtr = pVkGetBufferCollectionPropertiesFUCHSIA (deviceCmds (device :: Device))
+  lift $ unless (vkGetBufferCollectionPropertiesFUCHSIAPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetBufferCollectionPropertiesFUCHSIA is null" Nothing Nothing
+  let vkGetBufferCollectionPropertiesFUCHSIA' = mkVkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIAPtr
+  pPProperties <- ContT (withZeroCStruct @BufferCollectionPropertiesFUCHSIA)
+  r <- lift $ traceAroundEvent "vkGetBufferCollectionPropertiesFUCHSIA" (vkGetBufferCollectionPropertiesFUCHSIA' (deviceHandle (device)) (collection) (pPProperties))
+  lift $ when (r < SUCCESS) (throwIO (VulkanException r))
+  pProperties <- lift $ peekCStruct @BufferCollectionPropertiesFUCHSIA pPProperties
+  pure $ (pProperties)
+
+
+-- | VkImportMemoryBufferCollectionFUCHSIA - Structure to specify the Sysmem
+-- buffer to import
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data ImportMemoryBufferCollectionFUCHSIA = ImportMemoryBufferCollectionFUCHSIA
+  { -- | @collection@ is the 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+    -- handle
+    --
+    -- #VUID-VkImportMemoryBufferCollectionFUCHSIA-collection-parameter#
+    -- @collection@ /must/ be a valid
+    -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+    collection :: BufferCollectionFUCHSIA
+  , -- | @index@ the index of the buffer to import from @collection@
+    --
+    -- #VUID-VkImportMemoryBufferCollectionFUCHSIA-index-06406# @index@ /must/
+    -- be less than the value retrieved as
+    -- 'BufferCollectionPropertiesFUCHSIA':bufferCount
+    index :: Word32
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (ImportMemoryBufferCollectionFUCHSIA)
+#endif
+deriving instance Show ImportMemoryBufferCollectionFUCHSIA
+
+instance ToCStruct ImportMemoryBufferCollectionFUCHSIA where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p ImportMemoryBufferCollectionFUCHSIA{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA)) (collection)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (index)
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct ImportMemoryBufferCollectionFUCHSIA where
+  peekCStruct p = do
+    collection <- peek @BufferCollectionFUCHSIA ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA))
+    index <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
+    pure $ ImportMemoryBufferCollectionFUCHSIA
+             collection index
+
+instance Storable ImportMemoryBufferCollectionFUCHSIA where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero ImportMemoryBufferCollectionFUCHSIA where
+  zero = ImportMemoryBufferCollectionFUCHSIA
+           zero
+           zero
+
+
+-- | VkBufferCollectionImageCreateInfoFUCHSIA - Create a
+-- VkBufferCollectionFUCHSIA-compatible VkImage
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data BufferCollectionImageCreateInfoFUCHSIA = BufferCollectionImageCreateInfoFUCHSIA
+  { -- | @collection@ is the 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+    -- handle
+    --
+    -- #VUID-VkBufferCollectionImageCreateInfoFUCHSIA-collection-parameter#
+    -- @collection@ /must/ be a valid
+    -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+    collection :: BufferCollectionFUCHSIA
+  , -- | @index@ is the index of the buffer in the buffer collection from which
+    -- the memory will be imported
+    --
+    -- #VUID-VkBufferCollectionImageCreateInfoFUCHSIA-index-06391# @index@
+    -- /must/ be less than 'BufferCollectionPropertiesFUCHSIA'::@bufferCount@
+    index :: Word32
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BufferCollectionImageCreateInfoFUCHSIA)
+#endif
+deriving instance Show BufferCollectionImageCreateInfoFUCHSIA
+
+instance ToCStruct BufferCollectionImageCreateInfoFUCHSIA where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BufferCollectionImageCreateInfoFUCHSIA{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA)) (collection)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (index)
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct BufferCollectionImageCreateInfoFUCHSIA where
+  peekCStruct p = do
+    collection <- peek @BufferCollectionFUCHSIA ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA))
+    index <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
+    pure $ BufferCollectionImageCreateInfoFUCHSIA
+             collection index
+
+instance Storable BufferCollectionImageCreateInfoFUCHSIA where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero BufferCollectionImageCreateInfoFUCHSIA where
+  zero = BufferCollectionImageCreateInfoFUCHSIA
+           zero
+           zero
+
+
+-- | VkBufferCollectionBufferCreateInfoFUCHSIA - Create a
+-- VkBufferCollectionFUCHSIA-compatible VkBuffer
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data BufferCollectionBufferCreateInfoFUCHSIA = BufferCollectionBufferCreateInfoFUCHSIA
+  { -- | @collection@ is the 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+    -- handle
+    --
+    -- #VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-collection-parameter#
+    -- @collection@ /must/ be a valid
+    -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA' handle
+    collection :: BufferCollectionFUCHSIA
+  , -- | @index@ is the index of the buffer in the buffer collection from which
+    -- the memory will be imported
+    --
+    -- #VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-index-06388# @index@
+    -- /must/ be less than 'BufferCollectionPropertiesFUCHSIA'::@bufferCount@
+    index :: Word32
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BufferCollectionBufferCreateInfoFUCHSIA)
+#endif
+deriving instance Show BufferCollectionBufferCreateInfoFUCHSIA
+
+instance ToCStruct BufferCollectionBufferCreateInfoFUCHSIA where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BufferCollectionBufferCreateInfoFUCHSIA{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA)) (collection)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (index)
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct BufferCollectionBufferCreateInfoFUCHSIA where
+  peekCStruct p = do
+    collection <- peek @BufferCollectionFUCHSIA ((p `plusPtr` 16 :: Ptr BufferCollectionFUCHSIA))
+    index <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
+    pure $ BufferCollectionBufferCreateInfoFUCHSIA
+             collection index
+
+instance Storable BufferCollectionBufferCreateInfoFUCHSIA where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero BufferCollectionBufferCreateInfoFUCHSIA where
+  zero = BufferCollectionBufferCreateInfoFUCHSIA
+           zero
+           zero
+
+
+-- | VkBufferCollectionCreateInfoFUCHSIA - Structure specifying desired
+-- parameters to create the buffer collection
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'createBufferCollectionFUCHSIA'
+data BufferCollectionCreateInfoFUCHSIA = BufferCollectionCreateInfoFUCHSIA
+  { -- | @collectionToken@ is a @zx_handle_t@ containing the Sysmem client’s
+    -- buffer collection token
+    --
+    -- #VUID-VkBufferCollectionCreateInfoFUCHSIA-collectionToken-06393#
+    -- @collectionToken@ /must/ be a valid @zx_handle_t@ to a Zircon channel
+    -- allocated from Sysmem
+    -- (@fuchsia.sysmem.Allocator@\/AllocateSharedCollection) with
+    -- @ZX_DEFAULT_CHANNEL_RIGHTS@ rights
+    collectionToken :: Zx_handle_t }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BufferCollectionCreateInfoFUCHSIA)
+#endif
+deriving instance Show BufferCollectionCreateInfoFUCHSIA
+
+instance ToCStruct BufferCollectionCreateInfoFUCHSIA where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BufferCollectionCreateInfoFUCHSIA{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Zx_handle_t)) (collectionToken)
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Zx_handle_t)) (zero)
+    f
+
+instance FromCStruct BufferCollectionCreateInfoFUCHSIA where
+  peekCStruct p = do
+    collectionToken <- peek @Zx_handle_t ((p `plusPtr` 16 :: Ptr Zx_handle_t))
+    pure $ BufferCollectionCreateInfoFUCHSIA
+             collectionToken
+
+instance Storable BufferCollectionCreateInfoFUCHSIA where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero BufferCollectionCreateInfoFUCHSIA where
+  zero = BufferCollectionCreateInfoFUCHSIA
+           zero
+
+
+-- | VkBufferCollectionPropertiesFUCHSIA - Structure specifying the
+-- negotiated format chosen by Sysmem
+--
+-- = Description
+--
+-- @sysmemColorSpace@ is only set for image-based buffer collections where
+-- the constraints were specified using 'ImageConstraintsInfoFUCHSIA' in a
+-- call to 'setBufferCollectionImageConstraintsFUCHSIA'.
+--
+-- For image-based buffer collections, @createInfoIndex@ will identify both
+-- the 'ImageConstraintsInfoFUCHSIA'::@pImageCreateInfos@ element and the
+-- 'ImageConstraintsInfoFUCHSIA'::@pFormatConstraints@ element chosen by
+-- Sysmem when 'setBufferCollectionImageConstraintsFUCHSIA' was called. The
+-- value of @sysmemColorSpaceIndex@ will be an index to one of the color
+-- spaces provided in the
+-- 'ImageFormatConstraintsInfoFUCHSIA'::@pColorSpaces@ array.
+--
+-- The implementation must have @formatFeatures@ with all bits set that
+-- were set in
+-- 'ImageFormatConstraintsInfoFUCHSIA'::@requiredFormatFeatures@, by the
+-- call to 'setBufferCollectionImageConstraintsFUCHSIA', at
+-- @createInfoIndex@ (other bits could be set as well).
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation',
+-- 'Vulkan.Core10.ImageView.ComponentMapping',
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlags',
+-- 'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion',
+-- 'Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'SysmemColorSpaceFUCHSIA', 'getBufferCollectionPropertiesFUCHSIA'
+data BufferCollectionPropertiesFUCHSIA = BufferCollectionPropertiesFUCHSIA
+  { -- | @memoryTypeBits@ is a bitmask containing one bit set for every memory
+    -- type which the buffer collection can be imported as buffer collection
+    memoryTypeBits :: Word32
+  , -- | @bufferCount@ is the number of buffers in the collection
+    bufferCount :: Word32
+  , -- | @createInfoIndex@ as described in
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#sysmem-chosen-create-infos Sysmem chosen create infos>
+    createInfoIndex :: Word32
+  , -- | @sysmemPixelFormat@ is the Sysmem @PixelFormatType@ as defined in
+    -- @fuchsia.sysmem\/image_formats.fidl@
+    sysmemPixelFormat :: Word64
+  , -- | @formatFeatures@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' shared
+    -- by the buffer collection
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-parameter#
+    -- @formatFeatures@ /must/ be a valid combination of
+    -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' values
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-formatFeatures-requiredbitmask#
+    -- @formatFeatures@ /must/ not be @0@
+    formatFeatures :: FormatFeatureFlags
+  , -- | @sysmemColorSpaceIndex@ is a 'SysmemColorSpaceFUCHSIA' struct specifying
+    -- the color space
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-sysmemColorSpaceIndex-parameter#
+    -- @sysmemColorSpaceIndex@ /must/ be a valid 'SysmemColorSpaceFUCHSIA'
+    -- structure
+    sysmemColorSpaceIndex :: SysmemColorSpaceFUCHSIA
+  , -- | @samplerYcbcrConversionComponents@ is a
+    -- 'Vulkan.Core10.ImageView.ComponentMapping' struct specifying the
+    -- component mapping
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-samplerYcbcrConversionComponents-parameter#
+    -- @samplerYcbcrConversionComponents@ /must/ be a valid
+    -- 'Vulkan.Core10.ImageView.ComponentMapping' structure
+    samplerYcbcrConversionComponents :: ComponentMapping
+  , -- | @suggestedYcbcrModel@ is a
+    -- 'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion'
+    -- value specifying the suggested Y′CBCR model
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrModel-parameter#
+    -- @suggestedYcbcrModel@ /must/ be a valid
+    -- 'Vulkan.Core11.Enums.SamplerYcbcrModelConversion.SamplerYcbcrModelConversion'
+    -- value
+    suggestedYcbcrModel :: SamplerYcbcrModelConversion
+  , -- | @suggestedYcbcrRange@ is a
+    -- 'Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange' value
+    -- specifying the suggested Y′CBCR range
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYcbcrRange-parameter#
+    -- @suggestedYcbcrRange@ /must/ be a valid
+    -- 'Vulkan.Core11.Enums.SamplerYcbcrRange.SamplerYcbcrRange' value
+    suggestedYcbcrRange :: SamplerYcbcrRange
+  , -- | @suggestedXChromaOffset@ is a
+    -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value specifying the
+    -- suggested X chroma offset
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedXChromaOffset-parameter#
+    -- @suggestedXChromaOffset@ /must/ be a valid
+    -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value
+    suggestedXChromaOffset :: ChromaLocation
+  , -- | @suggestedYChromaOffset@ is a
+    -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value specifying the
+    -- suggested Y chroma offset
+    --
+    -- #VUID-VkBufferCollectionPropertiesFUCHSIA-suggestedYChromaOffset-parameter#
+    -- @suggestedYChromaOffset@ /must/ be a valid
+    -- 'Vulkan.Core11.Enums.ChromaLocation.ChromaLocation' value
+    suggestedYChromaOffset :: ChromaLocation
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BufferCollectionPropertiesFUCHSIA)
+#endif
+deriving instance Show BufferCollectionPropertiesFUCHSIA
+
+instance ToCStruct BufferCollectionPropertiesFUCHSIA where
+  withCStruct x f = allocaBytes 104 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BufferCollectionPropertiesFUCHSIA{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (memoryTypeBits)
+    poke ((p `plusPtr` 20 :: Ptr Word32)) (bufferCount)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (createInfoIndex)
+    poke ((p `plusPtr` 32 :: Ptr Word64)) (sysmemPixelFormat)
+    poke ((p `plusPtr` 40 :: Ptr FormatFeatureFlags)) (formatFeatures)
+    poke ((p `plusPtr` 48 :: Ptr SysmemColorSpaceFUCHSIA)) (sysmemColorSpaceIndex)
+    poke ((p `plusPtr` 72 :: Ptr ComponentMapping)) (samplerYcbcrConversionComponents)
+    poke ((p `plusPtr` 88 :: Ptr SamplerYcbcrModelConversion)) (suggestedYcbcrModel)
+    poke ((p `plusPtr` 92 :: Ptr SamplerYcbcrRange)) (suggestedYcbcrRange)
+    poke ((p `plusPtr` 96 :: Ptr ChromaLocation)) (suggestedXChromaOffset)
+    poke ((p `plusPtr` 100 :: Ptr ChromaLocation)) (suggestedYChromaOffset)
+    f
+  cStructSize = 104
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 32 :: Ptr Word64)) (zero)
+    poke ((p `plusPtr` 40 :: Ptr FormatFeatureFlags)) (zero)
+    poke ((p `plusPtr` 48 :: Ptr SysmemColorSpaceFUCHSIA)) (zero)
+    poke ((p `plusPtr` 72 :: Ptr ComponentMapping)) (zero)
+    poke ((p `plusPtr` 88 :: Ptr SamplerYcbcrModelConversion)) (zero)
+    poke ((p `plusPtr` 92 :: Ptr SamplerYcbcrRange)) (zero)
+    poke ((p `plusPtr` 96 :: Ptr ChromaLocation)) (zero)
+    poke ((p `plusPtr` 100 :: Ptr ChromaLocation)) (zero)
+    f
+
+instance FromCStruct BufferCollectionPropertiesFUCHSIA where
+  peekCStruct p = do
+    memoryTypeBits <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    bufferCount <- peek @Word32 ((p `plusPtr` 20 :: Ptr Word32))
+    createInfoIndex <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
+    sysmemPixelFormat <- peek @Word64 ((p `plusPtr` 32 :: Ptr Word64))
+    formatFeatures <- peek @FormatFeatureFlags ((p `plusPtr` 40 :: Ptr FormatFeatureFlags))
+    sysmemColorSpaceIndex <- peekCStruct @SysmemColorSpaceFUCHSIA ((p `plusPtr` 48 :: Ptr SysmemColorSpaceFUCHSIA))
+    samplerYcbcrConversionComponents <- peekCStruct @ComponentMapping ((p `plusPtr` 72 :: Ptr ComponentMapping))
+    suggestedYcbcrModel <- peek @SamplerYcbcrModelConversion ((p `plusPtr` 88 :: Ptr SamplerYcbcrModelConversion))
+    suggestedYcbcrRange <- peek @SamplerYcbcrRange ((p `plusPtr` 92 :: Ptr SamplerYcbcrRange))
+    suggestedXChromaOffset <- peek @ChromaLocation ((p `plusPtr` 96 :: Ptr ChromaLocation))
+    suggestedYChromaOffset <- peek @ChromaLocation ((p `plusPtr` 100 :: Ptr ChromaLocation))
+    pure $ BufferCollectionPropertiesFUCHSIA
+             memoryTypeBits bufferCount createInfoIndex sysmemPixelFormat formatFeatures sysmemColorSpaceIndex samplerYcbcrConversionComponents suggestedYcbcrModel suggestedYcbcrRange suggestedXChromaOffset suggestedYChromaOffset
+
+instance Storable BufferCollectionPropertiesFUCHSIA where
+  sizeOf ~_ = 104
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero BufferCollectionPropertiesFUCHSIA where
+  zero = BufferCollectionPropertiesFUCHSIA
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+
+
+-- | VkBufferConstraintsInfoFUCHSIA - Structure buffer-based buffer
+-- collection constraints
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-06404#
+--     The @requiredFormatFeatures@ bitmask of
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits'
+--     /must/ be chosen from among the buffer compatible format features
+--     listed in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#buffer-compatible-format-features buffer compatible format features>
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkBufferConstraintsInfoFUCHSIA-sType-sType# @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA'
+--
+-- -   #VUID-VkBufferConstraintsInfoFUCHSIA-pNext-pNext# @pNext@ /must/ be
+--     @NULL@
+--
+-- -   #VUID-VkBufferConstraintsInfoFUCHSIA-createInfo-parameter#
+--     @createInfo@ /must/ be a valid
+--     'Vulkan.Core10.Buffer.BufferCreateInfo' structure
+--
+-- -   #VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-parameter#
+--     @requiredFormatFeatures@ /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits'
+--     values
+--
+-- -   #VUID-VkBufferConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameter#
+--     @bufferCollectionConstraints@ /must/ be a valid
+--     'BufferCollectionConstraintsInfoFUCHSIA' structure
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'BufferCollectionConstraintsInfoFUCHSIA',
+-- 'Vulkan.Core10.Buffer.BufferCreateInfo',
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlags',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'setBufferCollectionBufferConstraintsFUCHSIA'
+data BufferConstraintsInfoFUCHSIA = BufferConstraintsInfoFUCHSIA
+  { -- No documentation found for Nested "VkBufferConstraintsInfoFUCHSIA" "createInfo"
+    createInfo :: SomeStruct BufferCreateInfo
+  , -- | @requiredFormatFeatures@ bitmask of
+    -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits'
+    -- required features of the buffers in the buffer collection
+    requiredFormatFeatures :: FormatFeatureFlags
+  , -- | @bufferCollectionConstraints@ is used to supply parameters for the
+    -- negotiation and allocation of the buffer collection
+    bufferCollectionConstraints :: BufferCollectionConstraintsInfoFUCHSIA
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BufferConstraintsInfoFUCHSIA)
+#endif
+deriving instance Show BufferConstraintsInfoFUCHSIA
+
+instance ToCStruct BufferConstraintsInfoFUCHSIA where
+  withCStruct x f = allocaBytes 120 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BufferConstraintsInfoFUCHSIA{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    ContT $ pokeSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (BufferCreateInfo _)))) (createInfo) . ($ ())
+    lift $ poke ((p `plusPtr` 72 :: Ptr FormatFeatureFlags)) (requiredFormatFeatures)
+    lift $ poke ((p `plusPtr` 80 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (bufferCollectionConstraints)
+    lift $ f
+  cStructSize = 120
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    ContT $ pokeSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (BufferCreateInfo _)))) ((SomeStruct zero)) . ($ ())
+    lift $ poke ((p `plusPtr` 80 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (zero)
+    lift $ f
+
+instance FromCStruct BufferConstraintsInfoFUCHSIA where
+  peekCStruct p = do
+    createInfo <- peekSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (BufferCreateInfo _))))
+    requiredFormatFeatures <- peek @FormatFeatureFlags ((p `plusPtr` 72 :: Ptr FormatFeatureFlags))
+    bufferCollectionConstraints <- peekCStruct @BufferCollectionConstraintsInfoFUCHSIA ((p `plusPtr` 80 :: Ptr BufferCollectionConstraintsInfoFUCHSIA))
+    pure $ BufferConstraintsInfoFUCHSIA
+             createInfo requiredFormatFeatures bufferCollectionConstraints
+
+instance Zero BufferConstraintsInfoFUCHSIA where
+  zero = BufferConstraintsInfoFUCHSIA
+           (SomeStruct zero)
+           zero
+           zero
+
+
+-- | VkSysmemColorSpaceFUCHSIA - Structure describing the buffer collections
+-- color space
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'BufferCollectionPropertiesFUCHSIA',
+-- 'ImageFormatConstraintsInfoFUCHSIA',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data SysmemColorSpaceFUCHSIA = SysmemColorSpaceFUCHSIA
+  { -- | @colorSpace@ value of the Sysmem @ColorSpaceType@
+    --
+    -- #VUID-VkSysmemColorSpaceFUCHSIA-colorSpace-06402# @colorSpace@ /must/ be
+    -- a @ColorSpaceType@ as defined in @fuchsia.sysmem\/image_formats.fidl@
+    colorSpace :: Word32 }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (SysmemColorSpaceFUCHSIA)
+#endif
+deriving instance Show SysmemColorSpaceFUCHSIA
+
+instance ToCStruct SysmemColorSpaceFUCHSIA where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p SysmemColorSpaceFUCHSIA{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (colorSpace)
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct SysmemColorSpaceFUCHSIA where
+  peekCStruct p = do
+    colorSpace <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    pure $ SysmemColorSpaceFUCHSIA
+             colorSpace
+
+instance Storable SysmemColorSpaceFUCHSIA where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero SysmemColorSpaceFUCHSIA where
+  zero = SysmemColorSpaceFUCHSIA
+           zero
+
+
+-- | VkImageFormatConstraintsInfoFUCHSIA - Structure image-based buffer
+-- collection constraints
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlags',
+-- 'ImageConstraintsInfoFUCHSIA', 'Vulkan.Core10.Image.ImageCreateInfo',
+-- 'ImageFormatConstraintsFlagsFUCHSIA',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'SysmemColorSpaceFUCHSIA'
+data ImageFormatConstraintsInfoFUCHSIA = ImageFormatConstraintsInfoFUCHSIA
+  { -- | @imageCreateInfo@ is the 'Vulkan.Core10.Image.ImageCreateInfo' used to
+    -- create a 'Vulkan.Core10.Handles.Image' that is to use memory from the
+    -- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+    --
+    -- #VUID-VkImageFormatConstraintsInfoFUCHSIA-imageCreateInfo-parameter#
+    -- @imageCreateInfo@ /must/ be a valid
+    -- 'Vulkan.Core10.Image.ImageCreateInfo' structure
+    imageCreateInfo :: SomeStruct ImageCreateInfo
+  , -- | @requiredFormatFeatures@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits'
+    -- specifying required features of the buffers in the buffer collection
+    --
+    -- #VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-parameter#
+    -- @requiredFormatFeatures@ /must/ be a valid combination of
+    -- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' values
+    --
+    -- #VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-requiredbitmask#
+    -- @requiredFormatFeatures@ /must/ not be @0@
+    requiredFormatFeatures :: FormatFeatureFlags
+  , -- | @flags@ is reserved for future use
+    --
+    -- #VUID-VkImageFormatConstraintsInfoFUCHSIA-flags-zerobitmask# @flags@
+    -- /must/ be @0@
+    flags :: ImageFormatConstraintsFlagsFUCHSIA
+  , -- | @sysmemPixelFormat@ is a @PixelFormatType@ value from the
+    -- @fuchsia.sysmem\/image_formats.fidl@ FIDL interface
+    sysmemPixelFormat :: Word64
+  , -- | @colorSpaceCount@ the element count of @pColorSpaces@
+    colorSpaceCount :: Word32
+  , -- | @pColorSpaces@ is an array of 'SysmemColorSpaceFUCHSIA' structs of size
+    -- @colorSpaceCount@
+    --
+    -- #VUID-VkImageFormatConstraintsInfoFUCHSIA-pColorSpaces-parameter#
+    -- @pColorSpaces@ /must/ be a valid pointer to a valid
+    -- 'SysmemColorSpaceFUCHSIA' structure
+    colorSpaces :: SysmemColorSpaceFUCHSIA
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (ImageFormatConstraintsInfoFUCHSIA)
+#endif
+deriving instance Show ImageFormatConstraintsInfoFUCHSIA
+
+instance ToCStruct ImageFormatConstraintsInfoFUCHSIA where
+  withCStruct x f = allocaBytes 136 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p ImageFormatConstraintsInfoFUCHSIA{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    ContT $ pokeSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (ImageCreateInfo _)))) (imageCreateInfo) . ($ ())
+    lift $ poke ((p `plusPtr` 104 :: Ptr FormatFeatureFlags)) (requiredFormatFeatures)
+    lift $ poke ((p `plusPtr` 108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA)) (flags)
+    lift $ poke ((p `plusPtr` 112 :: Ptr Word64)) (sysmemPixelFormat)
+    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) (colorSpaceCount)
+    pColorSpaces'' <- ContT $ withCStruct (colorSpaces)
+    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) pColorSpaces''
+    lift $ f
+  cStructSize = 136
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    ContT $ pokeSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (ImageCreateInfo _)))) ((SomeStruct zero)) . ($ ())
+    lift $ poke ((p `plusPtr` 104 :: Ptr FormatFeatureFlags)) (zero)
+    lift $ poke ((p `plusPtr` 120 :: Ptr Word32)) (zero)
+    pColorSpaces'' <- ContT $ withCStruct (zero)
+    lift $ poke ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA))) pColorSpaces''
+    lift $ f
+
+instance FromCStruct ImageFormatConstraintsInfoFUCHSIA where
+  peekCStruct p = do
+    imageCreateInfo <- peekSomeCStruct (forgetExtensions ((p `plusPtr` 16 :: Ptr (ImageCreateInfo _))))
+    requiredFormatFeatures <- peek @FormatFeatureFlags ((p `plusPtr` 104 :: Ptr FormatFeatureFlags))
+    flags <- peek @ImageFormatConstraintsFlagsFUCHSIA ((p `plusPtr` 108 :: Ptr ImageFormatConstraintsFlagsFUCHSIA))
+    sysmemPixelFormat <- peek @Word64 ((p `plusPtr` 112 :: Ptr Word64))
+    colorSpaceCount <- peek @Word32 ((p `plusPtr` 120 :: Ptr Word32))
+    pColorSpaces <- peekCStruct @SysmemColorSpaceFUCHSIA =<< peek ((p `plusPtr` 128 :: Ptr (Ptr SysmemColorSpaceFUCHSIA)))
+    pure $ ImageFormatConstraintsInfoFUCHSIA
+             imageCreateInfo requiredFormatFeatures flags sysmemPixelFormat colorSpaceCount pColorSpaces
+
+instance Zero ImageFormatConstraintsInfoFUCHSIA where
+  zero = ImageFormatConstraintsInfoFUCHSIA
+           (SomeStruct zero)
+           zero
+           zero
+           zero
+           zero
+           zero
+
+
+-- | VkImageConstraintsInfoFUCHSIA - Structure of image-based buffer
+-- collection constraints
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06395# All
+--     elements of @pFormatConstraints@ /must/ have at least one bit set in
+--     its 'ImageFormatConstraintsInfoFUCHSIA'::@requiredFormatFeatures@
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06396# If
+--     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT',
+--     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_BIT'
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06397# If
+--     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT',
+--     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_STORAGE_IMAGE_BIT'
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06398# If
+--     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT',
+--     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06399# If
+--     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT',
+--     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06400# If
+--     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT',
+--     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     at least one of
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'
+--     or
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-attachmentFragmentShadingRate-06401#
+--     If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
+--     is enabled, and @pFormatConstraints@::@imageCreateInfo@::@usage@
+--     contains
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR',
+--     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-sType-sType# @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA'
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pNext-pNext# @pNext@ /must/ be
+--     @NULL@
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-parameter#
+--     @pFormatConstraints@ /must/ be a valid pointer to an array of
+--     @formatConstraintsCount@ valid 'ImageFormatConstraintsInfoFUCHSIA'
+--     structures
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameter#
+--     @bufferCollectionConstraints@ /must/ be a valid
+--     'BufferCollectionConstraintsInfoFUCHSIA' structure
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-flags-parameter# @flags@ /must/
+--     be a valid combination of 'ImageConstraintsInfoFlagBitsFUCHSIA'
+--     values
+--
+-- -   #VUID-VkImageConstraintsInfoFUCHSIA-formatConstraintsCount-arraylength#
+--     @formatConstraintsCount@ /must/ be greater than @0@
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'BufferCollectionConstraintsInfoFUCHSIA',
+-- 'ImageConstraintsInfoFlagsFUCHSIA', 'ImageFormatConstraintsInfoFUCHSIA',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'setBufferCollectionImageConstraintsFUCHSIA'
+data ImageConstraintsInfoFUCHSIA = ImageConstraintsInfoFUCHSIA
+  { -- | @pFormatConstraints@ is an array of 'ImageFormatConstraintsInfoFUCHSIA'
+    -- structures of size @formatConstraintsCount@ that is used to further
+    -- constrain buffer collection format selection for image-based buffer
+    -- collections.
+    formatConstraints :: Vector ImageFormatConstraintsInfoFUCHSIA
+  , -- | @bufferCollectionConstraints@ is a
+    -- 'BufferCollectionConstraintsInfoFUCHSIA' structure used to supply
+    -- parameters for the negotiation and allocation for buffer-based buffer
+    -- collections.
+    bufferCollectionConstraints :: BufferCollectionConstraintsInfoFUCHSIA
+  , -- | @flags@ is a 'ImageConstraintsInfoFlagBitsFUCHSIA' value specifying
+    -- hints about the type of memory Sysmem should allocate for the buffer
+    -- collection.
+    flags :: ImageConstraintsInfoFlagsFUCHSIA
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (ImageConstraintsInfoFUCHSIA)
+#endif
+deriving instance Show ImageConstraintsInfoFUCHSIA
+
+instance ToCStruct ImageConstraintsInfoFUCHSIA where
+  withCStruct x f = allocaBytes 80 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p ImageConstraintsInfoFUCHSIA{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (formatConstraints)) :: Word32))
+    pPFormatConstraints' <- ContT $ allocaBytes @ImageFormatConstraintsInfoFUCHSIA ((Data.Vector.length (formatConstraints)) * 136)
+    Data.Vector.imapM_ (\i e -> ContT $ pokeCStruct (pPFormatConstraints' `plusPtr` (136 * (i)) :: Ptr ImageFormatConstraintsInfoFUCHSIA) (e) . ($ ())) (formatConstraints)
+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr ImageFormatConstraintsInfoFUCHSIA))) (pPFormatConstraints')
+    lift $ poke ((p `plusPtr` 32 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (bufferCollectionConstraints)
+    lift $ poke ((p `plusPtr` 72 :: Ptr ImageConstraintsInfoFlagsFUCHSIA)) (flags)
+    lift $ f
+  cStructSize = 80
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 32 :: Ptr BufferCollectionConstraintsInfoFUCHSIA)) (zero)
+    f
+
+instance FromCStruct ImageConstraintsInfoFUCHSIA where
+  peekCStruct p = do
+    formatConstraintsCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    pFormatConstraints <- peek @(Ptr ImageFormatConstraintsInfoFUCHSIA) ((p `plusPtr` 24 :: Ptr (Ptr ImageFormatConstraintsInfoFUCHSIA)))
+    pFormatConstraints' <- generateM (fromIntegral formatConstraintsCount) (\i -> peekCStruct @ImageFormatConstraintsInfoFUCHSIA ((pFormatConstraints `advancePtrBytes` (136 * (i)) :: Ptr ImageFormatConstraintsInfoFUCHSIA)))
+    bufferCollectionConstraints <- peekCStruct @BufferCollectionConstraintsInfoFUCHSIA ((p `plusPtr` 32 :: Ptr BufferCollectionConstraintsInfoFUCHSIA))
+    flags <- peek @ImageConstraintsInfoFlagsFUCHSIA ((p `plusPtr` 72 :: Ptr ImageConstraintsInfoFlagsFUCHSIA))
+    pure $ ImageConstraintsInfoFUCHSIA
+             pFormatConstraints' bufferCollectionConstraints flags
+
+instance Zero ImageConstraintsInfoFUCHSIA where
+  zero = ImageConstraintsInfoFUCHSIA
+           mempty
+           zero
+           zero
+
+
+-- | VkBufferCollectionConstraintsInfoFUCHSIA - Structure of general buffer
+-- collection constraints
+--
+-- = Description
+--
+-- Sysmem uses all buffer count parameters in combination to determine the
+-- number of buffers it will allocate. Sysmem defines buffer count
+-- constraints in @fuchsia.sysmem\/constraints.fidl@.
+--
+-- /Camping/ as referred to by @minBufferCountForCamping@, is the number of
+-- buffers that should be available for the participant that are not for
+-- transient use. This number of buffers is required for the participant to
+-- logically operate.
+--
+-- /Slack/ as referred to by @minBufferCountForDedicatedSlack@ and
+-- @minBufferCountForSharedSlack@, refers to the number of buffers desired
+-- by participants for optimal performance.
+-- @minBufferCountForDedicatedSlack@ refers to the current participant.
+-- @minBufferCountForSharedSlack@ refers to buffer slack for all
+-- participants in the collection.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'BufferConstraintsInfoFUCHSIA', 'ImageConstraintsInfoFUCHSIA',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data BufferCollectionConstraintsInfoFUCHSIA = BufferCollectionConstraintsInfoFUCHSIA
+  { -- | @minBufferCount@ is the minimum number of buffers available in the
+    -- collection
+    minBufferCount :: Word32
+  , -- | @maxBufferCount@ is the maximum number of buffers allowed in the
+    -- collection
+    maxBufferCount :: Word32
+  , -- | @minBufferCountForCamping@ is the per-participant minimum buffers for
+    -- camping
+    minBufferCountForCamping :: Word32
+  , -- | @minBufferCountForDedicatedSlack@ is the per-participant minimum buffers
+    -- for dedicated slack
+    minBufferCountForDedicatedSlack :: Word32
+  , -- | @minBufferCountForSharedSlack@ is the per-participant minimum buffers
+    -- for shared slack
+    minBufferCountForSharedSlack :: Word32
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BufferCollectionConstraintsInfoFUCHSIA)
+#endif
+deriving instance Show BufferCollectionConstraintsInfoFUCHSIA
+
+instance ToCStruct BufferCollectionConstraintsInfoFUCHSIA where
+  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BufferCollectionConstraintsInfoFUCHSIA{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (minBufferCount)
+    poke ((p `plusPtr` 20 :: Ptr Word32)) (maxBufferCount)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (minBufferCountForCamping)
+    poke ((p `plusPtr` 28 :: Ptr Word32)) (minBufferCountForDedicatedSlack)
+    poke ((p `plusPtr` 32 :: Ptr Word32)) (minBufferCountForSharedSlack)
+    f
+  cStructSize = 40
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 28 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 32 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct BufferCollectionConstraintsInfoFUCHSIA where
+  peekCStruct p = do
+    minBufferCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    maxBufferCount <- peek @Word32 ((p `plusPtr` 20 :: Ptr Word32))
+    minBufferCountForCamping <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
+    minBufferCountForDedicatedSlack <- peek @Word32 ((p `plusPtr` 28 :: Ptr Word32))
+    minBufferCountForSharedSlack <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
+    pure $ BufferCollectionConstraintsInfoFUCHSIA
+             minBufferCount maxBufferCount minBufferCountForCamping minBufferCountForDedicatedSlack minBufferCountForSharedSlack
+
+instance Storable BufferCollectionConstraintsInfoFUCHSIA where
+  sizeOf ~_ = 40
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero BufferCollectionConstraintsInfoFUCHSIA where
+  zero = BufferCollectionConstraintsInfoFUCHSIA
+           zero
+           zero
+           zero
+           zero
+           zero
+
+
+-- | VkImageFormatConstraintsFlagsFUCHSIA - Reserved for future use
+--
+-- = Description
+--
+-- 'ImageFormatConstraintsFlagsFUCHSIA' is a bitmask type for setting a
+-- mask, but is currently reserved for future use.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'ImageFormatConstraintsInfoFUCHSIA'
+newtype ImageFormatConstraintsFlagsFUCHSIA = ImageFormatConstraintsFlagsFUCHSIA Flags
+  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
+
+
+
+conNameImageFormatConstraintsFlagsFUCHSIA :: String
+conNameImageFormatConstraintsFlagsFUCHSIA = "ImageFormatConstraintsFlagsFUCHSIA"
+
+enumPrefixImageFormatConstraintsFlagsFUCHSIA :: String
+enumPrefixImageFormatConstraintsFlagsFUCHSIA = ""
+
+showTableImageFormatConstraintsFlagsFUCHSIA :: [(ImageFormatConstraintsFlagsFUCHSIA, String)]
+showTableImageFormatConstraintsFlagsFUCHSIA = []
+
+instance Show ImageFormatConstraintsFlagsFUCHSIA where
+  showsPrec = enumShowsPrec enumPrefixImageFormatConstraintsFlagsFUCHSIA
+                            showTableImageFormatConstraintsFlagsFUCHSIA
+                            conNameImageFormatConstraintsFlagsFUCHSIA
+                            (\(ImageFormatConstraintsFlagsFUCHSIA x) -> x)
+                            (\x -> showString "0x" . showHex x)
+
+instance Read ImageFormatConstraintsFlagsFUCHSIA where
+  readPrec = enumReadPrec enumPrefixImageFormatConstraintsFlagsFUCHSIA
+                          showTableImageFormatConstraintsFlagsFUCHSIA
+                          conNameImageFormatConstraintsFlagsFUCHSIA
+                          ImageFormatConstraintsFlagsFUCHSIA
+
+
+type ImageConstraintsInfoFlagsFUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA
+
+-- | VkImageConstraintsInfoFlagBitsFUCHSIA - Bitmask specifying image
+-- constraints flags
+--
+-- = Description
+--
+-- General hints about the type of memory that should be allocated by
+-- Sysmem based on the expected usage of the images in the buffer
+-- collection include:
+--
+-- For protected memory:
+--
+-- Note that if all participants in the buffer collection (Vulkan or
+-- otherwise) specify that protected memory is optional, Sysmem will not
+-- allocate protected memory.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection VK_FUCHSIA_buffer_collection>,
+-- 'ImageConstraintsInfoFlagsFUCHSIA'
+newtype ImageConstraintsInfoFlagBitsFUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA Flags
+  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
+
+-- | 'IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA'
+pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA    = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000001
+-- | 'IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA'
+pattern IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA     = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000002
+-- | 'IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA'
+pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA   = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000004
+-- | 'IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA'
+pattern IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA    = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000008
+-- | 'IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA' specifies that
+-- protected memory is optional for the buffer collection.
+pattern IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA = ImageConstraintsInfoFlagBitsFUCHSIA 0x00000010
+
+conNameImageConstraintsInfoFlagBitsFUCHSIA :: String
+conNameImageConstraintsInfoFlagBitsFUCHSIA = "ImageConstraintsInfoFlagBitsFUCHSIA"
+
+enumPrefixImageConstraintsInfoFlagBitsFUCHSIA :: String
+enumPrefixImageConstraintsInfoFlagBitsFUCHSIA = "IMAGE_CONSTRAINTS_INFO_"
+
+showTableImageConstraintsInfoFlagBitsFUCHSIA :: [(ImageConstraintsInfoFlagBitsFUCHSIA, String)]
+showTableImageConstraintsInfoFlagBitsFUCHSIA =
+  [ (IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIA   , "CPU_READ_RARELY_FUCHSIA")
+  , (IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIA    , "CPU_READ_OFTEN_FUCHSIA")
+  , (IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIA  , "CPU_WRITE_RARELY_FUCHSIA")
+  , (IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIA   , "CPU_WRITE_OFTEN_FUCHSIA")
+  , (IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIA, "PROTECTED_OPTIONAL_FUCHSIA")
+  ]
+
+instance Show ImageConstraintsInfoFlagBitsFUCHSIA where
+  showsPrec = enumShowsPrec enumPrefixImageConstraintsInfoFlagBitsFUCHSIA
+                            showTableImageConstraintsInfoFlagBitsFUCHSIA
+                            conNameImageConstraintsInfoFlagBitsFUCHSIA
+                            (\(ImageConstraintsInfoFlagBitsFUCHSIA x) -> x)
+                            (\x -> showString "0x" . showHex x)
+
+instance Read ImageConstraintsInfoFlagBitsFUCHSIA where
+  readPrec = enumReadPrec enumPrefixImageConstraintsInfoFlagBitsFUCHSIA
+                          showTableImageConstraintsInfoFlagBitsFUCHSIA
+                          conNameImageConstraintsInfoFlagBitsFUCHSIA
+                          ImageConstraintsInfoFlagBitsFUCHSIA
+
+
+type FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION = 2
+
+-- No documentation found for TopLevel "VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION"
+pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION :: forall a . Integral a => a
+pattern FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION = 2
+
+
+type FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection"
+
+-- No documentation found for TopLevel "VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME"
+pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME = "VK_FUCHSIA_buffer_collection"
+
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs-boot b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs-boot
@@ -0,0 +1,305 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_FUCHSIA_buffer_collection - device extension
+--
+-- == VK_FUCHSIA_buffer_collection
+--
+-- [__Name String__]
+--     @VK_FUCHSIA_buffer_collection@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     367
+--
+-- [__Revision__]
+--     2
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_FUCHSIA_external_memory@
+--
+--     -   Requires @VK_KHR_sampler_ycbcr_conversion@
+--
+-- [__Contact__]
+--
+--     -   John Rosasco
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_buffer_collection] @rosasco%0A<<Here describe the issue or question you have about the VK_FUCHSIA_buffer_collection extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-09-23
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Craig Stout, Google
+--
+--     -   John Bauman, Google
+--
+--     -   John Rosasco, Google
+--
+-- == Description
+--
+-- A buffer collection is a collection of one or more buffers which were
+-- allocated together as a group and which all have the same properties.
+-- These properties describe the buffers’ internal representation such as
+-- its dimensions and memory layout. This ensures that all of the buffers
+-- can be used interchangeably by tasks that require swapping among
+-- multiple buffers, such as double-buffered graphics rendering.
+--
+-- By sharing such a collection of buffers between components,
+-- communication about buffer lifecycle can be made much simpler and more
+-- efficient. For example, when a content producer finishes writing to a
+-- buffer, it can message the consumer of the buffer with the buffer index,
+-- rather than passing a handle to the shared memory.
+--
+-- On Fuchsia, the Sysmem service uses buffer collections as a core
+-- construct in its design. VK_FUCHSIA_buffer_collection is the Vulkan
+-- extension that allows Vulkan applications to interoperate with the
+-- Sysmem service on Fuchsia.
+--
+-- == New Object Types
+--
+-- -   'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA'
+--
+-- == New Commands
+--
+-- -   'createBufferCollectionFUCHSIA'
+--
+-- -   'destroyBufferCollectionFUCHSIA'
+--
+-- -   'getBufferCollectionPropertiesFUCHSIA'
+--
+-- -   'setBufferCollectionBufferConstraintsFUCHSIA'
+--
+-- -   'setBufferCollectionImageConstraintsFUCHSIA'
+--
+-- == New Structures
+--
+-- -   'BufferCollectionConstraintsInfoFUCHSIA'
+--
+-- -   'BufferCollectionCreateInfoFUCHSIA'
+--
+-- -   'BufferCollectionPropertiesFUCHSIA'
+--
+-- -   'BufferConstraintsInfoFUCHSIA'
+--
+-- -   'ImageConstraintsInfoFUCHSIA'
+--
+-- -   'ImageFormatConstraintsInfoFUCHSIA'
+--
+-- -   'SysmemColorSpaceFUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Buffer.BufferCreateInfo':
+--
+--     -   'BufferCollectionBufferCreateInfoFUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Image.ImageCreateInfo':
+--
+--     -   'BufferCollectionImageCreateInfoFUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Memory.MemoryAllocateInfo':
+--
+--     -   'ImportMemoryBufferCollectionFUCHSIA'
+--
+-- == New Enums
+--
+-- -   'ImageConstraintsInfoFlagBitsFUCHSIA'
+--
+-- == New Bitmasks
+--
+-- -   'ImageConstraintsInfoFlagsFUCHSIA'
+--
+-- -   'ImageFormatConstraintsFlagsFUCHSIA'
+--
+-- == New Enum Constants
+--
+-- -   'FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME'
+--
+-- -   'FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION'
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT':
+--
+--     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT'
+--
+-- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':
+--
+--     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA'
+--
+-- == Issues
+--
+-- 1) When configuring a 'ImageConstraintsInfoFUCHSIA' structure for
+-- constraint setting, should a NULL @pFormatConstraints@ parameter be
+-- allowed ?
+--
+-- __RESOLVED__: No. Specifying a NULL @pFormatConstraints@ results in
+-- logical complexity of interpreting the relationship between the
+-- 'Vulkan.Core10.Image.ImageCreateInfo'::@usage@ settings of the elements
+-- of the @pImageCreateInfos@ array and the implied or desired
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlags'.
+--
+-- The explicit requirement for @pFormatConstraints@ to be non-NULL
+-- simplifies the implied logic of the implementation and expectations for
+-- the Vulkan application.
+--
+-- == Version History
+--
+-- -   Revision 2, 2021-09-23 (John Rosasco)
+--
+--     -   Review passes
+--
+-- -   Revision 1, 2021-03-09 (John Rosasco)
+--
+--     -   Initial revision
+--
+-- = See Also
+--
+-- 'BufferCollectionBufferCreateInfoFUCHSIA',
+-- 'BufferCollectionConstraintsInfoFUCHSIA',
+-- 'BufferCollectionCreateInfoFUCHSIA',
+-- 'Vulkan.Extensions.Handles.BufferCollectionFUCHSIA',
+-- 'BufferCollectionImageCreateInfoFUCHSIA',
+-- 'BufferCollectionPropertiesFUCHSIA', 'BufferConstraintsInfoFUCHSIA',
+-- 'ImageConstraintsInfoFUCHSIA', 'ImageConstraintsInfoFlagBitsFUCHSIA',
+-- 'ImageConstraintsInfoFlagsFUCHSIA',
+-- 'ImageFormatConstraintsFlagsFUCHSIA',
+-- 'ImageFormatConstraintsInfoFUCHSIA',
+-- 'ImportMemoryBufferCollectionFUCHSIA', 'SysmemColorSpaceFUCHSIA',
+-- 'createBufferCollectionFUCHSIA', 'destroyBufferCollectionFUCHSIA',
+-- 'getBufferCollectionPropertiesFUCHSIA',
+-- 'setBufferCollectionBufferConstraintsFUCHSIA',
+-- 'setBufferCollectionImageConstraintsFUCHSIA'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_buffer_collection Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_FUCHSIA_buffer_collection  ( BufferCollectionBufferCreateInfoFUCHSIA
+                                                       , BufferCollectionConstraintsInfoFUCHSIA
+                                                       , BufferCollectionCreateInfoFUCHSIA
+                                                       , BufferCollectionImageCreateInfoFUCHSIA
+                                                       , BufferCollectionPropertiesFUCHSIA
+                                                       , BufferConstraintsInfoFUCHSIA
+                                                       , ImageConstraintsInfoFUCHSIA
+                                                       , ImageFormatConstraintsInfoFUCHSIA
+                                                       , ImportMemoryBufferCollectionFUCHSIA
+                                                       , SysmemColorSpaceFUCHSIA
+                                                       ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data BufferCollectionBufferCreateInfoFUCHSIA
+
+instance ToCStruct BufferCollectionBufferCreateInfoFUCHSIA
+instance Show BufferCollectionBufferCreateInfoFUCHSIA
+
+instance FromCStruct BufferCollectionBufferCreateInfoFUCHSIA
+
+
+data BufferCollectionConstraintsInfoFUCHSIA
+
+instance ToCStruct BufferCollectionConstraintsInfoFUCHSIA
+instance Show BufferCollectionConstraintsInfoFUCHSIA
+
+instance FromCStruct BufferCollectionConstraintsInfoFUCHSIA
+
+
+data BufferCollectionCreateInfoFUCHSIA
+
+instance ToCStruct BufferCollectionCreateInfoFUCHSIA
+instance Show BufferCollectionCreateInfoFUCHSIA
+
+instance FromCStruct BufferCollectionCreateInfoFUCHSIA
+
+
+data BufferCollectionImageCreateInfoFUCHSIA
+
+instance ToCStruct BufferCollectionImageCreateInfoFUCHSIA
+instance Show BufferCollectionImageCreateInfoFUCHSIA
+
+instance FromCStruct BufferCollectionImageCreateInfoFUCHSIA
+
+
+data BufferCollectionPropertiesFUCHSIA
+
+instance ToCStruct BufferCollectionPropertiesFUCHSIA
+instance Show BufferCollectionPropertiesFUCHSIA
+
+instance FromCStruct BufferCollectionPropertiesFUCHSIA
+
+
+data BufferConstraintsInfoFUCHSIA
+
+instance ToCStruct BufferConstraintsInfoFUCHSIA
+instance Show BufferConstraintsInfoFUCHSIA
+
+instance FromCStruct BufferConstraintsInfoFUCHSIA
+
+
+data ImageConstraintsInfoFUCHSIA
+
+instance ToCStruct ImageConstraintsInfoFUCHSIA
+instance Show ImageConstraintsInfoFUCHSIA
+
+instance FromCStruct ImageConstraintsInfoFUCHSIA
+
+
+data ImageFormatConstraintsInfoFUCHSIA
+
+instance ToCStruct ImageFormatConstraintsInfoFUCHSIA
+instance Show ImageFormatConstraintsInfoFUCHSIA
+
+instance FromCStruct ImageFormatConstraintsInfoFUCHSIA
+
+
+data ImportMemoryBufferCollectionFUCHSIA
+
+instance ToCStruct ImportMemoryBufferCollectionFUCHSIA
+instance Show ImportMemoryBufferCollectionFUCHSIA
+
+instance FromCStruct ImportMemoryBufferCollectionFUCHSIA
+
+
+data SysmemColorSpaceFUCHSIA
+
+instance ToCStruct SysmemColorSpaceFUCHSIA
+instance Show SysmemColorSpaceFUCHSIA
+
+instance FromCStruct SysmemColorSpaceFUCHSIA
+
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   John Rosasco
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_FUCHSIA_external_memory:%20&body=@rosasco%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_external_memory] @rosasco%0A<<Here describe the issue or question you have about the VK_FUCHSIA_external_memory extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -204,6 +204,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_memory VK_FUCHSIA_external_memory>,
 -- 'Vulkan.Core10.Handles.Device', 'MemoryGetZirconHandleInfoFUCHSIA'
 getMemoryZirconHandleFUCHSIA :: forall io
                               . (MonadIO io)
@@ -255,6 +256,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_memory VK_FUCHSIA_external_memory>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'MemoryZirconHandlePropertiesFUCHSIA'
@@ -322,6 +324,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_memory VK_FUCHSIA_external_memory>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImportMemoryZirconHandleInfoFUCHSIA = ImportMemoryZirconHandleInfoFUCHSIA
@@ -379,6 +382,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_memory VK_FUCHSIA_external_memory>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getMemoryZirconHandlePropertiesFUCHSIA'
 data MemoryZirconHandlePropertiesFUCHSIA = MemoryZirconHandlePropertiesFUCHSIA
@@ -430,6 +434,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_memory VK_FUCHSIA_external_memory>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs-boot b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs-boot
--- a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs-boot
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   John Rosasco
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_FUCHSIA_external_memory:%20&body=@rosasco%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_external_memory] @rosasco%0A<<Here describe the issue or question you have about the VK_FUCHSIA_external_memory extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs b/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   John Rosasco
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_FUCHSIA_external_semaphore:%20&body=@rosasco%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_external_semaphore] @rosasco%0A<<Here describe the issue or question you have about the VK_FUCHSIA_external_semaphore extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -218,6 +218,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_semaphore VK_FUCHSIA_external_semaphore>,
 -- 'Vulkan.Core10.Handles.Device', 'SemaphoreGetZirconHandleInfoFUCHSIA'
 getSemaphoreZirconHandleFUCHSIA :: forall io
                                  . (MonadIO io)
@@ -284,6 +285,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_semaphore VK_FUCHSIA_external_semaphore>,
 -- 'Vulkan.Core10.Handles.Device', 'ImportSemaphoreZirconHandleInfoFUCHSIA'
 importSemaphoreZirconHandleFUCHSIA :: forall io
                                     . (MonadIO io)
@@ -331,7 +333,7 @@
 --
 -- -   #VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-04765#
 --     @handleType@ /must/ be a value included in the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-semaphore-handletypes-zircon-handle Handle Types Supported by >
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-semaphore-handletypes-fuchsia Handle Types Supported by >
 --     table
 --
 -- -   #VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04766#
@@ -378,6 +380,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_semaphore VK_FUCHSIA_external_semaphore>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlags',
@@ -513,6 +516,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_external_semaphore VK_FUCHSIA_external_semaphore>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs-boot b/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs-boot
--- a/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs-boot
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_external_semaphore.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   John Rosasco
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_FUCHSIA_external_semaphore:%20&body=@rosasco%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_external_semaphore] @rosasco%0A<<Here describe the issue or question you have about the VK_FUCHSIA_external_semaphore extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs b/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Craig Stout
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_FUCHSIA_imagepipe_surface:%20&body=@cdotstout%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_imagepipe_surface] @cdotstout%0A<<Here describe the issue or question you have about the VK_FUCHSIA_imagepipe_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -203,6 +203,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_imagepipe_surface VK_FUCHSIA_imagepipe_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'ImagePipeSurfaceCreateInfoFUCHSIA', 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -242,6 +243,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_imagepipe_surface VK_FUCHSIA_imagepipe_surface>,
 -- 'ImagePipeSurfaceCreateFlagsFUCHSIA',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createImagePipeSurfaceFUCHSIA'
@@ -308,6 +310,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_FUCHSIA_imagepipe_surface VK_FUCHSIA_imagepipe_surface>,
 -- 'ImagePipeSurfaceCreateInfoFUCHSIA'
 newtype ImagePipeSurfaceCreateFlagsFUCHSIA = ImagePipeSurfaceCreateFlagsFUCHSIA Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs-boot b/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_imagepipe_surface.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Craig Stout
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_FUCHSIA_imagepipe_surface:%20&body=@cdotstout%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_FUCHSIA_imagepipe_surface] @cdotstout%0A<<Here describe the issue or question you have about the VK_FUCHSIA_imagepipe_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_GGP_frame_token.hs b/src/Vulkan/Extensions/VK_GGP_frame_token.hs
--- a/src/Vulkan/Extensions/VK_GGP_frame_token.hs
+++ b/src/Vulkan/Extensions/VK_GGP_frame_token.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jean-Francois Roy
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GGP_frame_token:%20&body=@jfroy%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GGP_frame_token] @jfroy%0A<<Here describe the issue or question you have about the VK_GGP_frame_token extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -118,6 +118,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GGP_frame_token VK_GGP_frame_token>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PresentFrameTokenGGP = PresentFrameTokenGGP
   { -- | @frameToken@ is the Google Games Platform frame token.
diff --git a/src/Vulkan/Extensions/VK_GGP_frame_token.hs-boot b/src/Vulkan/Extensions/VK_GGP_frame_token.hs-boot
--- a/src/Vulkan/Extensions/VK_GGP_frame_token.hs-boot
+++ b/src/Vulkan/Extensions/VK_GGP_frame_token.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jean-Francois Roy
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GGP_frame_token:%20&body=@jfroy%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GGP_frame_token] @jfroy%0A<<Here describe the issue or question you have about the VK_GGP_frame_token extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs b/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs
--- a/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs
+++ b/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jean-Francois Roy
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GGP_stream_descriptor_surface:%20&body=@jfroy%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GGP_stream_descriptor_surface] @jfroy%0A<<Here describe the issue or question you have about the VK_GGP_stream_descriptor_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -232,6 +232,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GGP_stream_descriptor_surface VK_GGP_stream_descriptor_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance',
 -- 'StreamDescriptorSurfaceCreateInfoGGP',
@@ -272,6 +273,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GGP_stream_descriptor_surface VK_GGP_stream_descriptor_surface>,
 -- 'StreamDescriptorSurfaceCreateFlagsGGP',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createStreamDescriptorSurfaceGGP'
@@ -338,6 +340,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GGP_stream_descriptor_surface VK_GGP_stream_descriptor_surface>,
 -- 'StreamDescriptorSurfaceCreateInfoGGP'
 newtype StreamDescriptorSurfaceCreateFlagsGGP = StreamDescriptorSurfaceCreateFlagsGGP Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs-boot b/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_GGP_stream_descriptor_surface.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jean-Francois Roy
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GGP_stream_descriptor_surface:%20&body=@jfroy%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GGP_stream_descriptor_surface] @jfroy%0A<<Here describe the issue or question you have about the VK_GGP_stream_descriptor_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_GOOGLE_decorate_string.hs b/src/Vulkan/Extensions/VK_GOOGLE_decorate_string.hs
--- a/src/Vulkan/Extensions/VK_GOOGLE_decorate_string.hs
+++ b/src/Vulkan/Extensions/VK_GOOGLE_decorate_string.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Hai Nguyen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GOOGLE_decorate_string:%20&body=@chaoticbob%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GOOGLE_decorate_string] @chaoticbob%0A<<Here describe the issue or question you have about the VK_GOOGLE_decorate_string extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs b/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs
--- a/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs
+++ b/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GOOGLE_display_timing:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GOOGLE_display_timing] @ianelliottus%0A<<Here describe the issue or question you have about the VK_GOOGLE_display_timing extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -238,6 +238,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GOOGLE_display_timing VK_GOOGLE_display_timing>,
 -- 'Vulkan.Core10.Handles.Device', 'RefreshCycleDurationGOOGLE',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
 getRefreshCycleDurationGOOGLE :: forall io
@@ -331,6 +332,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GOOGLE_display_timing VK_GOOGLE_display_timing>,
 -- 'Vulkan.Core10.Handles.Device', 'PastPresentationTimingGOOGLE',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
 getPastPresentationTimingGOOGLE :: forall io
@@ -365,6 +367,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GOOGLE_display_timing VK_GOOGLE_display_timing>,
 -- 'getRefreshCycleDurationGOOGLE'
 data RefreshCycleDurationGOOGLE = RefreshCycleDurationGOOGLE
   { -- | @refreshDuration@ is the number of nanoseconds from the start of one
@@ -432,6 +435,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GOOGLE_display_timing VK_GOOGLE_display_timing>,
 -- 'getPastPresentationTimingGOOGLE'
 data PastPresentationTimingGOOGLE = PastPresentationTimingGOOGLE
   { -- | @presentID@ is an application-provided value that was given to a
@@ -536,6 +540,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GOOGLE_display_timing VK_GOOGLE_display_timing>,
 -- 'PresentTimeGOOGLE', 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PresentTimesInfoGOOGLE = PresentTimesInfoGOOGLE
   { -- | @swapchainCount@ is the number of swapchains being presented to by this
@@ -606,6 +611,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_GOOGLE_display_timing VK_GOOGLE_display_timing>,
 -- 'PresentTimesInfoGOOGLE'
 data PresentTimeGOOGLE = PresentTimeGOOGLE
   { -- | @presentID@ is an application-provided identification value, that /can/
diff --git a/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs-boot b/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs-boot
--- a/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs-boot
+++ b/src/Vulkan/Extensions/VK_GOOGLE_display_timing.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GOOGLE_display_timing:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GOOGLE_display_timing] @ianelliottus%0A<<Here describe the issue or question you have about the VK_GOOGLE_display_timing extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_GOOGLE_hlsl_functionality1.hs b/src/Vulkan/Extensions/VK_GOOGLE_hlsl_functionality1.hs
--- a/src/Vulkan/Extensions/VK_GOOGLE_hlsl_functionality1.hs
+++ b/src/Vulkan/Extensions/VK_GOOGLE_hlsl_functionality1.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Hai Nguyen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GOOGLE_hlsl_functionality1:%20&body=@chaoticbob%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GOOGLE_hlsl_functionality1] @chaoticbob%0A<<Here describe the issue or question you have about the VK_GOOGLE_hlsl_functionality1 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -52,9 +52,9 @@
 --
 -- == New Enum Constants
 --
--- -   'GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME'
+-- -   'GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME'
 --
--- -   'GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION'
+-- -   'GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION'
 --
 -- == Version History
 --
@@ -73,24 +73,34 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1  ( GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION
-                                                        , pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION
-                                                        , GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME
+module Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1  ( pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION
                                                         , pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME
+                                                        , GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
+                                                        , pattern GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
+                                                        , GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
+                                                        , pattern GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
                                                         ) where
 
 import Data.String (IsString)
 
-type GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1
-
 -- No documentation found for TopLevel "VK_GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION"
-pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION :: forall a . Integral a => a
-pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = 1
+pattern GOOGLE_HLSL_FUNCTIONALITY1_SPEC_VERSION = GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION
 
 
-type GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1"
-
 -- No documentation found for TopLevel "VK_GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME"
-pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
-pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1"
+pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME = GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
+
+
+type GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION"
+pattern GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION :: forall a . Integral a => a
+pattern GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION = 1
+
+
+type GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1"
+
+-- No documentation found for TopLevel "VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME"
+pattern GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME = "VK_GOOGLE_hlsl_functionality1"
 
diff --git a/src/Vulkan/Extensions/VK_GOOGLE_user_type.hs b/src/Vulkan/Extensions/VK_GOOGLE_user_type.hs
--- a/src/Vulkan/Extensions/VK_GOOGLE_user_type.hs
+++ b/src/Vulkan/Extensions/VK_GOOGLE_user_type.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Kaye Mason
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_GOOGLE_user_type:%20&body=@chaleur%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_GOOGLE_user_type] @chaleur%0A<<Here describe the issue or question you have about the VK_GOOGLE_user_type extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs
--- a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs
+++ b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Yunpeng Zhu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_HUAWEI_invocation_mask:%20&body=@yunxingzhu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_HUAWEI_invocation_mask] @yunxingzhu%0A<<Here describe the issue or question you have about the VK_HUAWEI_invocation_mask extension>> >
 --
 -- [__Extension Proposal__]
 --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_HUAWEI_invocation_mask.asciidoc VK_HUAWEI_invocation_mask>
@@ -40,14 +40,12 @@
 --
 -- [__Interactions and External Dependencies__]
 --
---     -   This extension requires
---         <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>,
---         which allow to bind an invocation mask image before the ray
---         tracing command
+--     -   This extension requires @VK_KHR_ray_tracing_pipeline@, which
+--         allow to bind an invocation mask image before the ray tracing
+--         command
 --
---     -   This extension requires
---         <VK_KHR_synchronization2.html VK_KHR_synchronization2>, which
---         allows new pipeline stage for the invocation mask image
+--     -   This extension requires @VK_KHR_synchronization2@, which allows
+--         new pipeline stage for the invocation mask image
 --
 -- [__Contributors__]
 --
@@ -302,6 +300,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_invocation_mask VK_HUAWEI_invocation_mask>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Handles.ImageView'
@@ -351,6 +350,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_invocation_mask VK_HUAWEI_invocation_mask>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceInvocationMaskFeaturesHUAWEI = PhysicalDeviceInvocationMaskFeaturesHUAWEI
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot
--- a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot
+++ b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Yunpeng Zhu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_HUAWEI_invocation_mask:%20&body=@yunxingzhu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_HUAWEI_invocation_mask] @yunxingzhu%0A<<Here describe the issue or question you have about the VK_HUAWEI_invocation_mask extension>> >
 --
 -- [__Extension Proposal__]
 --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_HUAWEI_invocation_mask.asciidoc VK_HUAWEI_invocation_mask>
@@ -40,14 +40,12 @@
 --
 -- [__Interactions and External Dependencies__]
 --
---     -   This extension requires
---         <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>,
---         which allow to bind an invocation mask image before the ray
---         tracing command
+--     -   This extension requires @VK_KHR_ray_tracing_pipeline@, which
+--         allow to bind an invocation mask image before the ray tracing
+--         command
 --
---     -   This extension requires
---         <VK_KHR_synchronization2.html VK_KHR_synchronization2>, which
---         allows new pipeline stage for the invocation mask image
+--     -   This extension requires @VK_KHR_synchronization2@, which allows
+--         new pipeline stage for the invocation mask image
 --
 -- [__Contributors__]
 --
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs
@@ -0,0 +1,999 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_HUAWEI_subpass_shading - device extension
+--
+-- == VK_HUAWEI_subpass_shading
+--
+-- [__Name String__]
+--     @VK_HUAWEI_subpass_shading@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     370
+--
+-- [__Revision__]
+--     2
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_create_renderpass2@
+--
+--     -   Requires @VK_KHR_synchronization2@
+--
+-- [__Contact__]
+--
+--     -   Hueilong Wang
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_HUAWEI_subpass_shading] @wyvernathuawei%0A<<Here describe the issue or question you have about the VK_HUAWEI_subpass_shading extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-06-01
+--
+-- [__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>.
+--
+-- [__Contributors__]
+--
+--     -   Hueilong Wang
+--
+-- == Description
+--
+-- This extension allows applications to execute a subpass shading pipeline
+-- in a subpass of a render pass in order to save memory bandwidth for
+-- algorithms like tile-based deferred rendering and forward plus. A
+-- subpass shading pipeline is a pipeline with the compute pipeline
+-- ability, allowed to read values from input attachments, and only allowed
+-- to be dispatched inside a stand-alone subpass. Its work dimension is
+-- defined by the render pass’s render area size. Its workgroup size
+-- (width, height) shall be a power-of-two number in width or height, with
+-- minimum value from 8, and maximum value shall be decided from the render
+-- pass attachments and sample counts but depends on implementation.
+--
+-- The @GlobalInvocationId.xy@ of a subpass shading pipeline is equal to
+-- the @FragCoord.xy@ of a graphic pipeline in the same render pass
+-- subtracted the <VkRect2D.html offset> of the
+-- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo'::@renderArea@.
+-- @GlobalInvocationId.z@ is mapped to the Layer if
+-- @VK_EXT_shader_viewport_index_layer@ is supported. The
+-- @GlobalInvocationId.xy@ is equal to the index of the local workgroup
+-- multiplied by the size of the local workgroup plus the
+-- @LocalInvocationId@ and the <VkRect2D.html offset> of the
+-- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo'::@renderArea@.
+--
+-- This extension allows a subpass’s pipeline bind point to be
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI'.
+--
+-- == New Commands
+--
+-- -   'cmdSubpassShadingHUAWEI'
+--
+-- -   'getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI'
+--
+-- == New Structures
+--
+-- -   Extending 'Vulkan.Core10.Pipeline.ComputePipelineCreateInfo':
+--
+--     -   'SubpassShadingPipelineCreateInfoHUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceSubpassShadingFeaturesHUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceSubpassShadingPropertiesHUAWEI'
+--
+-- == New Enum Constants
+--
+-- -   'HUAWEI_SUBPASS_SHADING_EXTENSION_NAME'
+--
+-- -   'HUAWEI_SUBPASS_SHADING_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint':
+--
+--     -   'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI'
+--
+-- == Sample Code
+--
+-- Example of subpass shading in a GLSL shader
+--
+-- > #extension GL_HUAWEI_subpass_shading: enable
+-- > #extension GL_KHR_shader_subgroup_arithmetic: enable
+-- >
+-- > layout(constant_id = 0) const uint tileWidth = 16;
+-- > layout(constant_id = 1) const uint tileHeight = 16;
+-- > layout(local_size_x_id = 0, local_size_y_id = 1, local_size_z = 1) in;
+-- > layout (set=0, binding=0, input_attachment_index=0) uniform subpassInput depth;
+-- >
+-- > void main()
+-- > {
+-- >   float d = subpassLoad(depth);
+-- >   float minD = subgroupMin(d);
+-- >   float maxD = subgroupMax(d);
+-- > }
+--
+-- Example of subpass shading dispatching in a subpass
+--
+-- > vkCmdNextSubpass(commandBuffer, VK_SUBPASS_CONTENTS_INLINE);
+-- > vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, subpassShadingPipeline);
+-- > vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, subpassShadingPipelineLayout,
+-- >   firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+-- > vkCmdSubpassShadingHUAWEI(commandBuffer)
+-- > vkCmdEndRenderPass(commandBuffer);
+--
+-- Example of subpass shading render pass creation
+--
+-- > VkAttachmentDescription2 attachments[] = {
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_D24_UNORM_S8_UINT, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_STORE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   }
+-- > };
+-- >
+-- > VkAttachmentReference2 gBufferAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 1, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
+-- > };
+-- > VkAttachmentReference2 gBufferDepthStencilAttachmentReferences =
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT };
+-- > VkAttachmentReference2 depthInputAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT };
+-- > };
+-- > VkAttachmentReference2 preserveAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 1, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT }
+-- > }; // G buffer including depth/stencil
+-- > VkAttachmentReference2 colorAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 4, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
+-- > };
+-- > VkAttachmentReference2 resolveAttachmentReference =
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 4, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT };
+-- >
+-- > VkSubpassDescription2 subpasses[] = {
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_GRAPHICS, 0,
+-- >     0, NULL, // input
+-- >     sizeof(gBufferAttachmentReferences)/sizeof(gBufferAttachmentReferences[0]), gBufferAttachmentReferences, // color
+-- >     NULL, &gBufferDepthStencilAttachmentReferences, // resolve & DS
+-- >     0, NULL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI , 0,
+-- >     sizeof(depthInputAttachmentReferences)/sizeof(depthInputAttachmentReferences[0]), depthInputAttachmentReferences, // input
+-- >     0, NULL, // color
+-- >     NULL, NULL, // resolve & DS
+-- >     sizeof(preserveAttachmentReferences)/sizeof(preserveAttachmentReferences[0]), preserveAttachmentReferences,
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_GRAPHICS, 0,
+-- >     sizeof(gBufferAttachmentReferences)/sizeof(gBufferAttachmentReferences[0]), gBufferAttachmentReferences, // input
+-- >     sizeof(colorAttachmentReferences)/sizeof(colorAttachmentReferences[0]), colorAttachmentReferences, // color
+-- >     &resolveAttachmentReference, &gBufferDepthStencilAttachmentReferences, // resolve & DS
+-- >     0, NULL
+-- >   },
+-- > };
+-- >
+-- > VkMemoryBarrier2KHR fragmentToSubpassShading = {
+-- >   VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR, NULL,
+-- >   VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
+-- >   VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, VK_ACCESS_INPUT_ATTACHMENT_READ_BIT
+-- > };
+-- >
+-- > VkMemoryBarrier2KHR subpassShadingToFragment = {
+-- >   VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR, NULL,
+-- >   VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, VK_ACCESS_SHADER_WRITE_BIT,
+-- >   VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR, VK_ACCESS_SHADER_READ_BIT
+-- > };
+-- >
+-- > VkSubpassDependency2 dependencies[] = {
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, &fragmentToSubpassShading,
+-- >     0, 1,
+-- >     0, 0, 0, 0,
+-- >     0, 0
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, &subpassShadingToFragment,
+-- >     1, 2,
+-- >     0, 0, 0, 0,
+-- >     0, 0
+-- >   },
+-- > };
+-- >
+-- > VkRenderPassCreateInfo2 renderPassCreateInfo = {
+-- >   VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, NULL, 0,
+-- >     sizeof(attachments)/sizeof(attachments[0]), attachments,
+-- >     sizeof(subpasses)/sizeof(subpasses[0]), subpasses,
+-- >     sizeof(dependencies)/sizeof(dependencies[0]), dependencies,
+-- >     0, NULL
+-- > };
+-- > VKRenderPass renderPass;
+-- > vkCreateRenderPass2(device, &renderPassCreateInfo, NULL, &renderPass);
+--
+-- Example of subpass shading pipeline creation
+--
+-- > VkExtent2D maxWorkgroupSize;
+-- >
+-- > VkSpecializationMapEntry subpassShadingConstantMapEntries[] = {
+-- >   { 0, 0 * sizeof(uint32_t), sizeof(uint32_t) },
+-- >   { 1, 1 * sizeof(uint32_t), sizeof(uint32_t) }
+-- > };
+-- >
+-- > VkSpecializationInfo subpassShadingConstants = {
+-- >   2, subpassShadingConstantMapEntries,
+-- >   sizeof(VkExtent2D), &maxWorkgroupSize
+-- > };
+-- >
+-- > VkSubpassShadingPipelineCreateInfoHUAWEI subpassShadingPipelineCreateInfo {
+-- >   VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI, NULL,
+-- >   renderPass, 1
+-- > };
+-- >
+-- > VkPipelineShaderStageCreateInfo subpassShadingPipelineStageCreateInfo {
+-- >   VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, NULL,
+-- >   0, VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
+-- >   shaderModule, "subpass shading example",
+-- >   &subpassShadingConstants
+-- > };
+-- >
+-- > VkComputePipelineCreateInfo subpassShadingComputePipelineCreateInfo = {
+-- >   VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, NULL,
+-- >   0, &subpassShadingPipelineCreateInfo,
+-- >   pipelineLayout, basePipelineHandle, basePipelineIndex
+-- > };
+-- >
+-- > VKPipeline pipeline;
+-- >
+-- > vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderPass, &maxWorkgroupSize);
+-- > vkCreateComputePipelines(device, pipelineCache, 1, &subpassShadingComputePipelineCreateInfo, NULL, &pipeline);
+--
+-- == Version History
+--
+-- -   Revision 2, 2021-06-28 (Hueilong Wang)
+--
+--     -   Change vkGetSubpassShadingMaxWorkgroupSizeHUAWEI to
+--         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI to resolve issue
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/1564 pub1564>
+--
+-- -   Revision 1, 2020-12-15 (Hueilong Wang)
+--
+--     -   Initial draft.
+--
+-- = See Also
+--
+-- 'PhysicalDeviceSubpassShadingFeaturesHUAWEI',
+-- 'PhysicalDeviceSubpassShadingPropertiesHUAWEI',
+-- 'SubpassShadingPipelineCreateInfoHUAWEI', 'cmdSubpassShadingHUAWEI',
+-- 'getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_subpass_shading Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_HUAWEI_subpass_shading  ( getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
+                                                    , cmdSubpassShadingHUAWEI
+                                                    , SubpassShadingPipelineCreateInfoHUAWEI(..)
+                                                    , PhysicalDeviceSubpassShadingPropertiesHUAWEI(..)
+                                                    , PhysicalDeviceSubpassShadingFeaturesHUAWEI(..)
+                                                    , HUAWEI_SUBPASS_SHADING_SPEC_VERSION
+                                                    , pattern HUAWEI_SUBPASS_SHADING_SPEC_VERSION
+                                                    , HUAWEI_SUBPASS_SHADING_EXTENSION_NAME
+                                                    , pattern HUAWEI_SUBPASS_SHADING_EXTENSION_NAME
+                                                    , PipelineStageFlagBits2KHR(..)
+                                                    , PipelineStageFlags2KHR
+                                                    , Flags64
+                                                    ) where
+
+import Vulkan.Internal.Utils (traceAroundEvent)
+import Control.Monad (unless)
+import Control.Monad.IO.Class (liftIO)
+import Foreign.Marshal.Alloc (allocaBytes)
+import GHC.Base (when)
+import GHC.IO (throwIO)
+import GHC.Ptr (nullFunPtr)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Control.Monad.Trans.Class (lift)
+import Control.Monad.Trans.Cont (evalContT)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Control.Monad.IO.Class (MonadIO)
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import GHC.IO.Exception (IOErrorType(..))
+import GHC.IO.Exception (IOException(..))
+import Foreign.Ptr (FunPtr)
+import Foreign.Ptr (Ptr)
+import Data.Word (Word32)
+import Data.Kind (Type)
+import Control.Monad.Trans.Cont (ContT(..))
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.NamedType ((:::))
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Handles (CommandBuffer)
+import Vulkan.Core10.Handles (CommandBuffer(..))
+import Vulkan.Core10.Handles (CommandBuffer_T)
+import Vulkan.Core10.Handles (Device)
+import Vulkan.Core10.Handles (Device(..))
+import Vulkan.Dynamic (DeviceCmds(pVkCmdSubpassShadingHUAWEI))
+import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI))
+import Vulkan.Core10.Handles (Device_T)
+import Vulkan.Core10.FundamentalTypes (Extent2D)
+import Vulkan.Core10.Handles (RenderPass)
+import Vulkan.Core10.Handles (RenderPass(..))
+import Vulkan.Core10.Enums.Result (Result)
+import Vulkan.Core10.Enums.Result (Result(..))
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Exception (VulkanException(..))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI))
+import Vulkan.Core10.Enums.Result (Result(SUCCESS))
+import Vulkan.Core10.FundamentalTypes (Flags64)
+import Vulkan.Extensions.VK_KHR_synchronization2 (PipelineStageFlagBits2KHR(..))
+import Vulkan.Extensions.VK_KHR_synchronization2 (PipelineStageFlags2KHR)
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI
+  :: FunPtr (Ptr Device_T -> RenderPass -> Ptr Extent2D -> IO Result) -> Ptr Device_T -> RenderPass -> Ptr Extent2D -> IO Result
+
+-- | vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI - Query maximum
+-- supported subpass shading workgroup size for a give render pass
+--
+-- == Return Codes
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]
+--
+--     -   'Vulkan.Core10.Enums.Result.SUCCESS'
+--
+--     -   'Vulkan.Core10.Enums.Result.INCOMPLETE'
+--
+-- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-errorcodes Failure>]
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_HOST_MEMORY'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY'
+--
+--     -   'Vulkan.Core10.Enums.Result.ERROR_SURFACE_LOST_KHR'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_subpass_shading VK_HUAWEI_subpass_shading>,
+-- 'Vulkan.Core10.Handles.Device',
+-- 'Vulkan.Core10.FundamentalTypes.Extent2D',
+-- 'Vulkan.Core10.Handles.RenderPass'
+getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI :: forall io
+                                               . (MonadIO io)
+                                              => -- | @device@ is a handle to a local device object that was used to create
+                                                 -- the given render pass.
+                                                 --
+                                                 -- #VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-device-parameter#
+                                                 -- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+                                                 Device
+                                              -> -- | #VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-renderpass-parameter#
+                                                 -- @renderpass@ /must/ be a valid 'Vulkan.Core10.Handles.RenderPass' handle
+                                                 --
+                                                 -- #VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-renderpass-parent#
+                                                 -- @renderpass@ /must/ have been created, allocated, or retrieved from
+                                                 -- @device@
+                                                 RenderPass
+                                              -> io (Result, ("maxWorkgroupSize" ::: Extent2D))
+getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI device renderpass = liftIO . evalContT $ do
+  let vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIPtr = pVkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI (deviceCmds (device :: Device))
+  lift $ unless (vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI is null" Nothing Nothing
+  let vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI' = mkVkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIPtr
+  pPMaxWorkgroupSize <- ContT (withZeroCStruct @Extent2D)
+  r <- lift $ traceAroundEvent "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" (vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI' (deviceHandle (device)) (renderpass) (pPMaxWorkgroupSize))
+  lift $ when (r < SUCCESS) (throwIO (VulkanException r))
+  pMaxWorkgroupSize <- lift $ peekCStruct @Extent2D pPMaxWorkgroupSize
+  pure $ (r, pMaxWorkgroupSize)
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdSubpassShadingHUAWEI
+  :: FunPtr (Ptr CommandBuffer_T -> IO ()) -> Ptr CommandBuffer_T -> IO ()
+
+-- | vkCmdSubpassShadingHUAWEI - Dispatch compute work items
+--
+-- = Description
+--
+-- When the command is executed, a global workgroup consisting of ceil
+-- (render area size \/ local workgroup size) local workgroups is
+-- assembled.
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-magFilter-04553# If a
+--     'Vulkan.Core10.Handles.Sampler' created with @magFilter@ or
+--     @minFilter@ equal to 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR' and
+--     @compareEnable@ equal to 'Vulkan.Core10.FundamentalTypes.FALSE' is
+--     used to sample a 'Vulkan.Core10.Handles.ImageView' as a result of
+--     this command, then the image view’s
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-mipmapMode-04770# If a
+--     'Vulkan.Core10.Handles.Sampler' created with @mipmapMode@ equal to
+--     'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_LINEAR'
+--     and @compareEnable@ equal to 'Vulkan.Core10.FundamentalTypes.FALSE'
+--     is used to sample a 'Vulkan.Core10.Handles.ImageView' as a result of
+--     this command, then the image view’s
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02691# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed using atomic
+--     operations as a result of this command, then the image view’s
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02692# If a
+--     'Vulkan.Core10.Handles.ImageView' is sampled with
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT' as a result
+--     of this command, then the image view’s
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-filterCubic-02694# Any
+--     'Vulkan.Core10.Handles.ImageView' being sampled with
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT' as a result
+--     of this command /must/ have a
+--     'Vulkan.Core10.Enums.ImageViewType.ImageViewType' and format that
+--     supports cubic filtering, as specified by
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT'::@filterCubic@
+--     returned by
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceImageFormatProperties2'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-filterCubicMinmax-02695# Any
+--     'Vulkan.Core10.Handles.ImageView' being sampled with
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT' with a
+--     reduction mode of either
+--     'Vulkan.Core12.Enums.SamplerReductionMode.SAMPLER_REDUCTION_MODE_MIN'
+--     or
+--     'Vulkan.Core12.Enums.SamplerReductionMode.SAMPLER_REDUCTION_MODE_MAX'
+--     as a result of this command /must/ have a
+--     'Vulkan.Core10.Enums.ImageViewType.ImageViewType' and format that
+--     supports cubic filtering together with minmax filtering, as
+--     specified by
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FilterCubicImageViewImageFormatPropertiesEXT'::@filterCubicMinmax@
+--     returned by
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceImageFormatProperties2'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-flags-02696# Any
+--     'Vulkan.Core10.Handles.Image' created with a
+--     'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ containing
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_CORNER_SAMPLED_BIT_NV'
+--     sampled as a result of this command /must/ only be sampled using a
+--     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
+--     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02697# For each set /n/ that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a descriptor set /must/
+--     have been bound to /n/ at the same pipeline bind point, with a
+--     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for set
+--     /n/, with the 'Vulkan.Core10.Handles.PipelineLayout' used to create
+--     the current 'Vulkan.Core10.Handles.Pipeline', as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
+--     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
+--     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
+--     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02699# Descriptors in each
+--     bound descriptor set, specified via
+--     'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets', /must/
+--     be valid if they are statically used by the
+--     'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point
+--     used by this command
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02700# A valid pipeline /must/
+--     be bound to the pipeline bind point used by this command
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-02701# If the
+--     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind
+--     point used by this command requires any dynamic state, that state
+--     /must/ have been set or inherited (if the
+--     @VK_NV_inherited_viewport_scissor@ extension is enabled) for
+--     @commandBuffer@, and done so after any previously bound pipeline
+--     with the corresponding state not specified as dynamic
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02859# There /must/ not have
+--     been any calls to dynamic state setting commands for any state not
+--     specified as dynamic in the 'Vulkan.Core10.Handles.Pipeline' object
+--     bound to the pipeline bind point used by this command, since that
+--     pipeline was bound
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02702# If the
+--     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind
+--     point used by this command accesses a
+--     'Vulkan.Core10.Handles.Sampler' object that uses unnormalized
+--     coordinates, that sampler /must/ not be used to sample from any
+--     'Vulkan.Core10.Handles.Image' with a
+--     'Vulkan.Core10.Handles.ImageView' of the type
+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_3D',
+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_CUBE',
+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_1D_ARRAY',
+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY' or
+--     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_CUBE_ARRAY', in
+--     any shader stage
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02703# If the
+--     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind
+--     point used by this command accesses a
+--     'Vulkan.Core10.Handles.Sampler' object that uses unnormalized
+--     coordinates, that sampler /must/ not be used with any of the SPIR-V
+--     @OpImageSample*@ or @OpImageSparseSample*@ instructions with
+--     @ImplicitLod@, @Dref@ or @Proj@ in their name, in any shader stage
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02704# If the
+--     'Vulkan.Core10.Handles.Pipeline' object bound to the pipeline bind
+--     point used by this command accesses a
+--     'Vulkan.Core10.Handles.Sampler' object that uses unnormalized
+--     coordinates, that sampler /must/ not be used with any of the SPIR-V
+--     @OpImageSample*@ or @OpImageSparseSample*@ instructions that
+--     includes a LOD bias or any offset values, in any shader stage
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02705# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+--     feature is not enabled, and if the 'Vulkan.Core10.Handles.Pipeline'
+--     object bound to the pipeline bind point used by this command
+--     accesses a uniform buffer, it /must/ not access values outside of
+--     the range of the buffer as specified in the descriptor set bound to
+--     the same pipeline bind point
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-02706# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess robust buffer access>
+--     feature is not enabled, and if the 'Vulkan.Core10.Handles.Pipeline'
+--     object bound to the pipeline bind point used by this command
+--     accesses a storage buffer, it /must/ not access values outside of
+--     the range of the buffer as specified in the descriptor set bound to
+--     the same pipeline bind point
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-02707# If
+--     @commandBuffer@ is an unprotected command buffer, any resource
+--     accessed by the 'Vulkan.Core10.Handles.Pipeline' object bound to the
+--     pipeline bind point used by this command /must/ not be a protected
+--     resource
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-04115# If a
+--     'Vulkan.Core10.Handles.ImageView' is accessed using @OpImageWrite@
+--     as a result of this command, then the @Type@ of the @Texel@ operand
+--     of that instruction /must/ have at least as many components as the
+--     image view’s format
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-04469# If a
+--     'Vulkan.Core10.Handles.BufferView' is accessed using @OpImageWrite@
+--     as a result of this command, then the @Type@ of the @Texel@ operand
+--     of that instruction /must/ have at least as many components as the
+--     buffer view’s format
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-SampledType-04470# If a
+--     'Vulkan.Core10.Handles.ImageView' with a
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-SampledType-04471# If a
+--     'Vulkan.Core10.Handles.ImageView' with a
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
+--     than 64-bit is accessed as a result of this command, the
+--     @SampledType@ of the @OpTypeImage@ operand of that instruction
+--     /must/ have a @Width@ of 32
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-SampledType-04472# If a
+--     'Vulkan.Core10.Handles.BufferView' with a
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-SampledType-04473# If a
+--     'Vulkan.Core10.Handles.BufferView' with a
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
+--     than 64-bit is accessed as a result of this command, the
+--     @SampledType@ of the @OpTypeImage@ operand of that instruction
+--     /must/ have a @Width@ of 32
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-sparseImageInt64Atomics-04474# If
+--     the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
+--     feature is not enabled, 'Vulkan.Core10.Handles.Image' objects
+--     created with the
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
+--     flag /must/ not be accessed by atomic instructions through an
+--     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
+--     command
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-sparseImageInt64Atomics-04475# If
+--     the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-sparseImageInt64Atomics sparseImageInt64Atomics>
+--     feature is not enabled, 'Vulkan.Core10.Handles.Buffer' objects
+--     created with the
+--     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_SPARSE_RESIDENCY_BIT'
+--     flag /must/ not be accessed by atomic instructions through an
+--     @OpTypeImage@ with a @SampledType@ with a @Width@ of 64 by this
+--     command
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-None-04931# This command must be
+--     called in a subpass with bind point
+--     VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI. No draw commands can
+--     be called in the same subpass. Only one vkCmdSubpassShadingHUAWEI
+--     command can be called in a subpass
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-recording#
+--     @commandBuffer@ /must/ be in the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#commandbuffers-lifecycle recording state>
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-cmdpool# The
+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics operations
+--
+-- -   #VUID-vkCmdSubpassShadingHUAWEI-renderpass# This command /must/ only
+--     be called inside of a render pass instance
+--
+-- == Host Synchronization
+--
+-- -   Host access to @commandBuffer@ /must/ be externally synchronized
+--
+-- -   Host access to the 'Vulkan.Core10.Handles.CommandPool' that
+--     @commandBuffer@ was allocated from /must/ be externally synchronized
+--
+-- == Command Properties
+--
+-- \'
+--
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
+-- | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkCommandBufferLevel Command Buffer Levels> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginRenderPass Render Pass Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> |
+-- +============================================================================================================================+========================================================================================================================+=======================================================================================================================+
+-- | Primary                                                                                                                    | Inside                                                                                                                 | Graphics                                                                                                              |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                       |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_subpass_shading VK_HUAWEI_subpass_shading>,
+-- 'Vulkan.Core10.Handles.CommandBuffer'
+cmdSubpassShadingHUAWEI :: forall io
+                         . (MonadIO io)
+                        => -- | @commandBuffer@ is the command buffer into which the command will be
+                           -- recorded.
+                           CommandBuffer
+                        -> io ()
+cmdSubpassShadingHUAWEI commandBuffer = liftIO $ do
+  let vkCmdSubpassShadingHUAWEIPtr = pVkCmdSubpassShadingHUAWEI (deviceCmds (commandBuffer :: CommandBuffer))
+  unless (vkCmdSubpassShadingHUAWEIPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSubpassShadingHUAWEI is null" Nothing Nothing
+  let vkCmdSubpassShadingHUAWEI' = mkVkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEIPtr
+  traceAroundEvent "vkCmdSubpassShadingHUAWEI" (vkCmdSubpassShadingHUAWEI' (commandBufferHandle (commandBuffer)))
+  pure $ ()
+
+
+-- | VkSubpassShadingPipelineCreateInfoHUAWEI - Structure specifying
+-- parameters of a newly created subpass shading pipeline
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_subpass_shading VK_HUAWEI_subpass_shading>,
+-- 'Vulkan.Core10.Handles.RenderPass',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data SubpassShadingPipelineCreateInfoHUAWEI = SubpassShadingPipelineCreateInfoHUAWEI
+  { -- | @renderPass@ is a handle to a render pass object describing the
+    -- environment in which the pipeline will be used; the pipeline /must/ only
+    -- be used with an instance of any render pass compatible with the one
+    -- provided. See
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-compatibility Render Pass Compatibility>
+    -- for more information.
+    renderPass :: RenderPass
+  , -- | @subpass@ is the index of the subpass in the render pass where this
+    -- pipeline will be used.
+    --
+    -- #VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-subpass-04946# @subpass@
+    -- /must/ be created with VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI
+    -- bind point
+    subpass :: Word32
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (SubpassShadingPipelineCreateInfoHUAWEI)
+#endif
+deriving instance Show SubpassShadingPipelineCreateInfoHUAWEI
+
+instance ToCStruct SubpassShadingPipelineCreateInfoHUAWEI where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p SubpassShadingPipelineCreateInfoHUAWEI{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr RenderPass)) (renderPass)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (subpass)
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr RenderPass)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct SubpassShadingPipelineCreateInfoHUAWEI where
+  peekCStruct p = do
+    renderPass <- peek @RenderPass ((p `plusPtr` 16 :: Ptr RenderPass))
+    subpass <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
+    pure $ SubpassShadingPipelineCreateInfoHUAWEI
+             renderPass subpass
+
+instance Storable SubpassShadingPipelineCreateInfoHUAWEI where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero SubpassShadingPipelineCreateInfoHUAWEI where
+  zero = SubpassShadingPipelineCreateInfoHUAWEI
+           zero
+           zero
+
+
+-- | VkPhysicalDeviceSubpassShadingPropertiesHUAWEI - Structure describing
+-- subpass shading properties supported by an implementation
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceSubpassShadingPropertiesHUAWEI' structure is
+-- included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',
+-- it is filled in with each corresponding implementation-dependent
+-- property.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_subpass_shading VK_HUAWEI_subpass_shading>,
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceSubpassShadingPropertiesHUAWEI = PhysicalDeviceSubpassShadingPropertiesHUAWEI
+  { -- | #limits-maxSubpassShadingWorkgroupSizeAspectRatio#
+    -- @maxSubpassShadingWorkgroupSizeAspectRatio@ indicates the maximum ratio
+    -- between the width and height of the portion of the subpass shading
+    -- shader workgroup size. @maxSubpassShadingWorkgroupSizeAspectRatio@
+    -- /must/ be a power-of-two value, and /must/ be less than or equal to
+    -- max(@WorkgroupSize.x@ \/ @WorkgroupSize.y@, @WorkgroupSize.y@ \/
+    -- @WorkgroupSize.x@).
+    maxSubpassShadingWorkgroupSizeAspectRatio :: Word32 }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceSubpassShadingPropertiesHUAWEI)
+#endif
+deriving instance Show PhysicalDeviceSubpassShadingPropertiesHUAWEI
+
+instance ToCStruct PhysicalDeviceSubpassShadingPropertiesHUAWEI where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceSubpassShadingPropertiesHUAWEI{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (maxSubpassShadingWorkgroupSizeAspectRatio)
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct PhysicalDeviceSubpassShadingPropertiesHUAWEI where
+  peekCStruct p = do
+    maxSubpassShadingWorkgroupSizeAspectRatio <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    pure $ PhysicalDeviceSubpassShadingPropertiesHUAWEI
+             maxSubpassShadingWorkgroupSizeAspectRatio
+
+instance Storable PhysicalDeviceSubpassShadingPropertiesHUAWEI where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceSubpassShadingPropertiesHUAWEI where
+  zero = PhysicalDeviceSubpassShadingPropertiesHUAWEI
+           zero
+
+
+-- | VkPhysicalDeviceSubpassShadingFeaturesHUAWEI - Structure describing
+-- whether subpass shading is enabled
+--
+-- = Members
+--
+-- If the 'PhysicalDeviceSubpassShadingFeaturesHUAWEI' structure is
+-- included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDeviceSubpassShadingFeaturesHUAWEI' /can/ also be
+-- used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to
+-- selectively enable these features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_subpass_shading VK_HUAWEI_subpass_shading>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceSubpassShadingFeaturesHUAWEI = PhysicalDeviceSubpassShadingFeaturesHUAWEI
+  { -- No documentation found for Nested "VkPhysicalDeviceSubpassShadingFeaturesHUAWEI" "subpassShading"
+    subpassShading :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceSubpassShadingFeaturesHUAWEI)
+#endif
+deriving instance Show PhysicalDeviceSubpassShadingFeaturesHUAWEI
+
+instance ToCStruct PhysicalDeviceSubpassShadingFeaturesHUAWEI where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceSubpassShadingFeaturesHUAWEI{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (subpassShading))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceSubpassShadingFeaturesHUAWEI where
+  peekCStruct p = do
+    subpassShading <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceSubpassShadingFeaturesHUAWEI
+             (bool32ToBool subpassShading)
+
+instance Storable PhysicalDeviceSubpassShadingFeaturesHUAWEI where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceSubpassShadingFeaturesHUAWEI where
+  zero = PhysicalDeviceSubpassShadingFeaturesHUAWEI
+           zero
+
+
+type HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2
+
+-- No documentation found for TopLevel "VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION"
+pattern HUAWEI_SUBPASS_SHADING_SPEC_VERSION :: forall a . Integral a => a
+pattern HUAWEI_SUBPASS_SHADING_SPEC_VERSION = 2
+
+
+type HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading"
+
+-- No documentation found for TopLevel "VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME"
+pattern HUAWEI_SUBPASS_SHADING_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern HUAWEI_SUBPASS_SHADING_EXTENSION_NAME = "VK_HUAWEI_subpass_shading"
+
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs-boot b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_HUAWEI_subpass_shading.hs-boot
@@ -0,0 +1,373 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_HUAWEI_subpass_shading - device extension
+--
+-- == VK_HUAWEI_subpass_shading
+--
+-- [__Name String__]
+--     @VK_HUAWEI_subpass_shading@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     370
+--
+-- [__Revision__]
+--     2
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_create_renderpass2@
+--
+--     -   Requires @VK_KHR_synchronization2@
+--
+-- [__Contact__]
+--
+--     -   Hueilong Wang
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_HUAWEI_subpass_shading] @wyvernathuawei%0A<<Here describe the issue or question you have about the VK_HUAWEI_subpass_shading extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-06-01
+--
+-- [__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>.
+--
+-- [__Contributors__]
+--
+--     -   Hueilong Wang
+--
+-- == Description
+--
+-- This extension allows applications to execute a subpass shading pipeline
+-- in a subpass of a render pass in order to save memory bandwidth for
+-- algorithms like tile-based deferred rendering and forward plus. A
+-- subpass shading pipeline is a pipeline with the compute pipeline
+-- ability, allowed to read values from input attachments, and only allowed
+-- to be dispatched inside a stand-alone subpass. Its work dimension is
+-- defined by the render pass’s render area size. Its workgroup size
+-- (width, height) shall be a power-of-two number in width or height, with
+-- minimum value from 8, and maximum value shall be decided from the render
+-- pass attachments and sample counts but depends on implementation.
+--
+-- The @GlobalInvocationId.xy@ of a subpass shading pipeline is equal to
+-- the @FragCoord.xy@ of a graphic pipeline in the same render pass
+-- subtracted the <VkRect2D.html offset> of the
+-- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo'::@renderArea@.
+-- @GlobalInvocationId.z@ is mapped to the Layer if
+-- @VK_EXT_shader_viewport_index_layer@ is supported. The
+-- @GlobalInvocationId.xy@ is equal to the index of the local workgroup
+-- multiplied by the size of the local workgroup plus the
+-- @LocalInvocationId@ and the <VkRect2D.html offset> of the
+-- 'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo'::@renderArea@.
+--
+-- This extension allows a subpass’s pipeline bind point to be
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI'.
+--
+-- == New Commands
+--
+-- -   'cmdSubpassShadingHUAWEI'
+--
+-- -   'getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI'
+--
+-- == New Structures
+--
+-- -   Extending 'Vulkan.Core10.Pipeline.ComputePipelineCreateInfo':
+--
+--     -   'SubpassShadingPipelineCreateInfoHUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceSubpassShadingFeaturesHUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceSubpassShadingPropertiesHUAWEI'
+--
+-- == New Enum Constants
+--
+-- -   'HUAWEI_SUBPASS_SHADING_EXTENSION_NAME'
+--
+-- -   'HUAWEI_SUBPASS_SHADING_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint':
+--
+--     -   'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_synchronization2.PipelineStageFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_synchronization2.PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI'
+--
+-- == Sample Code
+--
+-- Example of subpass shading in a GLSL shader
+--
+-- > #extension GL_HUAWEI_subpass_shading: enable
+-- > #extension GL_KHR_shader_subgroup_arithmetic: enable
+-- >
+-- > layout(constant_id = 0) const uint tileWidth = 16;
+-- > layout(constant_id = 1) const uint tileHeight = 16;
+-- > layout(local_size_x_id = 0, local_size_y_id = 1, local_size_z = 1) in;
+-- > layout (set=0, binding=0, input_attachment_index=0) uniform subpassInput depth;
+-- >
+-- > void main()
+-- > {
+-- >   float d = subpassLoad(depth);
+-- >   float minD = subgroupMin(d);
+-- >   float maxD = subgroupMax(d);
+-- > }
+--
+-- Example of subpass shading dispatching in a subpass
+--
+-- > vkCmdNextSubpass(commandBuffer, VK_SUBPASS_CONTENTS_INLINE);
+-- > vkCmdBindPipeline(commandBuffer, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, subpassShadingPipeline);
+-- > vkCmdBindDescriptorSets(commandBuffer, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI, subpassShadingPipelineLayout,
+-- >   firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets);
+-- > vkCmdSubpassShadingHUAWEI(commandBuffer)
+-- > vkCmdEndRenderPass(commandBuffer);
+--
+-- Example of subpass shading render pass creation
+--
+-- > VkAttachmentDescription2 attachments[] = {
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_D24_UNORM_S8_UINT, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_DONT_CARE,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_ATTACHMENT_DESCRIPTION_2, NULL,
+-- >     0, VK_FORMAT_R8G8B8A8_UNORM, VK_SAMPLE_COUNT_1_BIT,
+-- >     VK_ATTACHMENT_LOAD_OP_CLEAR, VK_ATTACHMENT_STORE_OP_STORE,
+-- >     VK_ATTACHMENT_LOAD_OP_DONT_CARE, VK_ATTACHMENT_LOAD_OP_DONT_CARE,
+-- >     VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL
+-- >   }
+-- > };
+-- >
+-- > VkAttachmentReference2 gBufferAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 1, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
+-- > };
+-- > VkAttachmentReference2 gBufferDepthStencilAttachmentReferences =
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT };
+-- > VkAttachmentReference2 depthInputAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT };
+-- > };
+-- > VkAttachmentReference2 preserveAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 0, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 1, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 2, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT },
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 3, VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_DEPTH_BIT|VK_IMAGE_ASPECT_STENCIL_BIT }
+-- > }; // G buffer including depth/stencil
+-- > VkAttachmentReference2 colorAttachmentReferences[] = {
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 4, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT }
+-- > };
+-- > VkAttachmentReference2 resolveAttachmentReference =
+-- >   { VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2, NULL, 4, VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL, VK_IMAGE_ASPECT_COLOR_BIT };
+-- >
+-- > VkSubpassDescription2 subpasses[] = {
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_GRAPHICS, 0,
+-- >     0, NULL, // input
+-- >     sizeof(gBufferAttachmentReferences)/sizeof(gBufferAttachmentReferences[0]), gBufferAttachmentReferences, // color
+-- >     NULL, &gBufferDepthStencilAttachmentReferences, // resolve & DS
+-- >     0, NULL
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI , 0,
+-- >     sizeof(depthInputAttachmentReferences)/sizeof(depthInputAttachmentReferences[0]), depthInputAttachmentReferences, // input
+-- >     0, NULL, // color
+-- >     NULL, NULL, // resolve & DS
+-- >     sizeof(preserveAttachmentReferences)/sizeof(preserveAttachmentReferences[0]), preserveAttachmentReferences,
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_2, NULL, 0, VK_PIPELINE_BIND_POINT_GRAPHICS, 0,
+-- >     sizeof(gBufferAttachmentReferences)/sizeof(gBufferAttachmentReferences[0]), gBufferAttachmentReferences, // input
+-- >     sizeof(colorAttachmentReferences)/sizeof(colorAttachmentReferences[0]), colorAttachmentReferences, // color
+-- >     &resolveAttachmentReference, &gBufferDepthStencilAttachmentReferences, // resolve & DS
+-- >     0, NULL
+-- >   },
+-- > };
+-- >
+-- > VkMemoryBarrier2KHR fragmentToSubpassShading = {
+-- >   VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR, NULL,
+-- >   VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR, VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT|VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT,
+-- >   VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, VK_ACCESS_INPUT_ATTACHMENT_READ_BIT
+-- > };
+-- >
+-- > VkMemoryBarrier2KHR subpassShadingToFragment = {
+-- >   VK_STRUCTURE_TYPE_MEMORY_BARRIER_2_KHR, NULL,
+-- >   VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI, VK_ACCESS_SHADER_WRITE_BIT,
+-- >   VK_PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR, VK_ACCESS_SHADER_READ_BIT
+-- > };
+-- >
+-- > VkSubpassDependency2 dependencies[] = {
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, &fragmentToSubpassShading,
+-- >     0, 1,
+-- >     0, 0, 0, 0,
+-- >     0, 0
+-- >   },
+-- >   {
+-- >     VK_STRUCTURE_TYPE_SUBPASS_DEPENDENCY_2, &subpassShadingToFragment,
+-- >     1, 2,
+-- >     0, 0, 0, 0,
+-- >     0, 0
+-- >   },
+-- > };
+-- >
+-- > VkRenderPassCreateInfo2 renderPassCreateInfo = {
+-- >   VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO_2, NULL, 0,
+-- >     sizeof(attachments)/sizeof(attachments[0]), attachments,
+-- >     sizeof(subpasses)/sizeof(subpasses[0]), subpasses,
+-- >     sizeof(dependencies)/sizeof(dependencies[0]), dependencies,
+-- >     0, NULL
+-- > };
+-- > VKRenderPass renderPass;
+-- > vkCreateRenderPass2(device, &renderPassCreateInfo, NULL, &renderPass);
+--
+-- Example of subpass shading pipeline creation
+--
+-- > VkExtent2D maxWorkgroupSize;
+-- >
+-- > VkSpecializationMapEntry subpassShadingConstantMapEntries[] = {
+-- >   { 0, 0 * sizeof(uint32_t), sizeof(uint32_t) },
+-- >   { 1, 1 * sizeof(uint32_t), sizeof(uint32_t) }
+-- > };
+-- >
+-- > VkSpecializationInfo subpassShadingConstants = {
+-- >   2, subpassShadingConstantMapEntries,
+-- >   sizeof(VkExtent2D), &maxWorkgroupSize
+-- > };
+-- >
+-- > VkSubpassShadingPipelineCreateInfoHUAWEI subpassShadingPipelineCreateInfo {
+-- >   VK_STRUCTURE_TYPE_SUBPASSS_SHADING_PIPELINE_CREATE_INFO_HUAWEI, NULL,
+-- >   renderPass, 1
+-- > };
+-- >
+-- > VkPipelineShaderStageCreateInfo subpassShadingPipelineStageCreateInfo {
+-- >   VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_CREATE_INFO, NULL,
+-- >   0, VK_SHADER_STAGE_SUBPASS_SHADING_BIT_HUAWEI,
+-- >   shaderModule, "subpass shading example",
+-- >   &subpassShadingConstants
+-- > };
+-- >
+-- > VkComputePipelineCreateInfo subpassShadingComputePipelineCreateInfo = {
+-- >   VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_CREATE_INFO, NULL,
+-- >   0, &subpassShadingPipelineCreateInfo,
+-- >   pipelineLayout, basePipelineHandle, basePipelineIndex
+-- > };
+-- >
+-- > VKPipeline pipeline;
+-- >
+-- > vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(device, renderPass, &maxWorkgroupSize);
+-- > vkCreateComputePipelines(device, pipelineCache, 1, &subpassShadingComputePipelineCreateInfo, NULL, &pipeline);
+--
+-- == Version History
+--
+-- -   Revision 2, 2021-06-28 (Hueilong Wang)
+--
+--     -   Change vkGetSubpassShadingMaxWorkgroupSizeHUAWEI to
+--         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI to resolve issue
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/1564 pub1564>
+--
+-- -   Revision 1, 2020-12-15 (Hueilong Wang)
+--
+--     -   Initial draft.
+--
+-- = See Also
+--
+-- 'PhysicalDeviceSubpassShadingFeaturesHUAWEI',
+-- 'PhysicalDeviceSubpassShadingPropertiesHUAWEI',
+-- 'SubpassShadingPipelineCreateInfoHUAWEI', 'cmdSubpassShadingHUAWEI',
+-- 'getDeviceSubpassShadingMaxWorkgroupSizeHUAWEI'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_HUAWEI_subpass_shading Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_HUAWEI_subpass_shading  ( PhysicalDeviceSubpassShadingFeaturesHUAWEI
+                                                    , PhysicalDeviceSubpassShadingPropertiesHUAWEI
+                                                    , SubpassShadingPipelineCreateInfoHUAWEI
+                                                    ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceSubpassShadingFeaturesHUAWEI
+
+instance ToCStruct PhysicalDeviceSubpassShadingFeaturesHUAWEI
+instance Show PhysicalDeviceSubpassShadingFeaturesHUAWEI
+
+instance FromCStruct PhysicalDeviceSubpassShadingFeaturesHUAWEI
+
+
+data PhysicalDeviceSubpassShadingPropertiesHUAWEI
+
+instance ToCStruct PhysicalDeviceSubpassShadingPropertiesHUAWEI
+instance Show PhysicalDeviceSubpassShadingPropertiesHUAWEI
+
+instance FromCStruct PhysicalDeviceSubpassShadingPropertiesHUAWEI
+
+
+data SubpassShadingPipelineCreateInfoHUAWEI
+
+instance ToCStruct SubpassShadingPipelineCreateInfoHUAWEI
+instance Show SubpassShadingPipelineCreateInfoHUAWEI
+
+instance FromCStruct SubpassShadingPipelineCreateInfoHUAWEI
+
diff --git a/src/Vulkan/Extensions/VK_IMG_filter_cubic.hs b/src/Vulkan/Extensions/VK_IMG_filter_cubic.hs
--- a/src/Vulkan/Extensions/VK_IMG_filter_cubic.hs
+++ b/src/Vulkan/Extensions/VK_IMG_filter_cubic.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_IMG_filter_cubic:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_IMG_filter_cubic] @tobski%0A<<Here describe the issue or question you have about the VK_IMG_filter_cubic extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_INTEL_performance_query.hs b/src/Vulkan/Extensions/VK_INTEL_performance_query.hs
--- a/src/Vulkan/Extensions/VK_INTEL_performance_query.hs
+++ b/src/Vulkan/Extensions/VK_INTEL_performance_query.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Lionel Landwerlin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_INTEL_performance_query:%20&body=@llandwerlin%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_INTEL_performance_query] @llandwerlin%0A<<Here describe the issue or question you have about the VK_INTEL_performance_query extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -473,6 +473,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.Device', 'InitializePerformanceApiInfoINTEL'
 initializePerformanceApiINTEL :: forall io
                                . (MonadIO io)
@@ -513,6 +514,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.Device'
 uninitializePerformanceApiINTEL :: forall io
                                  . (MonadIO io)
@@ -597,6 +599,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'PerformanceMarkerInfoINTEL'
 cmdSetPerformanceMarkerINTEL :: forall io
                               . (MonadIO io)
@@ -676,6 +679,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'PerformanceStreamMarkerInfoINTEL'
 cmdSetPerformanceStreamMarkerINTEL :: forall io
@@ -763,6 +767,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'PerformanceOverrideInfoINTEL'
 cmdSetPerformanceOverrideINTEL :: forall io
                                 . (MonadIO io)
@@ -806,6 +811,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'PerformanceConfigurationAcquireInfoINTEL',
 -- 'Vulkan.Extensions.Handles.PerformanceConfigurationINTEL'
@@ -888,6 +894,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.Handles.PerformanceConfigurationINTEL'
 releasePerformanceConfigurationINTEL :: forall io
@@ -953,6 +960,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Extensions.Handles.PerformanceConfigurationINTEL',
 -- 'Vulkan.Core10.Handles.Queue'
 queueSetPerformanceConfigurationINTEL :: forall io
@@ -995,6 +1003,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Handles.Device', 'PerformanceParameterTypeINTEL',
 -- 'PerformanceValueINTEL'
 getPerformanceParameterINTEL :: forall io
@@ -1040,6 +1049,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'PerformanceValueDataINTEL', 'PerformanceValueTypeINTEL',
 -- 'getPerformanceParameterINTEL'
 data PerformanceValueINTEL = PerformanceValueINTEL
@@ -1089,6 +1099,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'initializePerformanceApiINTEL'
 data InitializePerformanceApiInfoINTEL = InitializePerformanceApiInfoINTEL
@@ -1147,6 +1158,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'QueryPoolSamplingModeINTEL',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data QueryPoolPerformanceQueryCreateInfoINTEL = QueryPoolPerformanceQueryCreateInfoINTEL
@@ -1201,6 +1213,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'cmdSetPerformanceMarkerINTEL'
 data PerformanceMarkerInfoINTEL = PerformanceMarkerInfoINTEL
@@ -1266,6 +1279,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'cmdSetPerformanceStreamMarkerINTEL'
 data PerformanceStreamMarkerInfoINTEL = PerformanceStreamMarkerInfoINTEL
@@ -1316,6 +1330,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'PerformanceOverrideTypeINTEL',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'cmdSetPerformanceOverrideINTEL'
@@ -1383,6 +1398,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'PerformanceConfigurationTypeINTEL',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'acquirePerformanceConfigurationINTEL'
@@ -1475,6 +1491,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'PerformanceConfigurationAcquireInfoINTEL'
 newtype PerformanceConfigurationTypeINTEL = PerformanceConfigurationTypeINTEL Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1514,6 +1531,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'QueryPoolPerformanceQueryCreateInfoINTEL'
 newtype QueryPoolSamplingModeINTEL = QueryPoolSamplingModeINTEL Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1552,6 +1570,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'PerformanceOverrideInfoINTEL'
 newtype PerformanceOverrideTypeINTEL = PerformanceOverrideTypeINTEL Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1596,6 +1615,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'getPerformanceParameterINTEL'
 newtype PerformanceParameterTypeINTEL = PerformanceParameterTypeINTEL Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1640,6 +1660,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_performance_query VK_INTEL_performance_query>,
 -- 'PerformanceValueINTEL'
 newtype PerformanceValueTypeINTEL = PerformanceValueTypeINTEL Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_INTEL_performance_query.hs-boot b/src/Vulkan/Extensions/VK_INTEL_performance_query.hs-boot
--- a/src/Vulkan/Extensions/VK_INTEL_performance_query.hs-boot
+++ b/src/Vulkan/Extensions/VK_INTEL_performance_query.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Lionel Landwerlin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_INTEL_performance_query:%20&body=@llandwerlin%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_INTEL_performance_query] @llandwerlin%0A<<Here describe the issue or question you have about the VK_INTEL_performance_query extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Ian Romanick
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_INTEL_shader_integer_functions2:%20&body=@ianromanick%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_INTEL_shader_integer_functions2] @ianromanick%0A<<Here describe the issue or question you have about the VK_INTEL_shader_integer_functions2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -147,6 +147,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_INTEL_shader_integer_functions2 VK_INTEL_shader_integer_functions2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Ian Romanick
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_INTEL_shader_integer_functions2:%20&body=@ianromanick%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_INTEL_shader_integer_functions2] @ianromanick%0A<<Here describe the issue or question you have about the VK_INTEL_shader_integer_functions2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_16bit_storage.hs b/src/Vulkan/Extensions/VK_KHR_16bit_storage.hs
--- a/src/Vulkan/Extensions/VK_KHR_16bit_storage.hs
+++ b/src/Vulkan/Extensions/VK_KHR_16bit_storage.hs
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Jan-Harald Fredriksen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_16bit_storage:%20&body=@janharaldfredriksen-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_16bit_storage] @janharaldfredriksen-arm%0A<<Here describe the issue or question you have about the VK_KHR_16bit_storage extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_8bit_storage.hs b/src/Vulkan/Extensions/VK_KHR_8bit_storage.hs
--- a/src/Vulkan/Extensions/VK_KHR_8bit_storage.hs
+++ b/src/Vulkan/Extensions/VK_KHR_8bit_storage.hs
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Alexander Galazin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_8bit_storage:%20&body=@alegal-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_8bit_storage] @alegal-arm%0A<<Here describe the issue or question you have about the VK_KHR_8bit_storage extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs
--- a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs
+++ b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs
@@ -15,7 +15,7 @@
 --     151
 --
 -- [__Revision__]
---     12
+--     13
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -30,12 +30,12 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_acceleration_structure:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_acceleration_structure] @dgkoch%0A<<Here describe the issue or question you have about the VK_KHR_acceleration_structure extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2020-11-12
+--     2021-09-30
 --
 -- [__Contributors__]
 --
@@ -351,6 +351,14 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'FormatFeatureFlagBits2KHR':
+--
+--     -   'FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR'
+--
 -- == Issues
 --
 -- (1) How does this extension differ from VK_NV_ray_tracing?
@@ -611,10 +619,8 @@
 -- -   change 'cmdBuildAccelerationStructuresIndirectKHR' to use buffer
 --     device address for indirect parameter
 --
--- -   make
---     <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---     an interaction instead of a required extension (later went back on
---     this)
+-- -   make @VK_KHR_deferred_host_operations@ an interaction instead of a
+--     required extension (later went back on this)
 --
 -- -   renamed @VkAccelerationStructureBuildOffsetInfoKHR@ to
 --     'AccelerationStructureBuildRangeInfoKHR'
@@ -671,14 +677,13 @@
 --         that the implementation can modify such parameters until the
 --         deferred host operation completes
 --
---     -   <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---         is required again
+--     -   @VK_KHR_deferred_host_operations@ is required again
 --
 -- -   Change acceleration structure build to always be sized
 --
 --     -   de-alias
 --         'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV'
---         and @VkAccelerationStructureMemoryRequirementsTypeKHR@ and
+--         and @VkAccelerationStructureMemoryRequirementsTypeKHR@, and
 --         remove @VkAccelerationStructureMemoryRequirementsTypeKHR@
 --
 --     -   add 'getAccelerationStructureBuildSizesKHR' command and
@@ -707,33 +712,30 @@
 --     implementation flexibility and decoupling ray query support from ray
 --     pipelines:
 --
---     -   <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         (for acceleration structure operations)
+--     -   @VK_KHR_acceleration_structure@ (for acceleration structure
+--         operations)
 --
---     -   <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         (for ray tracing pipeline and shader stages)
+--     -   @VK_KHR_ray_tracing_pipeline@ (for ray tracing pipeline and
+--         shader stages)
 --
---     -   <VK_KHR_ray_query.html VK_KHR_ray_query> (for ray queries in
---         existing shader stages)
+--     -   @VK_KHR_ray_query@ (for ray queries in existing shader stages)
 --
 -- -   clarify buffer usage flags for ray tracing
 --
 --     -   'Vulkan.Extensions.VK_NV_ray_tracing.BUFFER_USAGE_RAY_TRACING_BIT_NV'
---         is left alone in <VK_NV_ray_tracing.html VK_NV_ray_tracing>
---         (required on @scratch@ and @instanceData@)
+--         is left alone in @VK_NV_ray_tracing@ (required on @scratch@ and
+--         @instanceData@)
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR'
 --         is added as an alias of
 --         'Vulkan.Extensions.VK_NV_ray_tracing.BUFFER_USAGE_RAY_TRACING_BIT_NV'
---         in
---         <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         and is required on shader binding table buffers
+--         in @VK_KHR_ray_tracing_pipeline@ and is required on shader
+--         binding table buffers
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR'
---         is added in
---         <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         for all vertex, index, transform, aabb, and instance buffer data
---         referenced by device build commands
+--         is added in @VK_KHR_acceleration_structure@ for all vertex,
+--         index, transform, aabb, and instance buffer data referenced by
+--         device build commands
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_STORAGE_BUFFER_BIT'
 --         is used for @scratchData@
@@ -745,7 +747,8 @@
 --     constrain the device address
 --
 --     -   de-alias
---         'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV',
+--         'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV'
+--         and
 --         'Vulkan.Extensions.VK_NV_ray_tracing.bindAccelerationStructureMemoryNV',
 --         and remove @VkBindAccelerationStructureMemoryInfoKHR@,
 --         @VkAccelerationStructureMemoryRequirementsInfoKHR@, and
@@ -1091,6 +1094,10 @@
 --
 --     -   Clarify description and add note.
 --
+-- -   Revision 13, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
+--
 -- = See Also
 --
 -- 'AabbPositionsKHR', 'AccelerationStructureBuildGeometryInfoKHR',
@@ -1238,6 +1245,39 @@
                                                                                                , ACCELERATION_STRUCTURE_COMPATIBILITY_INCOMPATIBLE_KHR
                                                                                                , ..
                                                                                                )
+                                                        , FormatFeatureFlags2KHR
+                                                        , FormatFeatureFlagBits2KHR( FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_BLIT_DST_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
+                                                                                   , FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_DISJOINT_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
+                                                                                   , FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT
+                                                                                   , FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR
+                                                                                   , ..
+                                                                                   )
                                                         , KHR_ACCELERATION_STRUCTURE_SPEC_VERSION
                                                         , pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION
                                                         , KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME
@@ -1245,6 +1285,7 @@
                                                         , AccelerationStructureKHR(..)
                                                         , DeferredOperationKHR(..)
                                                         , DebugReportObjectTypeEXT(..)
+                                                        , Flags64
                                                         ) where
 
 import Vulkan.CStruct.Utils (FixedArray)
@@ -1365,6 +1406,7 @@
 import Vulkan.CStruct.Extends (Extendss)
 import Vulkan.CStruct.Extends (Extensible(..))
 import Vulkan.Core10.FundamentalTypes (Flags)
+import Vulkan.Core10.FundamentalTypes (Flags64)
 import Vulkan.Core10.Enums.Format (Format)
 import Vulkan.Core10.Enums.IndexType (IndexType)
 import Vulkan.CStruct.Extends (PeekChain)
@@ -1401,6 +1443,7 @@
 import Vulkan.Extensions.Handles (AccelerationStructureKHR(..))
 import Vulkan.Extensions.VK_EXT_debug_report (DebugReportObjectTypeEXT(..))
 import Vulkan.Extensions.Handles (DeferredOperationKHR(..))
+import Vulkan.Core10.FundamentalTypes (Flags64)
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
   unsafe
@@ -1454,6 +1497,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device'
@@ -1557,6 +1601,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'CopyAccelerationStructureInfoKHR'
 cmdCopyAccelerationStructureKHR :: forall io
@@ -1659,6 +1704,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'CopyAccelerationStructureInfoKHR',
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
@@ -1810,6 +1856,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'CopyAccelerationStructureToMemoryInfoKHR'
 cmdCopyAccelerationStructureToMemoryKHR :: forall io
@@ -1920,6 +1967,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'CopyAccelerationStructureToMemoryInfoKHR',
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
@@ -2043,6 +2091,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'CopyMemoryToAccelerationStructureInfoKHR'
 cmdCopyMemoryToAccelerationStructureKHR :: forall io
@@ -2149,6 +2198,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'CopyMemoryToAccelerationStructureInfoKHR',
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
@@ -2302,6 +2352,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Handles.QueryPool',
@@ -2453,6 +2504,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core10.Enums.QueryType.QueryType'
@@ -2521,6 +2573,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureCompatibilityKHR',
 -- 'AccelerationStructureVersionInfoKHR', 'Vulkan.Core10.Handles.Device'
 getDeviceAccelerationStructureCompatibilityKHR :: forall io
@@ -2624,6 +2677,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureCreateInfoKHR',
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
@@ -3230,6 +3284,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureBuildGeometryInfoKHR',
 -- 'AccelerationStructureBuildRangeInfoKHR',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
@@ -3858,6 +3913,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureBuildGeometryInfoKHR',
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress'
@@ -4353,6 +4409,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureBuildGeometryInfoKHR',
 -- 'AccelerationStructureBuildRangeInfoKHR',
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
@@ -4453,6 +4510,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureDeviceAddressInfoKHR',
 -- 'Vulkan.Core10.Handles.Device'
 getAccelerationStructureDeviceAddressKHR :: forall io
@@ -4601,6 +4659,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureBuildGeometryInfoKHR',
 -- 'AccelerationStructureBuildSizesInfoKHR',
 -- 'AccelerationStructureBuildTypeKHR', 'Vulkan.Core10.Handles.Device'
@@ -4681,6 +4740,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data WriteDescriptorSetAccelerationStructureKHR = WriteDescriptorSetAccelerationStructureKHR
@@ -4748,6 +4808,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceAccelerationStructureFeaturesKHR = PhysicalDeviceAccelerationStructureFeaturesKHR
@@ -4858,6 +4919,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceAccelerationStructurePropertiesKHR = PhysicalDeviceAccelerationStructurePropertiesKHR
   { -- | @maxGeometryCount@ is the maximum number of geometries in the bottom
@@ -5037,6 +5099,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureGeometryDataKHR', 'DeviceOrHostAddressConstKHR',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.Format.Format',
@@ -5063,8 +5126,9 @@
     -- for this geometry.
     indexData :: DeviceOrHostAddressConstKHR
   , -- | @transformData@ is a device or host address to memory containing an
-    -- optional reference to a 'TransformMatrixKHR' structure defining a
-    -- transformation that should be applied to vertices in this geometry.
+    -- optional reference to a 'TransformMatrixKHR' structure that describes a
+    -- transformation from the space in which the vertices in this geometry are
+    -- described to the space in which the acceleration structure is defined.
     transformData :: DeviceOrHostAddressConstKHR
   }
   deriving (Typeable)
@@ -5131,6 +5195,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureGeometryDataKHR', 'DeviceOrHostAddressConstKHR',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -5185,6 +5250,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureGeometryDataKHR',
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'DeviceOrHostAddressConstKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -5202,7 +5268,7 @@
     -- structures. Addresses and 'AccelerationStructureInstanceKHR' structures
     -- are tightly packed.
     -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceNV'
-    -- have a stride of 160 bytes.
+    -- structures have a stride of 160 bytes.
     data' :: DeviceOrHostAddressConstKHR
   }
   deriving (Typeable)
@@ -5269,6 +5335,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureBuildGeometryInfoKHR',
 -- 'AccelerationStructureGeometryDataKHR', 'GeometryFlagsKHR',
 -- 'GeometryTypeKHR', 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -5462,6 +5529,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureGeometryKHR',
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'AccelerationStructureTypeKHR', 'BuildAccelerationStructureFlagsKHR',
@@ -5571,8 +5639,10 @@
 --         is not @NULL@, a single 'TransformMatrixKHR' structure is
 --         consumed from
 --         'AccelerationStructureGeometryTrianglesDataKHR'::@transformData@,
---         at an offset of @transformOffset@. This transformation matrix is
---         used by all triangles.
+--         at an offset of @transformOffset@. This matrix describes a
+--         transformation from the space in which the vertices for all
+--         triangles in this geometry are described to the space in which
+--         the acceleration structure is defined.
 --
 -- -   For geometries of type 'GEOMETRY_TYPE_AABBS_KHR', @primitiveCount@
 --     is the number of axis-aligned bounding boxes. @primitiveCount@
@@ -5624,6 +5694,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'buildAccelerationStructuresKHR', 'cmdBuildAccelerationStructuresKHR'
 data AccelerationStructureBuildRangeInfoKHR = AccelerationStructureBuildRangeInfoKHR
   { -- | @primitiveCount@ defines the number of primitives for a corresponding
@@ -5713,10 +5784,14 @@
 -- and will add
 -- 'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT'
 -- to all buffers used as storage for an acceleration structure where
--- @deviceAddress@ is not zero. During capture the tool will save the
--- queried opaque device addresses in the trace. During replay, the buffers
--- will be created specifying the original address so any address values
--- stored in the trace data will remain valid.
+-- @deviceAddress@ is not zero. This also means that the tool will need to
+-- add
+-- 'Vulkan.Core11.Enums.MemoryAllocateFlagBits.MEMORY_ALLOCATE_DEVICE_ADDRESS_BIT'
+-- to memory allocations to allow the flag to be set where the application
+-- may not have otherwise required it. During capture the tool will save
+-- the queried opaque device addresses in the trace. During replay, the
+-- buffers will be created specifying the original address so any address
+-- values stored in the trace data will remain valid.
 --
 -- Implementations are expected to separate such buffers in the GPU address
 -- space so normal allocations will avoid using these addresses.
@@ -5807,6 +5882,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureCreateFlagsKHR', 'AccelerationStructureTypeKHR',
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',
@@ -5908,7 +5984,8 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>
 data AabbPositionsKHR = AabbPositionsKHR
   { -- | @minX@ is the x position of one opposing corner of a bounding box.
     --
@@ -5996,6 +6073,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureInstanceKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMatrixMotionInstanceNV'
 data TransformMatrixKHR = TransformMatrixKHR
@@ -6096,6 +6175,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceDataNV',
 -- 'GeometryInstanceFlagsKHR', 'TransformMatrixKHR'
 data AccelerationStructureInstanceKHR = AccelerationStructureInstanceKHR
@@ -6114,7 +6195,7 @@
     -- -   @mask@ occupies the 8 most significant bits of that memory
     instanceCustomIndex :: Word32
   , -- | @mask@ is an 8-bit visibility mask for the geometry. The instance /may/
-    -- only be hit if @rayMask & instance.mask != 0@
+    -- only be hit if @Cull Mask & instance.mask != 0@
     mask :: Word32
   , -- | @instanceShaderBindingTableRecordOffset@ is a 24-bit offset used in
     -- calculating the hit shader binding table index.
@@ -6204,6 +6285,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getAccelerationStructureDeviceAddressKHR'
@@ -6273,6 +6355,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getDeviceAccelerationStructureCompatibilityKHR'
 data AccelerationStructureVersionInfoKHR = AccelerationStructureVersionInfoKHR
@@ -6368,6 +6451,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'CopyAccelerationStructureModeKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -6464,6 +6548,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'CopyAccelerationStructureModeKHR', 'DeviceOrHostAddressKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -6552,6 +6637,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureKHR',
 -- 'CopyAccelerationStructureModeKHR', 'DeviceOrHostAddressConstKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -6606,6 +6692,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getAccelerationStructureBuildSizesKHR'
@@ -6741,6 +6828,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'GeometryInstanceFlagsKHR'
 newtype GeometryInstanceFlagBitsKHR = GeometryInstanceFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -6800,6 +6889,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'GeometryFlagsKHR'
 newtype GeometryFlagBitsKHR = GeometryFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -6855,6 +6946,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'BuildAccelerationStructureFlagsKHR'
 newtype BuildAccelerationStructureFlagBitsKHR = BuildAccelerationStructureFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -6924,6 +7017,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureCreateFlagsKHR'
 newtype AccelerationStructureCreateFlagBitsKHR = AccelerationStructureCreateFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -6966,6 +7060,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'CopyAccelerationStructureInfoKHR',
 -- 'CopyAccelerationStructureToMemoryInfoKHR',
 -- 'CopyMemoryToAccelerationStructureInfoKHR',
@@ -7035,6 +7131,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'AccelerationStructureBuildGeometryInfoKHR'
 newtype BuildAccelerationStructureModeKHR = BuildAccelerationStructureModeKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -7080,8 +7177,11 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureBuildGeometryInfoKHR',
--- 'AccelerationStructureCreateInfoKHR'
+-- 'AccelerationStructureCreateInfoKHR',
+-- 'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureInfoNV'
 newtype AccelerationStructureTypeKHR = AccelerationStructureTypeKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
 
@@ -7131,6 +7231,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureGeometryKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.GeometryNV'
 newtype GeometryTypeKHR = GeometryTypeKHR Int32
@@ -7177,6 +7279,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'getAccelerationStructureBuildSizesKHR'
 newtype AccelerationStructureBuildTypeKHR = AccelerationStructureBuildTypeKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -7227,6 +7330,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_acceleration_structure VK_KHR_acceleration_structure>,
 -- 'getDeviceAccelerationStructureCompatibilityKHR'
 newtype AccelerationStructureCompatibilityKHR = AccelerationStructureCompatibilityKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -7268,11 +7372,507 @@
                           AccelerationStructureCompatibilityKHR
 
 
-type KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 12
+type FormatFeatureFlags2KHR = FormatFeatureFlagBits2KHR
 
+-- | VkFormatFeatureFlagBits2KHR - Bitmask specifying features supported by a
+-- buffer
+--
+-- = Description
+--
+-- The following bits /may/ be set in @linearTilingFeatures@ and
+-- @optimalTilingFeatures@, specifying that the features are supported by
+-- <VkImage.html images> or <VkImageView.html image views> or
+-- <VkSamplerYcbcrConversion.html sampler Y′CBCR conversion objects>
+-- created with the queried
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFormatProperties2'::@format@:
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR' specifies that an image
+--     view /can/ be
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sampledimage sampled from>.
+--
+-- -   'FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR' specifies that an image
+--     view /can/ be used as a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage storage image>.
+--
+-- -   'FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR' specifies that an
+--     image view /can/ be used as storage image that supports atomic
+--     operations.
+--
+-- -   'FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR' specifies that an image
+--     view /can/ be used as a framebuffer color attachment and as an input
+--     attachment.
+--
+-- -   'FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR' specifies that an
+--     image view /can/ be used as a framebuffer color attachment that
+--     supports blending and as an input attachment.
+--
+-- -   'FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR' specifies that
+--     an image view /can/ be used as a framebuffer depth\/stencil
+--     attachment and as an input attachment.
+--
+-- -   'FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR' specifies that an image /can/ be
+--     used as @srcImage@ for the
+--     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
+--     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+--
+-- -   'FORMAT_FEATURE_2_BLIT_DST_BIT_KHR' specifies that an image /can/ be
+--     used as @dstImage@ for the
+--     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
+--     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR' specifies
+--     that if 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR' is also set, an
+--     image view /can/ be used with a sampler that has either of
+--     @magFilter@ or @minFilter@ set to
+--     'Vulkan.Core10.Enums.Filter.FILTER_LINEAR', or @mipmapMode@ set to
+--     'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_LINEAR'.
+--     If 'FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR' is also set, an image can be
+--     used as the @srcImage@ to
+--     'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
+--     'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@
+--     of 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only
+--     be exposed for formats that also support the
+--     'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR' or
+--     'FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR'.
+--
+--     If the format being queried is a depth\/stencil format, this bit
+--     only specifies that the depth aspect (not the stencil aspect) of an
+--     image of this format supports linear filtering. Where depth
+--     comparison is supported it /may/ be linear filtered whether this bit
+--     is present or not, but where this bit is not present the filtered
+--     value /may/ be computed in an implementation-dependent manner which
+--     differs from the normal rules of linear filtering. The resulting
+--     value /must/ be in the range [0,1] and /should/ be proportional to,
+--     or a weighted average of, the number of comparison passes or
+--     failures.
+--
+-- -   'FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR' specifies that an image
+--     /can/ be used as a source image for
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies copy commands>.
+--
+-- -   'FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR' specifies that an image
+--     /can/ be used as a destination image for
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies copy commands>
+--     and
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears clear commands>.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR' specifies
+--     'Vulkan.Core10.Handles.Image' /can/ be used as a sampled image with
+--     a min or max
+--     'Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode'.
+--     This bit /must/ only be exposed for formats that also support the
+--     'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR'.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT' specifies that
+--     'Vulkan.Core10.Handles.Image' /can/ be used with a sampler that has
+--     either of @magFilter@ or @minFilter@ set to
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT', or be the
+--     source image for a blit with @filter@ set to
+--     'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT'. This bit
+--     /must/ only be exposed for formats that also support the
+--     'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR'. If the format being
+--     queried is a depth\/stencil format, this only specifies that the
+--     depth aspect is cubic filterable.
+--
+-- -   'FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR' specifies that an
+--     application /can/ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+--     using this format as a source, and that an image of this format
+--     /can/ be used with a
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
+--     @xChromaOffset@ and\/or @yChromaOffset@ of
+--     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT'.
+--     Otherwise both @xChromaOffset@ and @yChromaOffset@ /must/ be
+--     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN'.
+--     If a format does not incorporate chroma downsampling (it is not a
+--     “422” or “420” format) but the implementation supports sampler
+--     Y′CBCR conversion for this format, the implementation /must/ set
+--     'FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR'.
+--
+-- -   'FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR' specifies that an
+--     application /can/ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+--     using this format as a source, and that an image of this format
+--     /can/ be used with a
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
+--     @xChromaOffset@ and\/or @yChromaOffset@ of
+--     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN'.
+--     Otherwise both @xChromaOffset@ and @yChromaOffset@ /must/ be
+--     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT'. If
+--     neither 'FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR' nor
+--     'FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR' is set, the
+--     application /must/ not define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+--     using this format as a source.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR'
+--     specifies that an application /can/ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+--     using this format as a source with @chromaFilter@ set to
+--     'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR'
+--     specifies that the format can have different chroma, min, and mag
+--     filters.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR'
+--     specifies that reconstruction is explicit, as described in
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction>.
+--     If this bit is not present, reconstruction is implicit by default.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR'
+--     specifies that reconstruction /can/ be forcibly made explicit by
+--     setting
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'::@forceExplicitReconstruction@
+--     to 'Vulkan.Core10.FundamentalTypes.TRUE'. If the format being
+--     queried supports
+--     'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR'
+--     it /must/ also support
+--     'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR'.
+--
+-- -   'FORMAT_FEATURE_2_DISJOINT_BIT_KHR' specifies that a multi-planar
+--     image /can/ have the
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
+--     set during image creation. An implementation /must/ not set
+--     'FORMAT_FEATURE_2_DISJOINT_BIT_KHR' for /single-plane formats/.
+--
+-- -   'FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT' specifies that an
+--     image view /can/ be used as a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-fragmentdensitymapattachment fragment density map attachment>.
+--
+-- -   'FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--     specifies that an image view /can/ be used as a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-fragment-shading-rate-attachment fragment shading rate attachment>.
+--     An implementation /must/ not set this feature for formats with
+--     numeric type other than @*UINT@, or set it as a buffer feature.
+--
+-- -   'FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR' specifies
+--     that image views created with this format /can/ be used as
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage storage images>
+--     for read operations without specifying a format.
+--
+-- -   'FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR' specifies
+--     that image views created with this format /can/ be used as
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage storage images>
+--     for write operations without specifying a format.
+--
+-- -   'FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR' specifies
+--     that image views created with this format /can/ be used for depth
+--     comparison performed by @OpImage*Dref@ instructions.
+--
+-- The following bits /may/ be set in @bufferFeatures@, specifying that the
+-- features are supported by <VkBuffer.html buffers> or
+-- <VkBufferView.html buffer views> created with the queried
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFormatProperties2'::@format@:
+--
+-- -   'FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR' specifies that the
+--     format /can/ be used to create a buffer view that /can/ be bound to
+--     a
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'
+--     descriptor.
+--
+-- -   'FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR' specifies that the
+--     format /can/ be used to create a buffer view that /can/ be bound to
+--     a
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'
+--     descriptor.
+--
+-- -   'FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR' specifies
+--     that atomic operations are supported on
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'
+--     with this format.
+--
+-- -   'FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR' specifies that the format
+--     /can/ be used as a vertex attribute format
+--     ('Vulkan.Core10.Pipeline.VertexInputAttributeDescription'::@format@).
+--
+-- -   'FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR'
+--     specifies that the format /can/ be used as the vertex format when
+--     creating an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure acceleration structure>
+--     ('AccelerationStructureGeometryTrianglesDataKHR'::@vertexFormat@).
+--     This format /can/ also be used as the vertex format in host memory
+--     when doing
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#host-acceleration-structure host acceleration structure>
+--     builds.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+newtype FormatFeatureFlagBits2KHR = FormatFeatureFlagBits2KHR Flags64
+  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
+
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR' specifies that an image view
+-- /can/ be
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-sampledimage sampled from>.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR               = FormatFeatureFlagBits2KHR 0x0000000000000001
+-- | 'FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR' specifies that an image view
+-- /can/ be used as a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage storage image>.
+pattern FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR               = FormatFeatureFlagBits2KHR 0x0000000000000002
+-- | 'FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR' specifies that an image
+-- view /can/ be used as storage image that supports atomic operations.
+pattern FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR        = FormatFeatureFlagBits2KHR 0x0000000000000004
+-- | 'FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR' specifies that the
+-- format /can/ be used to create a buffer view that /can/ be bound to a
+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'
+-- descriptor.
+pattern FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR        = FormatFeatureFlagBits2KHR 0x0000000000000008
+-- | 'FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR' specifies that the
+-- format /can/ be used to create a buffer view that /can/ be bound to a
+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'
+-- descriptor.
+pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR        = FormatFeatureFlagBits2KHR 0x0000000000000010
+-- | 'FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR' specifies that
+-- atomic operations are supported on
+-- 'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER'
+-- with this format.
+pattern FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR = FormatFeatureFlagBits2KHR 0x0000000000000020
+-- | 'FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR' specifies that the format /can/
+-- be used as a vertex attribute format
+-- ('Vulkan.Core10.Pipeline.VertexInputAttributeDescription'::@format@).
+pattern FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR               = FormatFeatureFlagBits2KHR 0x0000000000000040
+-- | 'FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR' specifies that an image view
+-- /can/ be used as a framebuffer color attachment and as an input
+-- attachment.
+pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR            = FormatFeatureFlagBits2KHR 0x0000000000000080
+-- | 'FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR' specifies that an
+-- image view /can/ be used as a framebuffer color attachment that supports
+-- blending and as an input attachment.
+pattern FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR      = FormatFeatureFlagBits2KHR 0x0000000000000100
+-- | 'FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR' specifies that an
+-- image view /can/ be used as a framebuffer depth\/stencil attachment and
+-- as an input attachment.
+pattern FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR    = FormatFeatureFlagBits2KHR 0x0000000000000200
+-- | 'FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR' specifies that an image /can/ be
+-- used as @srcImage@ for the
+-- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+pattern FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR                    = FormatFeatureFlagBits2KHR 0x0000000000000400
+-- | 'FORMAT_FEATURE_2_BLIT_DST_BIT_KHR' specifies that an image /can/ be
+-- used as @dstImage@ for the
+-- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' commands.
+pattern FORMAT_FEATURE_2_BLIT_DST_BIT_KHR                    = FormatFeatureFlagBits2KHR 0x0000000000000800
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR' specifies that if
+-- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR' is also set, an image view
+-- /can/ be used with a sampler that has either of @magFilter@ or
+-- @minFilter@ set to 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR', or
+-- @mipmapMode@ set to
+-- 'Vulkan.Core10.Enums.SamplerMipmapMode.SAMPLER_MIPMAP_MODE_LINEAR'. If
+-- 'FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR' is also set, an image can be used as
+-- the @srcImage@ to
+-- 'Vulkan.Extensions.VK_KHR_copy_commands2.cmdBlitImage2KHR' and
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBlitImage' with a @filter@ of
+-- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'. This bit /must/ only be
+-- exposed for formats that also support the
+-- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR' or
+-- 'FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR'.
+--
+-- If the format being queried is a depth\/stencil format, this bit only
+-- specifies that the depth aspect (not the stencil aspect) of an image of
+-- this format supports linear filtering. Where depth comparison is
+-- supported it /may/ be linear filtered whether this bit is present or
+-- not, but where this bit is not present the filtered value /may/ be
+-- computed in an implementation-dependent manner which differs from the
+-- normal rules of linear filtering. The resulting value /must/ be in the
+-- range [0,1] and /should/ be proportional to, or a weighted average of,
+-- the number of comparison passes or failures.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR = FormatFeatureFlagBits2KHR 0x0000000000001000
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT' specifies that
+-- 'Vulkan.Core10.Handles.Image' /can/ be used with a sampler that has
+-- either of @magFilter@ or @minFilter@ set to
+-- 'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT', or be the
+-- source image for a blit with @filter@ set to
+-- 'Vulkan.Extensions.VK_EXT_filter_cubic.FILTER_CUBIC_EXT'. This bit
+-- /must/ only be exposed for formats that also support the
+-- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR'. If the format being queried is
+-- a depth\/stencil format, this only specifies that the depth aspect is
+-- cubic filterable.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT  = FormatFeatureFlagBits2KHR 0x0000000000002000
+-- | 'FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR' specifies that an image /can/ be
+-- used as a source image for
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies copy commands>.
+pattern FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR                = FormatFeatureFlagBits2KHR 0x0000000000004000
+-- | 'FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR' specifies that an image /can/ be
+-- used as a destination image for
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#copies copy commands>
+-- and
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#clears clear commands>.
+pattern FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR                = FormatFeatureFlagBits2KHR 0x0000000000008000
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR' specifies
+-- 'Vulkan.Core10.Handles.Image' /can/ be used as a sampled image with a
+-- min or max
+-- 'Vulkan.Core12.Enums.SamplerReductionMode.SamplerReductionMode'. This
+-- bit /must/ only be exposed for formats that also support the
+-- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR'.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR = FormatFeatureFlagBits2KHR 0x0000000000010000
+-- | 'FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR' specifies that an
+-- application /can/ define a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+-- using this format as a source, and that an image of this format /can/ be
+-- used with a
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
+-- @xChromaOffset@ and\/or @yChromaOffset@ of
+-- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT'. Otherwise
+-- both @xChromaOffset@ and @yChromaOffset@ /must/ be
+-- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN'. If a
+-- format does not incorporate chroma downsampling (it is not a “422” or
+-- “420” format) but the implementation supports sampler Y′CBCR conversion
+-- for this format, the implementation /must/ set
+-- 'FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR'.
+pattern FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR     = FormatFeatureFlagBits2KHR 0x0000000000020000
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR'
+-- specifies that an application /can/ define a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+-- using this format as a source with @chromaFilter@ set to
+-- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR =
+  FormatFeatureFlagBits2KHR 0x0000000000040000
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR'
+-- specifies that the format can have different chroma, min, and mag
+-- filters.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR =
+  FormatFeatureFlagBits2KHR 0x0000000000080000
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR'
+-- specifies that reconstruction is explicit, as described in
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction>.
+-- If this bit is not present, reconstruction is implicit by default.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR =
+  FormatFeatureFlagBits2KHR 0x0000000000100000
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR'
+-- specifies that reconstruction /can/ be forcibly made explicit by setting
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'::@forceExplicitReconstruction@
+-- to 'Vulkan.Core10.FundamentalTypes.TRUE'. If the format being queried
+-- supports
+-- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR'
+-- it /must/ also support
+-- 'FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR'.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR =
+  FormatFeatureFlagBits2KHR 0x0000000000200000
+-- | 'FORMAT_FEATURE_2_DISJOINT_BIT_KHR' specifies that a multi-planar image
+-- /can/ have the
+-- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' set
+-- during image creation. An implementation /must/ not set
+-- 'FORMAT_FEATURE_2_DISJOINT_BIT_KHR' for /single-plane formats/.
+pattern FORMAT_FEATURE_2_DISJOINT_BIT_KHR                             = FormatFeatureFlagBits2KHR 0x0000000000400000
+-- | 'FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR' specifies that an
+-- application /can/ define a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+-- using this format as a source, and that an image of this format /can/ be
+-- used with a
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionCreateInfo'
+-- @xChromaOffset@ and\/or @yChromaOffset@ of
+-- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN'.
+-- Otherwise both @xChromaOffset@ and @yChromaOffset@ /must/ be
+-- 'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT'. If
+-- neither 'FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR' nor
+-- 'FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR' is set, the
+-- application /must/ not define a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+-- using this format as a source.
+pattern FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR               = FormatFeatureFlagBits2KHR 0x0000000000800000
+-- | 'FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR' specifies that
+-- image views created with this format /can/ be used as
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage storage images>
+-- for read operations without specifying a format.
+pattern FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR          = FormatFeatureFlagBits2KHR 0x0000000080000000
+-- | 'FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR' specifies that
+-- image views created with this format /can/ be used as
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-storageimage storage images>
+-- for write operations without specifying a format.
+pattern FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR         = FormatFeatureFlagBits2KHR 0x0000000100000000
+-- | 'FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR' specifies that
+-- image views created with this format /can/ be used for depth comparison
+-- performed by @OpImage*Dref@ instructions.
+pattern FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR       = FormatFeatureFlagBits2KHR 0x0000000200000000
+-- | 'FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR' specifies
+-- that an image view /can/ be used as a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-fragment-shading-rate-attachment fragment shading rate attachment>.
+-- An implementation /must/ not set this feature for formats with numeric
+-- type other than @*UINT@, or set it as a buffer feature.
+pattern FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR     = FormatFeatureFlagBits2KHR 0x0000000040000000
+-- | 'FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT' specifies that an image
+-- view /can/ be used as a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-fragmentdensitymapattachment fragment density map attachment>.
+pattern FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT                 = FormatFeatureFlagBits2KHR 0x0000000001000000
+-- | 'FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR'
+-- specifies that the format /can/ be used as the vertex format when
+-- creating an
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure acceleration structure>
+-- ('AccelerationStructureGeometryTrianglesDataKHR'::@vertexFormat@). This
+-- format /can/ also be used as the vertex format in host memory when doing
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#host-acceleration-structure host acceleration structure>
+-- builds.
+pattern FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR = FormatFeatureFlagBits2KHR 0x0000000020000000
+
+conNameFormatFeatureFlagBits2KHR :: String
+conNameFormatFeatureFlagBits2KHR = "FormatFeatureFlagBits2KHR"
+
+enumPrefixFormatFeatureFlagBits2KHR :: String
+enumPrefixFormatFeatureFlagBits2KHR = "FORMAT_FEATURE_2_"
+
+showTableFormatFeatureFlagBits2KHR :: [(FormatFeatureFlagBits2KHR, String)]
+showTableFormatFeatureFlagBits2KHR =
+  [ (FORMAT_FEATURE_2_SAMPLED_IMAGE_BIT_KHR              , "SAMPLED_IMAGE_BIT_KHR")
+  , (FORMAT_FEATURE_2_STORAGE_IMAGE_BIT_KHR              , "STORAGE_IMAGE_BIT_KHR")
+  , (FORMAT_FEATURE_2_STORAGE_IMAGE_ATOMIC_BIT_KHR       , "STORAGE_IMAGE_ATOMIC_BIT_KHR")
+  , (FORMAT_FEATURE_2_UNIFORM_TEXEL_BUFFER_BIT_KHR       , "UNIFORM_TEXEL_BUFFER_BIT_KHR")
+  , (FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_BIT_KHR       , "STORAGE_TEXEL_BUFFER_BIT_KHR")
+  , (FORMAT_FEATURE_2_STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR, "STORAGE_TEXEL_BUFFER_ATOMIC_BIT_KHR")
+  , (FORMAT_FEATURE_2_VERTEX_BUFFER_BIT_KHR              , "VERTEX_BUFFER_BIT_KHR")
+  , (FORMAT_FEATURE_2_COLOR_ATTACHMENT_BIT_KHR           , "COLOR_ATTACHMENT_BIT_KHR")
+  , (FORMAT_FEATURE_2_COLOR_ATTACHMENT_BLEND_BIT_KHR     , "COLOR_ATTACHMENT_BLEND_BIT_KHR")
+  , (FORMAT_FEATURE_2_DEPTH_STENCIL_ATTACHMENT_BIT_KHR   , "DEPTH_STENCIL_ATTACHMENT_BIT_KHR")
+  , (FORMAT_FEATURE_2_BLIT_SRC_BIT_KHR                   , "BLIT_SRC_BIT_KHR")
+  , (FORMAT_FEATURE_2_BLIT_DST_BIT_KHR                   , "BLIT_DST_BIT_KHR")
+  , (FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR, "SAMPLED_IMAGE_FILTER_LINEAR_BIT_KHR")
+  , (FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT , "SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT")
+  , (FORMAT_FEATURE_2_TRANSFER_SRC_BIT_KHR               , "TRANSFER_SRC_BIT_KHR")
+  , (FORMAT_FEATURE_2_TRANSFER_DST_BIT_KHR               , "TRANSFER_DST_BIT_KHR")
+  , (FORMAT_FEATURE_2_SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR, "SAMPLED_IMAGE_FILTER_MINMAX_BIT_KHR")
+  , (FORMAT_FEATURE_2_MIDPOINT_CHROMA_SAMPLES_BIT_KHR    , "MIDPOINT_CHROMA_SAMPLES_BIT_KHR")
+  , ( FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR
+    , "SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT_KHR"
+    )
+  , ( FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR
+    , "SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT_KHR"
+    )
+  , ( FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR
+    , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_BIT_KHR"
+    )
+  , ( FORMAT_FEATURE_2_SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR
+    , "SAMPLED_IMAGE_YCBCR_CONVERSION_CHROMA_RECONSTRUCTION_EXPLICIT_FORCEABLE_BIT_KHR"
+    )
+  , (FORMAT_FEATURE_2_DISJOINT_BIT_KHR                            , "DISJOINT_BIT_KHR")
+  , (FORMAT_FEATURE_2_COSITED_CHROMA_SAMPLES_BIT_KHR              , "COSITED_CHROMA_SAMPLES_BIT_KHR")
+  , (FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR         , "STORAGE_READ_WITHOUT_FORMAT_BIT_KHR")
+  , (FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR        , "STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR")
+  , (FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR      , "SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR")
+  , (FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR    , "FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR")
+  , (FORMAT_FEATURE_2_FRAGMENT_DENSITY_MAP_BIT_EXT                , "FRAGMENT_DENSITY_MAP_BIT_EXT")
+  , (FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR, "ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR")
+  ]
+
+instance Show FormatFeatureFlagBits2KHR where
+  showsPrec = enumShowsPrec enumPrefixFormatFeatureFlagBits2KHR
+                            showTableFormatFeatureFlagBits2KHR
+                            conNameFormatFeatureFlagBits2KHR
+                            (\(FormatFeatureFlagBits2KHR x) -> x)
+                            (\x -> showString "0x" . showHex x)
+
+instance Read FormatFeatureFlagBits2KHR where
+  readPrec = enumReadPrec enumPrefixFormatFeatureFlagBits2KHR
+                          showTableFormatFeatureFlagBits2KHR
+                          conNameFormatFeatureFlagBits2KHR
+                          FormatFeatureFlagBits2KHR
+
+
+type KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13
+
 -- No documentation found for TopLevel "VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION"
 pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION :: forall a . Integral a => a
-pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 12
+pattern KHR_ACCELERATION_STRUCTURE_SPEC_VERSION = 13
 
 
 type KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR_acceleration_structure"
diff --git a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_acceleration_structure.hs-boot
@@ -15,7 +15,7 @@
 --     151
 --
 -- [__Revision__]
---     12
+--     13
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -30,12 +30,12 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_acceleration_structure:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_acceleration_structure] @dgkoch%0A<<Here describe the issue or question you have about the VK_KHR_acceleration_structure extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2020-11-12
+--     2021-09-30
 --
 -- [__Contributors__]
 --
@@ -351,6 +351,14 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_KHR'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending 'FormatFeatureFlagBits2KHR':
+--
+--     -   'FORMAT_FEATURE_2_ACCELERATION_STRUCTURE_VERTEX_BUFFER_BIT_KHR'
+--
 -- == Issues
 --
 -- (1) How does this extension differ from VK_NV_ray_tracing?
@@ -611,10 +619,8 @@
 -- -   change 'cmdBuildAccelerationStructuresIndirectKHR' to use buffer
 --     device address for indirect parameter
 --
--- -   make
---     <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---     an interaction instead of a required extension (later went back on
---     this)
+-- -   make @VK_KHR_deferred_host_operations@ an interaction instead of a
+--     required extension (later went back on this)
 --
 -- -   renamed @VkAccelerationStructureBuildOffsetInfoKHR@ to
 --     'AccelerationStructureBuildRangeInfoKHR'
@@ -671,14 +677,13 @@
 --         that the implementation can modify such parameters until the
 --         deferred host operation completes
 --
---     -   <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---         is required again
+--     -   @VK_KHR_deferred_host_operations@ is required again
 --
 -- -   Change acceleration structure build to always be sized
 --
 --     -   de-alias
 --         'Vulkan.Extensions.VK_NV_ray_tracing.AccelerationStructureMemoryRequirementsTypeNV'
---         and @VkAccelerationStructureMemoryRequirementsTypeKHR@ and
+--         and @VkAccelerationStructureMemoryRequirementsTypeKHR@, and
 --         remove @VkAccelerationStructureMemoryRequirementsTypeKHR@
 --
 --     -   add 'getAccelerationStructureBuildSizesKHR' command and
@@ -707,33 +712,30 @@
 --     implementation flexibility and decoupling ray query support from ray
 --     pipelines:
 --
---     -   <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         (for acceleration structure operations)
+--     -   @VK_KHR_acceleration_structure@ (for acceleration structure
+--         operations)
 --
---     -   <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         (for ray tracing pipeline and shader stages)
+--     -   @VK_KHR_ray_tracing_pipeline@ (for ray tracing pipeline and
+--         shader stages)
 --
---     -   <VK_KHR_ray_query.html VK_KHR_ray_query> (for ray queries in
---         existing shader stages)
+--     -   @VK_KHR_ray_query@ (for ray queries in existing shader stages)
 --
 -- -   clarify buffer usage flags for ray tracing
 --
 --     -   'Vulkan.Extensions.VK_NV_ray_tracing.BUFFER_USAGE_RAY_TRACING_BIT_NV'
---         is left alone in <VK_NV_ray_tracing.html VK_NV_ray_tracing>
---         (required on @scratch@ and @instanceData@)
+--         is left alone in @VK_NV_ray_tracing@ (required on @scratch@ and
+--         @instanceData@)
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SHADER_BINDING_TABLE_BIT_KHR'
 --         is added as an alias of
 --         'Vulkan.Extensions.VK_NV_ray_tracing.BUFFER_USAGE_RAY_TRACING_BIT_NV'
---         in
---         <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         and is required on shader binding table buffers
+--         in @VK_KHR_ray_tracing_pipeline@ and is required on shader
+--         binding table buffers
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_ACCELERATION_STRUCTURE_BUILD_INPUT_READ_ONLY_BIT_KHR'
---         is added in
---         <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         for all vertex, index, transform, aabb, and instance buffer data
---         referenced by device build commands
+--         is added in @VK_KHR_acceleration_structure@ for all vertex,
+--         index, transform, aabb, and instance buffer data referenced by
+--         device build commands
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_STORAGE_BUFFER_BIT'
 --         is used for @scratchData@
@@ -745,7 +747,8 @@
 --     constrain the device address
 --
 --     -   de-alias
---         'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV',
+--         'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV'
+--         and
 --         'Vulkan.Extensions.VK_NV_ray_tracing.bindAccelerationStructureMemoryNV',
 --         and remove @VkBindAccelerationStructureMemoryInfoKHR@,
 --         @VkAccelerationStructureMemoryRequirementsInfoKHR@, and
@@ -1090,6 +1093,10 @@
 --         as alias).
 --
 --     -   Clarify description and add note.
+--
+-- -   Revision 13, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
 --
 -- = See Also
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_android_surface.hs b/src/Vulkan/Extensions/VK_KHR_android_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_android_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_android_surface.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_android_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_android_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_android_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -298,6 +298,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_android_surface VK_KHR_android_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'AndroidSurfaceCreateInfoKHR', 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -336,6 +337,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_android_surface VK_KHR_android_surface>,
 -- 'AndroidSurfaceCreateFlagsKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createAndroidSurfaceKHR'
@@ -402,6 +404,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_android_surface VK_KHR_android_surface>,
 -- 'AndroidSurfaceCreateInfoKHR'
 newtype AndroidSurfaceCreateFlagsKHR = AndroidSurfaceCreateFlagsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_android_surface.hs-boot b/src/Vulkan/Extensions/VK_KHR_android_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_android_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_android_surface.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_android_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_android_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_android_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_bind_memory2.hs b/src/Vulkan/Extensions/VK_KHR_bind_memory2.hs
--- a/src/Vulkan/Extensions/VK_KHR_bind_memory2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_bind_memory2.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_bind_memory2:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_bind_memory2] @tobski%0A<<Here describe the issue or question you have about the VK_KHR_bind_memory2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs b/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs
--- a/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs
+++ b/src/Vulkan/Extensions/VK_KHR_buffer_device_address.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_buffer_device_address:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_buffer_device_address] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_buffer_device_address extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
--- a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_copy_commands2:%20&body=@jackohound%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_copy_commands2] @jackohound%0A<<Here describe the issue or question you have about the VK_KHR_copy_commands2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -328,6 +328,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'CopyBufferInfo2KHR'
 cmdCopyBuffer2KHR :: forall io
                    . (MonadIO io)
@@ -419,6 +420,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'CopyImageInfo2KHR'
 cmdCopyImage2KHR :: forall io
                   . (MonadIO io)
@@ -509,6 +511,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'BlitImageInfo2KHR', 'Vulkan.Core10.Handles.CommandBuffer'
 cmdBlitImage2KHR :: forall io
                   . (MonadIO io)
@@ -602,6 +605,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'CopyBufferToImageInfo2KHR'
 cmdCopyBufferToImage2KHR :: forall io
                           . (MonadIO io)
@@ -695,6 +699,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'CopyImageToBufferInfo2KHR'
 cmdCopyImageToBuffer2KHR :: forall io
                           . (MonadIO io)
@@ -785,6 +790,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'ResolveImageInfo2KHR'
 cmdResolveImage2KHR :: forall io
                      . (MonadIO io)
@@ -821,6 +827,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'CopyBufferInfo2KHR', 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data BufferCopy2KHR = BufferCopy2KHR
@@ -907,6 +914,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'CopyImageInfo2KHR', 'Vulkan.Core10.FundamentalTypes.Extent3D',
 -- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers',
 -- 'Vulkan.Core10.FundamentalTypes.Offset3D',
@@ -1021,6 +1029,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'BlitImageInfo2KHR',
 -- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers',
 -- 'Vulkan.Core10.FundamentalTypes.Offset3D',
@@ -1160,6 +1169,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'CopyBufferToImageInfo2KHR', 'CopyImageToBufferInfo2KHR',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D',
@@ -1288,6 +1298,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent3D',
 -- 'Vulkan.Core10.CommandBufferBuilding.ImageSubresourceLayers',
 -- 'Vulkan.Core10.FundamentalTypes.Offset3D', 'ResolveImageInfo2KHR',
@@ -1441,6 +1452,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.Buffer', 'BufferCopy2KHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'cmdCopyBuffer2KHR'
 data CopyBufferInfo2KHR = CopyBufferInfo2KHR
@@ -1851,6 +1863,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.Image', 'ImageCopy2KHR',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'cmdCopyImage2KHR'
@@ -1943,9 +1956,9 @@
 --     of @srcImage@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_BLIT_SRC_BIT'
 --
--- -   #VUID-VkBlitImageInfo2KHR-srcImage-01561# @srcImage@ /must/ not use
---     a format listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion ???>
+-- -   #VUID-VkBlitImageInfo2KHR-srcImage-06421# @srcImage@ /must/ not use
+--     a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion format that requires a sampler Y’CBCR conversion>
 --
 -- -   #VUID-VkBlitImageInfo2KHR-srcImage-00219# @srcImage@ /must/ have
 --     been created with
@@ -1972,9 +1985,9 @@
 --     of @dstImage@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_BLIT_DST_BIT'
 --
--- -   #VUID-VkBlitImageInfo2KHR-dstImage-01562# @dstImage@ /must/ not use
---     a format listed in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion ???>
+-- -   #VUID-VkBlitImageInfo2KHR-dstImage-06422# @dstImage@ /must/ not use
+--     a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion format that requires a sampler Y’CBCR conversion>
 --
 -- -   #VUID-VkBlitImageInfo2KHR-dstImage-00224# @dstImage@ /must/ have
 --     been created with
@@ -2186,6 +2199,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Enums.Filter.Filter', 'Vulkan.Core10.Handles.Image',
 -- 'ImageBlit2KHR', 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'cmdBlitImage2KHR'
@@ -2551,6 +2565,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.Buffer', 'BufferImageCopy2KHR',
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
@@ -2898,6 +2913,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.Buffer', 'BufferImageCopy2KHR',
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
@@ -3142,6 +3158,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>,
 -- 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout', 'ImageResolve2KHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'cmdResolveImage2KHR'
diff --git a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_copy_commands2:%20&body=@jackohound%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_copy_commands2] @jackohound%0A<<Here describe the issue or question you have about the VK_KHR_copy_commands2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_create_renderpass2.hs b/src/Vulkan/Extensions/VK_KHR_create_renderpass2.hs
--- a/src/Vulkan/Extensions/VK_KHR_create_renderpass2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_create_renderpass2.hs
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_create_renderpass2:%20&body=@tobias%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_create_renderpass2] @tobias%0A<<Here describe the issue or question you have about the VK_KHR_create_renderpass2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs b/src/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs
--- a/src/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs
+++ b/src/Vulkan/Extensions/VK_KHR_dedicated_allocation.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_dedicated_allocation:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_dedicated_allocation] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_dedicated_allocation extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_deferred_host_operations.hs b/src/Vulkan/Extensions/VK_KHR_deferred_host_operations.hs
--- a/src/Vulkan/Extensions/VK_KHR_deferred_host_operations.hs
+++ b/src/Vulkan/Extensions/VK_KHR_deferred_host_operations.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Josh Barczak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_deferred_host_operations:%20&body=@jbarczak%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_deferred_host_operations] @jbarczak%0A<<Here describe the issue or question you have about the VK_KHR_deferred_host_operations extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -59,14 +59,12 @@
 --
 -- == Description
 --
--- The
--- <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
--- extension defines the infrastructure and usage patterns for deferrable
--- commands, but does not specify any commands as deferrable. This is left
--- to additional dependent extensions. Commands /must/ not be deferred
--- unless the deferral is specifically allowed by another extension which
--- depends on
--- <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>.
+-- The @VK_KHR_deferred_host_operations@ extension defines the
+-- infrastructure and usage patterns for deferrable commands, but does not
+-- specify any commands as deferrable. This is left to additional dependent
+-- extensions. Commands /must/ not be deferred unless the deferral is
+-- specifically allowed by another extension which depends on
+-- @VK_KHR_deferred_host_operations@.
 --
 -- == New Object Types
 --
@@ -357,6 +355,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_deferred_host_operations VK_KHR_deferred_host_operations>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
@@ -445,6 +444,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_deferred_host_operations VK_KHR_deferred_host_operations>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
@@ -523,6 +523,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_deferred_host_operations VK_KHR_deferred_host_operations>,
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
 getDeferredOperationMaxConcurrencyKHR :: forall io
@@ -586,6 +587,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_deferred_host_operations VK_KHR_deferred_host_operations>,
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
 getDeferredOperationResultKHR :: forall io
@@ -696,6 +698,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_deferred_host_operations VK_KHR_deferred_host_operations>,
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device'
 deferredOperationJoinKHR :: forall io
diff --git a/src/Vulkan/Extensions/VK_KHR_depth_stencil_resolve.hs b/src/Vulkan/Extensions/VK_KHR_depth_stencil_resolve.hs
--- a/src/Vulkan/Extensions/VK_KHR_depth_stencil_resolve.hs
+++ b/src/Vulkan/Extensions/VK_KHR_depth_stencil_resolve.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jan-Harald Fredriksen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_depth_stencil_resolve:%20&body=@janharald%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_depth_stencil_resolve] @janharald%0A<<Here describe the issue or question you have about the VK_KHR_depth_stencil_resolve extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs b/src/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs
--- a/src/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs
+++ b/src/Vulkan/Extensions/VK_KHR_descriptor_update_template.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Markus Tavenrath
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_descriptor_update_template:%20&body=@mtavenrath%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_descriptor_update_template] @mtavenrath%0A<<Here describe the issue or question you have about the VK_KHR_descriptor_update_template extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_device_group.hs b/src/Vulkan/Extensions/VK_KHR_device_group.hs
--- a/src/Vulkan/Extensions/VK_KHR_device_group.hs
+++ b/src/Vulkan/Extensions/VK_KHR_device_group.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_device_group:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_device_group] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_device_group extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_device_group_creation.hs b/src/Vulkan/Extensions/VK_KHR_device_group_creation.hs
--- a/src/Vulkan/Extensions/VK_KHR_device_group_creation.hs
+++ b/src/Vulkan/Extensions/VK_KHR_device_group_creation.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_device_group_creation:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_device_group_creation] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_device_group_creation extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_display.hs b/src/Vulkan/Extensions/VK_KHR_display.hs
--- a/src/Vulkan/Extensions/VK_KHR_display.hs
+++ b/src/Vulkan/Extensions/VK_KHR_display.hs
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_display:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_display] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_display extension>> >
 --
 --     -   Norbert Nopper
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_display:%20&body=@FslNopper%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_display] @FslNopper%0A<<Here describe the issue or question you have about the VK_KHR_display extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -693,6 +693,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplayPropertiesKHR', 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceDisplayPropertiesKHR :: forall io
                                        . (MonadIO io)
@@ -770,6 +771,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplayPlanePropertiesKHR', 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceDisplayPlanePropertiesKHR :: forall io
                                             . (MonadIO io)
@@ -856,6 +858,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getDisplayPlaneSupportedDisplaysKHR :: forall io
@@ -944,6 +947,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR', 'DisplayModePropertiesKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getDisplayModePropertiesKHR :: forall io
@@ -1024,6 +1028,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Extensions.Handles.DisplayKHR', 'DisplayModeCreateInfoKHR',
 -- 'Vulkan.Extensions.Handles.DisplayModeKHR',
@@ -1100,6 +1105,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.Handles.DisplayModeKHR',
 -- 'DisplayPlaneCapabilitiesKHR', 'Vulkan.Core10.Handles.PhysicalDevice'
 getDisplayPlaneCapabilitiesKHR :: forall io
@@ -1171,6 +1177,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'DisplaySurfaceCreateInfoKHR', 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -1222,6 +1229,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayProperties2KHR',
@@ -1317,6 +1325,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneProperties2KHR',
 -- 'getPhysicalDeviceDisplayPlanePropertiesKHR'
@@ -1390,6 +1399,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplayModeCreateInfoKHR', 'DisplayModePropertiesKHR',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D'
 data DisplayModeParametersKHR = DisplayModeParametersKHR
@@ -1442,6 +1452,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.Handles.DisplayModeKHR', 'DisplayModeParametersKHR',
 -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayModeProperties2KHR',
 -- 'getDisplayModePropertiesKHR'
@@ -1499,6 +1510,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplayModeCreateFlagsKHR', 'DisplayModeParametersKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createDisplayModeKHR'
@@ -1598,6 +1610,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplayPlaneAlphaFlagsKHR',
 -- 'Vulkan.Extensions.VK_KHR_get_display_properties2.DisplayPlaneCapabilities2KHR',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
@@ -1768,6 +1781,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'Vulkan.Extensions.Handles.DisplayModeKHR',
 -- 'DisplayPlaneAlphaFlagBitsKHR', 'DisplaySurfaceCreateFlagsKHR',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
@@ -1873,6 +1887,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplayModeCreateInfoKHR'
 newtype DisplayModeCreateFlagsKHR = DisplayModeCreateFlagsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -1911,6 +1926,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplaySurfaceCreateInfoKHR'
 newtype DisplaySurfaceCreateFlagsKHR = DisplaySurfaceCreateFlagsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -1946,6 +1962,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display VK_KHR_display>,
 -- 'DisplayPlaneAlphaFlagsKHR', 'DisplaySurfaceCreateInfoKHR'
 newtype DisplayPlaneAlphaFlagBitsKHR = DisplayPlaneAlphaFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -1958,15 +1975,15 @@
 -- image.
 pattern DISPLAY_PLANE_ALPHA_GLOBAL_BIT_KHR                  = DisplayPlaneAlphaFlagBitsKHR 0x00000002
 -- | 'DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR' specifies that the alpha value
--- will be determined by the alpha channel of the source image’s pixels. If
--- the source format contains no alpha values, no blending will be applied.
--- The source alpha values are not premultiplied into the source image’s
--- other color channels.
+-- will be determined by the alpha component of the source image’s pixels.
+-- If the source format contains no alpha values, no blending will be
+-- applied. The source alpha values are not premultiplied into the source
+-- image’s other color components.
 pattern DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR               = DisplayPlaneAlphaFlagBitsKHR 0x00000004
 -- | 'DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR' is equivalent to
 -- 'DISPLAY_PLANE_ALPHA_PER_PIXEL_BIT_KHR', except the source alpha values
 -- are assumed to be premultiplied into the source image’s other color
--- channels.
+-- components.
 pattern DISPLAY_PLANE_ALPHA_PER_PIXEL_PREMULTIPLIED_BIT_KHR = DisplayPlaneAlphaFlagBitsKHR 0x00000008
 
 conNameDisplayPlaneAlphaFlagBitsKHR :: String
diff --git a/src/Vulkan/Extensions/VK_KHR_display.hs-boot b/src/Vulkan/Extensions/VK_KHR_display.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_display.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_display.hs-boot
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_display:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_display] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_display extension>> >
 --
 --     -   Norbert Nopper
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_display:%20&body=@FslNopper%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_display] @FslNopper%0A<<Here describe the issue or question you have about the VK_KHR_display extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs b/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs
--- a/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs
+++ b/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_display_swapchain:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_display_swapchain] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_display_swapchain extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -376,6 +376,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display_swapchain VK_KHR_display_swapchain>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',
@@ -445,6 +446,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_display_swapchain VK_KHR_display_swapchain>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
diff --git a/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs-boot b/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_display_swapchain.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_display_swapchain:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_display_swapchain] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_display_swapchain extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs b/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs
--- a/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs
+++ b/src/Vulkan/Extensions/VK_KHR_draw_indirect_count.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_draw_indirect_count:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_draw_indirect_count] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_KHR_draw_indirect_count extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_driver_properties.hs b/src/Vulkan/Extensions/VK_KHR_driver_properties.hs
--- a/src/Vulkan/Extensions/VK_KHR_driver_properties.hs
+++ b/src/Vulkan/Extensions/VK_KHR_driver_properties.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_driver_properties:%20&body=@drakos-amd%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_driver_properties] @drakos-amd%0A<<Here describe the issue or question you have about the VK_KHR_driver_properties extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_fence.hs b/src/Vulkan/Extensions/VK_KHR_external_fence.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_fence.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_fence.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_fence:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_fence] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_external_fence extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs b/src/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_fence_capabilities.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_fence_capabilities:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_fence_capabilities] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_external_fence_capabilities extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs b/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_fence_fd:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_fence_fd] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_external_fence_fd extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -218,6 +218,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_fd VK_KHR_external_fence_fd>,
 -- 'Vulkan.Core10.Handles.Device', 'FenceGetFdInfoKHR'
 getFenceFdKHR :: forall io
                . (MonadIO io)
@@ -280,6 +281,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_fd VK_KHR_external_fence_fd>,
 -- 'Vulkan.Core10.Handles.Device', 'ImportFenceFdInfoKHR'
 importFenceFdKHR :: forall io
                   . (MonadIO io)
@@ -378,6 +380,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_fd VK_KHR_external_fence_fd>,
 -- 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Fence',
 -- 'Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlags',
@@ -497,6 +500,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_fd VK_KHR_external_fence_fd>,
 -- 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Fence',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'getFenceFdKHR'
diff --git a/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs-boot b/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_external_fence_fd.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_fence_fd:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_fence_fd] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_external_fence_fd extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs b/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_fence_win32:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_fence_win32] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_external_fence_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -229,6 +229,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_win32 VK_KHR_external_fence_win32>,
 -- 'Vulkan.Core10.Handles.Device', 'FenceGetWin32HandleInfoKHR'
 getFenceWin32HandleKHR :: forall io
                         . (MonadIO io)
@@ -292,6 +293,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_win32 VK_KHR_external_fence_win32>,
 -- 'Vulkan.Core10.Handles.Device', 'ImportFenceWin32HandleInfoKHR'
 importFenceWin32HandleKHR :: forall io
                            . (MonadIO io)
@@ -389,6 +391,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_win32 VK_KHR_external_fence_win32>,
 -- 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Fence',
 -- 'Vulkan.Core11.Enums.FenceImportFlagBits.FenceImportFlags',
@@ -513,6 +516,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_win32 VK_KHR_external_fence_win32>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportFenceWin32HandleInfoKHR = ExportFenceWin32HandleInfoKHR
   { -- | @pAttributes@ is a pointer to a Windows
@@ -630,6 +634,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_fence_win32 VK_KHR_external_fence_win32>,
 -- 'Vulkan.Core11.Enums.ExternalFenceHandleTypeFlagBits.ExternalFenceHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Fence',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs-boot b/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_external_fence_win32.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_fence_win32:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_fence_win32] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_external_fence_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_memory.hs b/src/Vulkan/Extensions/VK_KHR_external_memory.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_memory.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_memory.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_memory:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_memory] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_memory extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs b/src/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_memory_capabilities.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_memory_capabilities:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_memory_capabilities] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_memory_capabilities extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs b/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_memory_fd:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_memory_fd] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_memory_fd extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -226,6 +226,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_fd VK_KHR_external_memory_fd>,
 -- 'Vulkan.Core10.Handles.Device', 'MemoryGetFdInfoKHR'
 getMemoryFdKHR :: forall io
                 . (MonadIO io)
@@ -279,6 +280,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_fd VK_KHR_external_memory_fd>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'MemoryFdPropertiesKHR'
@@ -379,6 +381,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_fd VK_KHR_external_memory_fd>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImportMemoryFdInfoKHR = ImportMemoryFdInfoKHR
@@ -436,6 +439,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_fd VK_KHR_external_memory_fd>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getMemoryFdPropertiesKHR'
 data MemoryFdPropertiesKHR = MemoryFdPropertiesKHR
@@ -498,12 +502,13 @@
 -- @handleType@ is
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT',
 -- then the application /can/ query the file’s actual size with
--- <man:lseek(2) lseek(2)>.
+-- <https://man7.org/linux/man-pages/man2/lseek.2.html lseek>.
 --
 -- == Valid Usage (Implicit)
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_fd VK_KHR_external_memory_fd>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'getMemoryFdKHR'
diff --git a/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs-boot b/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_external_memory_fd.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_memory_fd:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_memory_fd] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_memory_fd extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs b/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_memory_win32:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_memory_win32] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_memory_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -246,6 +246,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_win32 VK_KHR_external_memory_win32>,
 -- 'Vulkan.Core10.Handles.Device', 'MemoryGetWin32HandleInfoKHR'
 getMemoryWin32HandleKHR :: forall io
                          . (MonadIO io)
@@ -300,6 +301,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_win32 VK_KHR_external_memory_win32>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'MemoryWin32HandlePropertiesKHR'
@@ -423,6 +425,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_win32 VK_KHR_external_memory_win32>,
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImportMemoryWin32HandleInfoKHR = ImportMemoryWin32HandleInfoKHR
@@ -549,6 +552,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_win32 VK_KHR_external_memory_win32>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportMemoryWin32HandleInfoKHR = ExportMemoryWin32HandleInfoKHR
   { -- | @pAttributes@ is a pointer to a Windows
@@ -614,6 +618,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_win32 VK_KHR_external_memory_win32>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getMemoryWin32HandlePropertiesKHR'
 data MemoryWin32HandlePropertiesKHR = MemoryWin32HandlePropertiesKHR
@@ -702,6 +707,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_memory_win32 VK_KHR_external_memory_win32>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs-boot b/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_external_memory_win32.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_memory_win32:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_memory_win32] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_memory_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_semaphore.hs b/src/Vulkan/Extensions/VK_KHR_external_semaphore.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_semaphore.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_semaphore.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_semaphore:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_semaphore] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_semaphore extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs b/src/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_semaphore_capabilities.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_semaphore_capabilities:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_semaphore_capabilities] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_semaphore_capabilities extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs b/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_semaphore_fd:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_semaphore_fd] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_semaphore_fd extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -217,6 +217,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_fd>,
 -- 'Vulkan.Core10.Handles.Device', 'SemaphoreGetFdInfoKHR'
 getSemaphoreFdKHR :: forall io
                    . (MonadIO io)
@@ -280,6 +281,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_fd>,
 -- 'Vulkan.Core10.Handles.Device', 'ImportSemaphoreFdInfoKHR'
 importSemaphoreFdKHR :: forall io
                       . (MonadIO io)
@@ -403,6 +405,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_fd>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlags',
@@ -543,6 +546,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_fd VK_KHR_external_semaphore_fd>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'getSemaphoreFdKHR'
diff --git a/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs-boot b/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_external_semaphore_fd.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_semaphore_fd:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_semaphore_fd] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_semaphore_fd extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs b/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs
--- a/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs
+++ b/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_semaphore_win32:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_semaphore_win32] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_semaphore_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -263,6 +263,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_win32 VK_KHR_external_semaphore_win32>,
 -- 'Vulkan.Core10.Handles.Device', 'SemaphoreGetWin32HandleInfoKHR'
 getSemaphoreWin32HandleKHR :: forall io
                             . (MonadIO io)
@@ -328,6 +329,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_win32 VK_KHR_external_semaphore_win32>,
 -- 'Vulkan.Core10.Handles.Device', 'ImportSemaphoreWin32HandleInfoKHR'
 importSemaphoreWin32HandleKHR :: forall io
                                . (MonadIO io)
@@ -462,6 +464,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_win32 VK_KHR_external_semaphore_win32>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core11.Enums.SemaphoreImportFlagBits.SemaphoreImportFlags',
@@ -600,6 +603,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_win32 VK_KHR_external_semaphore_win32>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportSemaphoreWin32HandleInfoKHR = ExportSemaphoreWin32HandleInfoKHR
   { -- | @pAttributes@ is a pointer to a Windows
@@ -721,6 +725,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_win32 VK_KHR_external_semaphore_win32>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data D3D12FenceSubmitInfoKHR = D3D12FenceSubmitInfoKHR
   { -- | @waitSemaphoreValuesCount@ is the number of semaphore wait values
@@ -876,6 +881,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_external_semaphore_win32 VK_KHR_external_semaphore_win32>,
 -- 'Vulkan.Core11.Enums.ExternalSemaphoreHandleTypeFlagBits.ExternalSemaphoreHandleTypeFlagBits',
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs-boot b/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_external_semaphore_win32.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_external_semaphore_win32:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_external_semaphore_win32] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_external_semaphore_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_format_feature_flags2.hs b/src/Vulkan/Extensions/VK_KHR_format_feature_flags2.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_format_feature_flags2.hs
@@ -0,0 +1,255 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_format_feature_flags2 - device extension
+--
+-- == VK_KHR_format_feature_flags2
+--
+-- [__Name String__]
+--     @VK_KHR_format_feature_flags2@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     361
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Contact__]
+--
+--     -   Lionel Landwerlin
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_format_feature_flags2] @llandwerlin%0A<<Here describe the issue or question you have about the VK_KHR_format_feature_flags2 extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-07-01
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Lionel Landwerlin, Intel
+--
+--     -   Jason Ekstrand, Intel
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Spencer Fricke, Samsung Electronics
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Jan-Harald Fredriksen, ARM
+--
+-- == Description
+--
+-- This extension adds a new
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+-- 64bits format feature flag type to extend the existing
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' which
+-- is limited to 31 flags. At the time of this writing 29 bits of
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' are
+-- already used.
+--
+-- Because
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2'
+-- is already defined to extend the Vulkan 1.0
+-- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceFormatProperties'
+-- entry point, this extension defines a new 'FormatProperties3KHR' to
+-- extend the 'Vulkan.Core10.DeviceInitialization.FormatProperties'.
+--
+-- On top of replicating all the bits from
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits',
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+-- adds the following bits :
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--     and
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--     indicate that an implementation supports respectively reading and
+--     writing a given 'Vulkan.Core10.Enums.Format.Format' through storage
+--     operations without specifying the format in the shader.
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR'
+--     indicates that an implementation supports depth comparison performed
+--     by @OpImage*Dref@ instructions on a given
+--     'Vulkan.Core10.Enums.Format.Format'. Previously the result of
+--     executing a @OpImage*Dref*@ instruction on an image view, where the
+--     @format@ was not one of the depth\/stencil formats with a depth
+--     component, was undefined. This bit clarifies on which formats such
+--     instructions can be used.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2':
+--
+--     -   'FormatProperties3KHR'
+--
+-- == New Enums
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+--
+-- == New Bitmasks
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME'
+--
+-- -   'KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR'
+--
+-- == Version History
+--
+-- -   Revision 1, 2020-07-21 (Lionel Landwerlin)
+--
+--     -   Initial draft
+--
+-- = See Also
+--
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR',
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR',
+-- 'FormatProperties3KHR'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_KHR_format_feature_flags2  ( FormatProperties3KHR(..)
+                                                       , KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION
+                                                       , pattern KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION
+                                                       , KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME
+                                                       , pattern KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME
+                                                       , FormatFeatureFlagBits2KHR(..)
+                                                       , FormatFeatureFlags2KHR
+                                                       , Flags64
+                                                       ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR))
+import Vulkan.Core10.FundamentalTypes (Flags64)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlagBits2KHR(..))
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
+-- | VkFormatProperties3KHR - Structure specifying image format properties
+--
+-- = Description
+--
+-- The bits reported in @linearTilingFeatures@, @optimalTilingFeatures@ and
+-- @bufferFeatures@ /must/ include the bits reported in the corresponding
+-- fields of
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2'::@formatProperties@.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>,
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data FormatProperties3KHR = FormatProperties3KHR
+  { -- | @linearTilingFeatures@ is a bitmask of
+    -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+    -- specifying features supported by images created with a @tiling@
+    -- parameter of 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR'.
+    linearTilingFeatures :: FormatFeatureFlags2KHR
+  , -- | @optimalTilingFeatures@ is a bitmask of
+    -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+    -- specifying features supported by images created with a @tiling@
+    -- parameter of 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL'.
+    optimalTilingFeatures :: FormatFeatureFlags2KHR
+  , -- | @bufferFeatures@ is a bitmask of
+    -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+    -- specifying features supported by buffers.
+    bufferFeatures :: FormatFeatureFlags2KHR
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (FormatProperties3KHR)
+#endif
+deriving instance Show FormatProperties3KHR
+
+instance ToCStruct FormatProperties3KHR where
+  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p FormatProperties3KHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr FormatFeatureFlags2KHR)) (linearTilingFeatures)
+    poke ((p `plusPtr` 24 :: Ptr FormatFeatureFlags2KHR)) (optimalTilingFeatures)
+    poke ((p `plusPtr` 32 :: Ptr FormatFeatureFlags2KHR)) (bufferFeatures)
+    f
+  cStructSize = 40
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    f
+
+instance FromCStruct FormatProperties3KHR where
+  peekCStruct p = do
+    linearTilingFeatures <- peek @FormatFeatureFlags2KHR ((p `plusPtr` 16 :: Ptr FormatFeatureFlags2KHR))
+    optimalTilingFeatures <- peek @FormatFeatureFlags2KHR ((p `plusPtr` 24 :: Ptr FormatFeatureFlags2KHR))
+    bufferFeatures <- peek @FormatFeatureFlags2KHR ((p `plusPtr` 32 :: Ptr FormatFeatureFlags2KHR))
+    pure $ FormatProperties3KHR
+             linearTilingFeatures optimalTilingFeatures bufferFeatures
+
+instance Storable FormatProperties3KHR where
+  sizeOf ~_ = 40
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero FormatProperties3KHR where
+  zero = FormatProperties3KHR
+           zero
+           zero
+           zero
+
+
+type KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION"
+pattern KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION = 1
+
+
+type KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2"
+
+-- No documentation found for TopLevel "VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME"
+pattern KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME = "VK_KHR_format_feature_flags2"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_format_feature_flags2.hs-boot b/src/Vulkan/Extensions/VK_KHR_format_feature_flags2.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_format_feature_flags2.hs-boot
@@ -0,0 +1,147 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_format_feature_flags2 - device extension
+--
+-- == VK_KHR_format_feature_flags2
+--
+-- [__Name String__]
+--     @VK_KHR_format_feature_flags2@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     361
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Contact__]
+--
+--     -   Lionel Landwerlin
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_format_feature_flags2] @llandwerlin%0A<<Here describe the issue or question you have about the VK_KHR_format_feature_flags2 extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-07-01
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Lionel Landwerlin, Intel
+--
+--     -   Jason Ekstrand, Intel
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Spencer Fricke, Samsung Electronics
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Jan-Harald Fredriksen, ARM
+--
+-- == Description
+--
+-- This extension adds a new
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+-- 64bits format feature flag type to extend the existing
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' which
+-- is limited to 31 flags. At the time of this writing 29 bits of
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits' are
+-- already used.
+--
+-- Because
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2'
+-- is already defined to extend the Vulkan 1.0
+-- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceFormatProperties'
+-- entry point, this extension defines a new 'FormatProperties3KHR' to
+-- extend the 'Vulkan.Core10.DeviceInitialization.FormatProperties'.
+--
+-- On top of replicating all the bits from
+-- 'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits',
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+-- adds the following bits :
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--     and
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--     indicate that an implementation supports respectively reading and
+--     writing a given 'Vulkan.Core10.Enums.Format.Format' through storage
+--     operations without specifying the format in the shader.
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT_KHR'
+--     indicates that an implementation supports depth comparison performed
+--     by @OpImage*Dref@ instructions on a given
+--     'Vulkan.Core10.Enums.Format.Format'. Previously the result of
+--     executing a @OpImage*Dref*@ instruction on an image view, where the
+--     @format@ was not one of the depth\/stencil formats with a depth
+--     component, was undefined. This bit clarifies on which formats such
+--     instructions can be used.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.FormatProperties2':
+--
+--     -   'FormatProperties3KHR'
+--
+-- == New Enums
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR'
+--
+-- == New Bitmasks
+--
+-- -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME'
+--
+-- -   'KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR'
+--
+-- == Version History
+--
+-- -   Revision 1, 2020-07-21 (Lionel Landwerlin)
+--
+--     -   Initial draft
+--
+-- = See Also
+--
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR',
+-- 'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlags2KHR',
+-- 'FormatProperties3KHR'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_KHR_format_feature_flags2  (FormatProperties3KHR) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data FormatProperties3KHR
+
+instance ToCStruct FormatProperties3KHR
+instance Show FormatProperties3KHR
+
+instance FromCStruct FormatProperties3KHR
+
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
@@ -15,7 +15,7 @@
 --     227
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -28,12 +28,12 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_fragment_shading_rate:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_fragment_shading_rate] @tobski%0A<<Here describe the issue or question you have about the VK_KHR_fragment_shading_rate extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2020-05-06
+--     2021-09-30
 --
 -- [__Interactions and External Dependencies__]
 --
@@ -175,12 +175,25 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--
 -- == Version History
 --
 -- -   Revision 1, 2020-05-06 (Tobias Hector)
 --
 --     -   Initial revision
 --
+-- -   Revision 2, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
+--
 -- = See Also
 --
 -- 'FragmentShadingRateAttachmentInfoKHR',
@@ -217,6 +230,9 @@
                                                        , pattern KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION
                                                        , KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME
                                                        , pattern KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME
+                                                       , FormatFeatureFlagBits2KHR(..)
+                                                       , FormatFeatureFlags2KHR
+                                                       , Flags64
                                                        ) where
 
 import Vulkan.CStruct.Utils (FixedArray)
@@ -297,6 +313,9 @@
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_PROPERTIES_KHR))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR))
 import Vulkan.Core10.Enums.Result (Result(SUCCESS))
+import Vulkan.Core10.FundamentalTypes (Flags64)
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlagBits2KHR(..))
+import Vulkan.Extensions.VK_KHR_acceleration_structure (FormatFeatureFlags2KHR)
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
   unsafe
@@ -304,9 +323,21 @@
   "dynamic" mkVkCmdSetFragmentShadingRateKHR
   :: FunPtr (Ptr CommandBuffer_T -> Ptr Extent2D -> Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr Extent2D -> Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR) -> IO ()
 
--- | vkCmdSetFragmentShadingRateKHR - Set pipeline fragment shading rate
--- dynamically
+-- | vkCmdSetFragmentShadingRateKHR - Set pipeline fragment shading rate and
+-- combiner operation dynamically for a command buffer
 --
+-- = Description
+--
+-- This command sets the pipeline fragment shading rate and combiner
+-- operation for subsequent drawing commands when the graphics pipeline is
+-- created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineFragmentShadingRateStateCreateInfoKHR' values used to create
+-- the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetFragmentShadingRateKHR-pipelineFragmentShadingRate-04507#
@@ -329,13 +360,13 @@
 --
 -- -   #VUID-vkCmdSetFragmentShadingRateKHR-primitiveFragmentShadingRate-04510#
 --     If the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
 --     is not enabled, @combinerOps@[0] /must/ be
 --     'FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR'
 --
 -- -   #VUID-vkCmdSetFragmentShadingRateKHR-attachmentFragmentShadingRate-04511#
 --     If the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
 --     is not enabled, @combinerOps@[1] /must/ be
 --     'FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR'
 --
@@ -406,6 +437,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'FragmentShadingRateCombinerOpKHR'
@@ -578,6 +610,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'PhysicalDeviceFragmentShadingRateKHR'
 getPhysicalDeviceFragmentShadingRatesKHR :: forall io
@@ -704,6 +737,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2.AttachmentReference2',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -784,6 +818,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'FragmentShadingRateCombinerOpKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -878,6 +913,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentShadingRateFeaturesKHR = PhysicalDeviceFragmentShadingRateFeaturesKHR
@@ -970,12 +1006,13 @@
 -- property.
 --
 -- These properties are related to
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-primsrast-fragment-shading-rate fragment shading rates>.
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-fragment-shading-rate fragment shading rates>.
 --
 -- == Valid Usage (Implicit)
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits',
@@ -1025,9 +1062,7 @@
     -- @ViewportIndex@ built-in when setting @PrimitiveShadingRateKHR@. It
     -- /must/ be 'Vulkan.Core10.FundamentalTypes.FALSE' if the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderOutputViewportIndex shaderOutputViewportIndex>
-    -- feature, the
-    -- <VK_EXT_shader_viewport_index_layer.html VK_EXT_shader_viewport_index_layer>
-    -- extension, or the
+    -- feature, the @VK_EXT_shader_viewport_index_layer@ extension, or the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometryShader>
     -- feature is not supported, or if the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveFragmentShadingRate primitiveFragmentShadingRate>
@@ -1044,9 +1079,7 @@
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-multiview multiview>
     -- feature, the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderOutputViewportIndex shaderOutputViewportIndex>
-    -- feature, the
-    -- <VK_EXT_shader_viewport_index_layer.html VK_EXT_shader_viewport_index_layer>
-    -- extension, or the
+    -- feature, the @VK_EXT_shader_viewport_index_layer@ extension, or the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometryShader>
     -- feature is not supported, or if the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
@@ -1120,31 +1153,29 @@
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-conservativeraster conservative rasterization>
     -- is supported for multi-pixel fragments. It /must/ be
     -- 'Vulkan.Core10.FundamentalTypes.FALSE' if
-    -- <VK_EXT_conservative_rasterization.html VK_EXT_conservative_rasterization>
-    -- is not supported. If this value is
+    -- @VK_EXT_conservative_rasterization@ is not supported. If this value is
     -- 'Vulkan.Core10.FundamentalTypes.FALSE', using
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-conservativeraster conservative rasterization>
     -- will clamp the fragment shading rate to (1,1).
     fragmentShadingRateWithConservativeRasterization :: Bool
   , -- | #limits-fragmentShadingRateWithFragmentShaderInterlock#
     -- @fragmentShadingRateWithFragmentShaderInterlock@ specifies whether
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-shader-interlock fragment shader interlock>
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-shader-interlock fragment shader interlock>
     -- is supported for multi-pixel fragments. It /must/ be
     -- 'Vulkan.Core10.FundamentalTypes.FALSE' if
-    -- <VK_EXT_fragment_shader_interlock.html VK_EXT_fragment_shader_interlock>
-    -- is not supported. If this value is
+    -- @VK_EXT_fragment_shader_interlock@ is not supported. If this value is
     -- 'Vulkan.Core10.FundamentalTypes.FALSE', using
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-shader-interlock fragment shader interlock>
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fragops-shader-interlock fragment shader interlock>
     -- will clamp the fragment shading rate to (1,1).
     fragmentShadingRateWithFragmentShaderInterlock :: Bool
   , -- | #limits-fragmentShadingRateWithCustomSampleLocations#
     -- @fragmentShadingRateWithCustomSampleLocations@ specifies whether
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primrast-samplelocations custom sample locations>
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-samplelocations custom sample locations>
     -- are supported for multi-pixel fragments. It /must/ be
-    -- 'Vulkan.Core10.FundamentalTypes.FALSE' if
-    -- <VK_EXT_sample_locations.html VK_EXT_sample_locations> is not supported.
-    -- If this value is 'Vulkan.Core10.FundamentalTypes.FALSE', using
-    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primrast-samplelocations custom sample locations>
+    -- 'Vulkan.Core10.FundamentalTypes.FALSE' if @VK_EXT_sample_locations@ is
+    -- not supported. If this value is 'Vulkan.Core10.FundamentalTypes.FALSE',
+    -- using
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-samplelocations custom sample locations>
     -- will clamp the fragment shading rate to (1,1).
     fragmentShadingRateWithCustomSampleLocations :: Bool
   , -- | #limits-fragmentShadingRateStrictMultiplyCombiner#
@@ -1269,6 +1300,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -1344,6 +1376,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_fragment_shading_rate VK_KHR_fragment_shading_rate>,
 -- 'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.PipelineFragmentShadingRateEnumStateCreateInfoNV',
 -- 'PipelineFragmentShadingRateStateCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_fragment_shading_rate_enums.cmdSetFragmentShadingRateEnumNV',
@@ -1401,11 +1434,11 @@
                           FragmentShadingRateCombinerOpKHR
 
 
-type KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1
+type KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2
 
 -- No documentation found for TopLevel "VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION"
 pattern KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION :: forall a . Integral a => a
-pattern KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 1
+pattern KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION = 2
 
 
 type KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME = "VK_KHR_fragment_shading_rate"
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
@@ -15,7 +15,7 @@
 --     227
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Extension and Version Dependencies__]
 --
@@ -28,12 +28,12 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_fragment_shading_rate:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_fragment_shading_rate] @tobski%0A<<Here describe the issue or question you have about the VK_KHR_fragment_shading_rate extension>> >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2020-05-06
+--     2021-09-30
 --
 -- [__Interactions and External Dependencies__]
 --
@@ -175,11 +175,24 @@
 --
 --     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_STATE_CREATE_INFO_KHR'
 --
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_format_feature_flags2 VK_KHR_format_feature_flags2>
+-- is supported:
+--
+-- -   Extending
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FormatFeatureFlagBits2KHR':
+--
+--     -   'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+--
 -- == Version History
 --
 -- -   Revision 1, 2020-05-06 (Tobias Hector)
 --
 --     -   Initial revision
+--
+-- -   Revision 2, 2021-09-30 (Jon Leech)
+--
+--     -   Add interaction with @VK_KHR_format_feature_flags2@ to @vk.xml@
 --
 -- = See Also
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs b/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs
--- a/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_get_display_properties2:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_get_display_properties2] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_get_display_properties2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -293,6 +293,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'DisplayProperties2KHR', 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceDisplayProperties2KHR :: forall io
                                         . (MonadIO io)
@@ -366,6 +367,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'DisplayPlaneProperties2KHR', 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceDisplayPlaneProperties2KHR :: forall io
                                              . (MonadIO io)
@@ -444,6 +446,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR', 'DisplayModeProperties2KHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getDisplayModeProperties2KHR :: forall io
@@ -503,6 +506,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'DisplayPlaneCapabilities2KHR', 'DisplayPlaneInfo2KHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getDisplayPlaneCapabilities2KHR :: forall io
@@ -542,6 +546,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPropertiesKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceDisplayProperties2KHR'
@@ -588,6 +593,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlanePropertiesKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceDisplayPlaneProperties2KHR'
@@ -640,6 +646,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayModePropertiesKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getDisplayModeProperties2KHR'
@@ -717,6 +724,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'Vulkan.Extensions.Handles.DisplayModeKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getDisplayPlaneCapabilities2KHR'
@@ -776,6 +784,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_display_properties2 VK_KHR_get_display_properties2>,
 -- 'Vulkan.Extensions.VK_KHR_display.DisplayPlaneCapabilitiesKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getDisplayPlaneCapabilities2KHR'
diff --git a/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs-boot b/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_get_display_properties2.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_get_display_properties2:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_get_display_properties2] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_get_display_properties2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs b/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs
--- a/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_get_memory_requirements2:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_get_memory_requirements2] @jekstrand%0A<<Here describe the issue or question you have about the VK_KHR_get_memory_requirements2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs-boot b/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_get_memory_requirements2.hs-boot
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_get_memory_requirements2:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_get_memory_requirements2] @jekstrand%0A<<Here describe the issue or question you have about the VK_KHR_get_memory_requirements2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs b/src/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs
--- a/src/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_get_physical_device_properties2.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_get_physical_device_properties2:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_get_physical_device_properties2] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_get_physical_device_properties2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs b/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs
--- a/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_get_surface_capabilities2:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_get_surface_capabilities2] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_get_surface_capabilities2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -304,6 +304,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_surface_capabilities2 VK_KHR_get_surface_capabilities2>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PhysicalDeviceSurfaceInfo2KHR',
 -- 'SurfaceCapabilities2KHR'
 getPhysicalDeviceSurfaceCapabilities2KHR :: forall a b io
@@ -404,6 +405,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_surface_capabilities2 VK_KHR_get_surface_capabilities2>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PhysicalDeviceSurfaceInfo2KHR',
 -- 'SurfaceFormat2KHR'
 getPhysicalDeviceSurfaceFormats2KHR :: forall a io
@@ -494,6 +496,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_surface_capabilities2 VK_KHR_get_surface_capabilities2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR',
 -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getDeviceGroupSurfacePresentModes2EXT',
@@ -575,6 +578,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_surface_capabilities2 VK_KHR_get_surface_capabilities2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceCapabilitiesKHR',
 -- 'getPhysicalDeviceSurfaceCapabilities2KHR'
@@ -642,6 +646,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_surface_capabilities2 VK_KHR_get_surface_capabilities2>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceFormatKHR',
 -- 'getPhysicalDeviceSurfaceFormats2KHR'
diff --git a/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs-boot b/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_get_surface_capabilities2.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_get_surface_capabilities2:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_get_surface_capabilities2] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_get_surface_capabilities2 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_image_format_list.hs b/src/Vulkan/Extensions/VK_KHR_image_format_list.hs
--- a/src/Vulkan/Extensions/VK_KHR_image_format_list.hs
+++ b/src/Vulkan/Extensions/VK_KHR_image_format_list.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_image_format_list:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_image_format_list] @jekstrand%0A<<Here describe the issue or question you have about the VK_KHR_image_format_list extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_imageless_framebuffer.hs b/src/Vulkan/Extensions/VK_KHR_imageless_framebuffer.hs
--- a/src/Vulkan/Extensions/VK_KHR_imageless_framebuffer.hs
+++ b/src/Vulkan/Extensions/VK_KHR_imageless_framebuffer.hs
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_imageless_framebuffer:%20&body=@tobias%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_imageless_framebuffer] @tobias%0A<<Here describe the issue or question you have about the VK_KHR_imageless_framebuffer extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_incremental_present.hs b/src/Vulkan/Extensions/VK_KHR_incremental_present.hs
--- a/src/Vulkan/Extensions/VK_KHR_incremental_present.hs
+++ b/src/Vulkan/Extensions/VK_KHR_incremental_present.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_incremental_present:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_incremental_present] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_incremental_present extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -231,6 +231,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_incremental_present VK_KHR_incremental_present>,
 -- 'PresentRegionKHR', 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PresentRegionsKHR = PresentRegionsKHR
   { -- | @swapchainCount@ is the number of swapchains being presented to by this
@@ -305,6 +306,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_incremental_present VK_KHR_incremental_present>,
 -- 'PresentRegionsKHR', 'RectLayerKHR'
 data PresentRegionKHR = PresentRegionKHR
   { -- | @rectangleCount@ is the number of rectangles in @pRectangles@, or zero
@@ -395,6 +397,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_incremental_present VK_KHR_incremental_present>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.FundamentalTypes.Offset2D', 'PresentRegionKHR'
 data RectLayerKHR = RectLayerKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_incremental_present.hs-boot b/src/Vulkan/Extensions/VK_KHR_incremental_present.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_incremental_present.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_incremental_present.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_incremental_present:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_incremental_present] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_incremental_present extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance1.hs b/src/Vulkan/Extensions/VK_KHR_maintenance1.hs
--- a/src/Vulkan/Extensions/VK_KHR_maintenance1.hs
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance1.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_maintenance1:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance1] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_KHR_maintenance1 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -135,9 +135,9 @@
 --
 -- == New Enum Constants
 --
--- -   'KHR_MAINTENANCE1_EXTENSION_NAME'
+-- -   'KHR_MAINTENANCE_1_EXTENSION_NAME'
 --
--- -   'KHR_MAINTENANCE1_SPEC_VERSION'
+-- -   'KHR_MAINTENANCE_1_SPEC_VERSION'
 --
 -- -   Extending
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FormatFeatureFlagBits':
@@ -182,16 +182,18 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_KHR_maintenance1  ( pattern ERROR_OUT_OF_POOL_MEMORY_KHR
+module Vulkan.Extensions.VK_KHR_maintenance1  ( pattern KHR_MAINTENANCE1_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE1_EXTENSION_NAME
+                                              , pattern ERROR_OUT_OF_POOL_MEMORY_KHR
                                               , pattern FORMAT_FEATURE_TRANSFER_SRC_BIT_KHR
                                               , pattern FORMAT_FEATURE_TRANSFER_DST_BIT_KHR
                                               , pattern IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR
                                               , trimCommandPoolKHR
                                               , CommandPoolTrimFlagsKHR
-                                              , KHR_MAINTENANCE1_SPEC_VERSION
-                                              , pattern KHR_MAINTENANCE1_SPEC_VERSION
-                                              , KHR_MAINTENANCE1_EXTENSION_NAME
-                                              , pattern KHR_MAINTENANCE1_EXTENSION_NAME
+                                              , KHR_MAINTENANCE_1_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE_1_SPEC_VERSION
+                                              , KHR_MAINTENANCE_1_EXTENSION_NAME
+                                              , pattern KHR_MAINTENANCE_1_EXTENSION_NAME
                                               ) where
 
 import Data.String (IsString)
@@ -204,6 +206,14 @@
 import Vulkan.Core10.Enums.FormatFeatureFlagBits (FormatFeatureFlagBits(FORMAT_FEATURE_TRANSFER_SRC_BIT))
 import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlags)
 import Vulkan.Core10.Enums.ImageCreateFlagBits (ImageCreateFlagBits(IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT))
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE1_SPEC_VERSION"
+pattern KHR_MAINTENANCE1_SPEC_VERSION = KHR_MAINTENANCE_1_SPEC_VERSION
+
+
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE1_EXTENSION_NAME"
+pattern KHR_MAINTENANCE1_EXTENSION_NAME = KHR_MAINTENANCE_1_EXTENSION_NAME
+
+
 -- No documentation found for TopLevel "VK_ERROR_OUT_OF_POOL_MEMORY_KHR"
 pattern ERROR_OUT_OF_POOL_MEMORY_KHR = ERROR_OUT_OF_POOL_MEMORY
 
@@ -228,16 +238,16 @@
 type CommandPoolTrimFlagsKHR = CommandPoolTrimFlags
 
 
-type KHR_MAINTENANCE1_SPEC_VERSION = 2
+type KHR_MAINTENANCE_1_SPEC_VERSION = 2
 
--- No documentation found for TopLevel "VK_KHR_MAINTENANCE1_SPEC_VERSION"
-pattern KHR_MAINTENANCE1_SPEC_VERSION :: forall a . Integral a => a
-pattern KHR_MAINTENANCE1_SPEC_VERSION = 2
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_1_SPEC_VERSION"
+pattern KHR_MAINTENANCE_1_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_MAINTENANCE_1_SPEC_VERSION = 2
 
 
-type KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1"
+type KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1"
 
--- No documentation found for TopLevel "VK_KHR_MAINTENANCE1_EXTENSION_NAME"
-pattern KHR_MAINTENANCE1_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
-pattern KHR_MAINTENANCE1_EXTENSION_NAME = "VK_KHR_maintenance1"
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_1_EXTENSION_NAME"
+pattern KHR_MAINTENANCE_1_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_MAINTENANCE_1_EXTENSION_NAME = "VK_KHR_maintenance1"
 
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance2.hs b/src/Vulkan/Extensions/VK_KHR_maintenance2.hs
--- a/src/Vulkan/Extensions/VK_KHR_maintenance2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance2.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Michael Worcester
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_maintenance2:%20&body=@michaelworcester%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance2] @michaelworcester%0A<<Here describe the issue or question you have about the VK_KHR_maintenance2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -131,9 +131,9 @@
 --
 -- == New Enum Constants
 --
--- -   'KHR_MAINTENANCE2_EXTENSION_NAME'
+-- -   'KHR_MAINTENANCE_2_EXTENSION_NAME'
 --
--- -   'KHR_MAINTENANCE2_SPEC_VERSION'
+-- -   'KHR_MAINTENANCE_2_SPEC_VERSION'
 --
 -- -   Extending
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlagBits':
@@ -240,7 +240,9 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_KHR_maintenance2  ( pattern IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR
+module Vulkan.Extensions.VK_KHR_maintenance2  ( pattern KHR_MAINTENANCE2_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE2_EXTENSION_NAME
+                                              , pattern IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR
                                               , pattern IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR
                                               , pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_POINT_CLIPPING_PROPERTIES_KHR
                                               , pattern STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO_KHR
@@ -259,10 +261,10 @@
                                               , PhysicalDevicePointClippingPropertiesKHR
                                               , ImageViewUsageCreateInfoKHR
                                               , PipelineTessellationDomainOriginStateCreateInfoKHR
-                                              , KHR_MAINTENANCE2_SPEC_VERSION
-                                              , pattern KHR_MAINTENANCE2_SPEC_VERSION
-                                              , KHR_MAINTENANCE2_EXTENSION_NAME
-                                              , pattern KHR_MAINTENANCE2_EXTENSION_NAME
+                                              , KHR_MAINTENANCE_2_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE_2_SPEC_VERSION
+                                              , KHR_MAINTENANCE_2_EXTENSION_NAME
+                                              , pattern KHR_MAINTENANCE_2_EXTENSION_NAME
                                               ) where
 
 import Data.String (IsString)
@@ -287,6 +289,14 @@
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDER_PASS_INPUT_ATTACHMENT_ASPECT_CREATE_INFO))
 import Vulkan.Core11.Enums.TessellationDomainOrigin (TessellationDomainOrigin(TESSELLATION_DOMAIN_ORIGIN_LOWER_LEFT))
 import Vulkan.Core11.Enums.TessellationDomainOrigin (TessellationDomainOrigin(TESSELLATION_DOMAIN_ORIGIN_UPPER_LEFT))
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE2_SPEC_VERSION"
+pattern KHR_MAINTENANCE2_SPEC_VERSION = KHR_MAINTENANCE_2_SPEC_VERSION
+
+
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE2_EXTENSION_NAME"
+pattern KHR_MAINTENANCE2_EXTENSION_NAME = KHR_MAINTENANCE_2_EXTENSION_NAME
+
+
 -- No documentation found for TopLevel "VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR"
 pattern IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT
 
@@ -363,16 +373,16 @@
 type PipelineTessellationDomainOriginStateCreateInfoKHR = PipelineTessellationDomainOriginStateCreateInfo
 
 
-type KHR_MAINTENANCE2_SPEC_VERSION = 1
+type KHR_MAINTENANCE_2_SPEC_VERSION = 1
 
--- No documentation found for TopLevel "VK_KHR_MAINTENANCE2_SPEC_VERSION"
-pattern KHR_MAINTENANCE2_SPEC_VERSION :: forall a . Integral a => a
-pattern KHR_MAINTENANCE2_SPEC_VERSION = 1
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_2_SPEC_VERSION"
+pattern KHR_MAINTENANCE_2_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_MAINTENANCE_2_SPEC_VERSION = 1
 
 
-type KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2"
+type KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2"
 
--- No documentation found for TopLevel "VK_KHR_MAINTENANCE2_EXTENSION_NAME"
-pattern KHR_MAINTENANCE2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
-pattern KHR_MAINTENANCE2_EXTENSION_NAME = "VK_KHR_maintenance2"
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_2_EXTENSION_NAME"
+pattern KHR_MAINTENANCE_2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_MAINTENANCE_2_EXTENSION_NAME = "VK_KHR_maintenance2"
 
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance3.hs b/src/Vulkan/Extensions/VK_KHR_maintenance3.hs
--- a/src/Vulkan/Extensions/VK_KHR_maintenance3.hs
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance3.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_maintenance3:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance3] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_maintenance3 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -84,9 +84,9 @@
 --
 -- == New Enum Constants
 --
--- -   'KHR_MAINTENANCE3_EXTENSION_NAME'
+-- -   'KHR_MAINTENANCE_3_EXTENSION_NAME'
 --
--- -   'KHR_MAINTENANCE3_SPEC_VERSION'
+-- -   'KHR_MAINTENANCE_3_SPEC_VERSION'
 --
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
@@ -111,15 +111,17 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_KHR_maintenance3  ( pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR
+module Vulkan.Extensions.VK_KHR_maintenance3  ( pattern KHR_MAINTENANCE3_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE3_EXTENSION_NAME
+                                              , pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR
                                               , pattern STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT_KHR
                                               , getDescriptorSetLayoutSupportKHR
                                               , PhysicalDeviceMaintenance3PropertiesKHR
                                               , DescriptorSetLayoutSupportKHR
-                                              , KHR_MAINTENANCE3_SPEC_VERSION
-                                              , pattern KHR_MAINTENANCE3_SPEC_VERSION
-                                              , KHR_MAINTENANCE3_EXTENSION_NAME
-                                              , pattern KHR_MAINTENANCE3_EXTENSION_NAME
+                                              , KHR_MAINTENANCE_3_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE_3_SPEC_VERSION
+                                              , KHR_MAINTENANCE_3_EXTENSION_NAME
+                                              , pattern KHR_MAINTENANCE_3_EXTENSION_NAME
                                               ) where
 
 import Data.String (IsString)
@@ -128,6 +130,14 @@
 import Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (PhysicalDeviceMaintenance3Properties)
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_SUPPORT))
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES))
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE3_SPEC_VERSION"
+pattern KHR_MAINTENANCE3_SPEC_VERSION = KHR_MAINTENANCE_3_SPEC_VERSION
+
+
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE3_EXTENSION_NAME"
+pattern KHR_MAINTENANCE3_EXTENSION_NAME = KHR_MAINTENANCE_3_EXTENSION_NAME
+
+
 -- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES_KHR = STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_3_PROPERTIES
 
@@ -148,16 +158,16 @@
 type DescriptorSetLayoutSupportKHR = DescriptorSetLayoutSupport
 
 
-type KHR_MAINTENANCE3_SPEC_VERSION = 1
+type KHR_MAINTENANCE_3_SPEC_VERSION = 1
 
--- No documentation found for TopLevel "VK_KHR_MAINTENANCE3_SPEC_VERSION"
-pattern KHR_MAINTENANCE3_SPEC_VERSION :: forall a . Integral a => a
-pattern KHR_MAINTENANCE3_SPEC_VERSION = 1
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_3_SPEC_VERSION"
+pattern KHR_MAINTENANCE_3_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_MAINTENANCE_3_SPEC_VERSION = 1
 
 
-type KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3"
+type KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3"
 
--- No documentation found for TopLevel "VK_KHR_MAINTENANCE3_EXTENSION_NAME"
-pattern KHR_MAINTENANCE3_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
-pattern KHR_MAINTENANCE3_EXTENSION_NAME = "VK_KHR_maintenance3"
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_3_EXTENSION_NAME"
+pattern KHR_MAINTENANCE_3_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_MAINTENANCE_3_EXTENSION_NAME = "VK_KHR_maintenance3"
 
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs
@@ -0,0 +1,729 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_maintenance4 - device extension
+--
+-- == VK_KHR_maintenance4
+--
+-- [__Name String__]
+--     @VK_KHR_maintenance4@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     414
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.1
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance4] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_KHR_maintenance4 extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-08-18
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   Requires SPIR-V 1.2 for @LocalSizeId@
+--
+-- [__Contributors__]
+--
+--     -   Lionel Duc, NVIDIA
+--
+--     -   Jason Ekstrand, Intel
+--
+--     -   Spencer Fricke, Samsung
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Lionel Landwerlin, Intel
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Tom Olson, Arm
+--
+--     -   Stu Smith, AMD
+--
+-- == Description
+--
+-- @VK_KHR_maintenance4@ adds a collection of minor features, none of which
+-- would warrant an entire extension of their own.
+--
+-- The new features are as follows:
+--
+-- -   Allow the application to destroy their
+--     'Vulkan.Core10.Handles.PipelineLayout' object immediately after it
+--     was used to create another object. It is no longer necessary to keep
+--     its handle valid while the created object is in use.
+--
+-- -   Add a new
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxBufferSize maxBufferSize>
+--     implementation-defined limit for the maximum size
+--     'Vulkan.Core10.Handles.Buffer' that /can/ be created.
+--
+-- -   Add support for the SPIR-V 1.2 @LocalSizeId@ execution mode, which
+--     can be used as an alternative to @LocalSize@ to specify the local
+--     workgroup size with specialization constants.
+--
+-- -   Add a guarantee that images created with identical creation
+--     parameters will always have the same alignment requirements.
+--
+-- -   Add new 'getDeviceBufferMemoryRequirementsKHR',
+--     'getDeviceImageMemoryRequirementsKHR', and
+--     'getDeviceImageSparseMemoryRequirementsKHR' to allow the application
+--     to query the image memory requirements without having to create an
+--     image object and query it.
+--
+-- -   Relax the requirement that push constants must be initialized before
+--     they are dynamically accessed.
+--
+-- -   Relax the interface matching rules to allow a larger output vector
+--     to match with a smaller input vector, with additional values being
+--     discarded.
+--
+-- == New Commands
+--
+-- -   'getDeviceBufferMemoryRequirementsKHR'
+--
+-- -   'getDeviceImageMemoryRequirementsKHR'
+--
+-- -   'getDeviceImageSparseMemoryRequirementsKHR'
+--
+-- == New Structures
+--
+-- -   'DeviceBufferMemoryRequirementsKHR'
+--
+-- -   'DeviceImageMemoryRequirementsKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceMaintenance4FeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceMaintenance4PropertiesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_MAINTENANCE_4_EXTENSION_NAME'
+--
+-- -   'KHR_MAINTENANCE_4_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR'
+--
+-- == Issues
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-08-18 (Piers Daniell)
+--
+--     -   Internal revisions
+--
+-- = See Also
+--
+-- 'DeviceBufferMemoryRequirementsKHR', 'DeviceImageMemoryRequirementsKHR',
+-- 'PhysicalDeviceMaintenance4FeaturesKHR',
+-- 'PhysicalDeviceMaintenance4PropertiesKHR',
+-- 'getDeviceBufferMemoryRequirementsKHR',
+-- 'getDeviceImageMemoryRequirementsKHR',
+-- 'getDeviceImageSparseMemoryRequirementsKHR'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_KHR_maintenance4  ( getDeviceBufferMemoryRequirementsKHR
+                                              , getDeviceImageMemoryRequirementsKHR
+                                              , getDeviceImageSparseMemoryRequirementsKHR
+                                              , DeviceBufferMemoryRequirementsKHR(..)
+                                              , DeviceImageMemoryRequirementsKHR(..)
+                                              , PhysicalDeviceMaintenance4FeaturesKHR(..)
+                                              , PhysicalDeviceMaintenance4PropertiesKHR(..)
+                                              , KHR_MAINTENANCE_4_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE_4_SPEC_VERSION
+                                              , KHR_MAINTENANCE_4_EXTENSION_NAME
+                                              , pattern KHR_MAINTENANCE_4_EXTENSION_NAME
+                                              ) where
+
+import Vulkan.Internal.Utils (traceAroundEvent)
+import Control.Exception.Base (bracket)
+import Control.Monad (unless)
+import Control.Monad.IO.Class (liftIO)
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Marshal.Alloc (callocBytes)
+import Foreign.Marshal.Alloc (free)
+import GHC.IO (throwIO)
+import GHC.Ptr (castPtr)
+import GHC.Ptr (nullFunPtr)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Control.Monad.Trans.Class (lift)
+import Control.Monad.Trans.Cont (evalContT)
+import Data.Vector (generateM)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Control.Monad.IO.Class (MonadIO)
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import GHC.IO.Exception (IOErrorType(..))
+import GHC.IO.Exception (IOException(..))
+import Foreign.Ptr (FunPtr)
+import Foreign.Ptr (Ptr)
+import Data.Word (Word32)
+import Data.Kind (Type)
+import Control.Monad.Trans.Cont (ContT(..))
+import Data.Vector (Vector)
+import Vulkan.CStruct.Utils (advancePtrBytes)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.CStruct.Extends (forgetExtensions)
+import Vulkan.CStruct.Extends (peekSomeCStruct)
+import Vulkan.CStruct.Extends (withSomeCStruct)
+import Vulkan.NamedType ((:::))
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Buffer (BufferCreateInfo)
+import Vulkan.Core10.Handles (Device)
+import Vulkan.Core10.Handles (Device(..))
+import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceBufferMemoryRequirementsKHR))
+import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceImageMemoryRequirementsKHR))
+import Vulkan.Dynamic (DeviceCmds(pVkGetDeviceImageSparseMemoryRequirementsKHR))
+import Vulkan.Core10.FundamentalTypes (DeviceSize)
+import Vulkan.Core10.Handles (Device_T)
+import Vulkan.CStruct.Extends (Extendss)
+import Vulkan.Core10.Enums.ImageAspectFlagBits (ImageAspectFlagBits)
+import Vulkan.Core10.Image (ImageCreateInfo)
+import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (MemoryRequirements2)
+import Vulkan.CStruct.Extends (PeekChain)
+import Vulkan.CStruct.Extends (PokeChain)
+import Vulkan.CStruct.Extends (SomeStruct)
+import Vulkan.CStruct.Extends (SomeStruct(..))
+import Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2 (SparseImageMemoryRequirements2)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR))
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkGetDeviceBufferMemoryRequirementsKHR
+  :: FunPtr (Ptr Device_T -> Ptr DeviceBufferMemoryRequirementsKHR -> Ptr (SomeStruct MemoryRequirements2) -> IO ()) -> Ptr Device_T -> Ptr DeviceBufferMemoryRequirementsKHR -> Ptr (SomeStruct MemoryRequirements2) -> IO ()
+
+-- | vkGetDeviceBufferMemoryRequirementsKHR - Returns the memory requirements
+-- for specified Vulkan object
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 VK_KHR_maintenance4>,
+-- 'Vulkan.Core10.Handles.Device', 'DeviceBufferMemoryRequirementsKHR',
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2'
+getDeviceBufferMemoryRequirementsKHR :: forall a io
+                                      . (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io)
+                                     => -- | @device@ is the logical device intended to own the buffer.
+                                        --
+                                        -- #VUID-vkGetDeviceBufferMemoryRequirementsKHR-device-parameter# @device@
+                                        -- /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+                                        Device
+                                     -> -- | @pInfo@ is a pointer to a 'DeviceBufferMemoryRequirementsKHR' structure
+                                        -- containing parameters required for the memory requirements query.
+                                        --
+                                        -- #VUID-vkGetDeviceBufferMemoryRequirementsKHR-pInfo-parameter# @pInfo@
+                                        -- /must/ be a valid pointer to a valid 'DeviceBufferMemoryRequirementsKHR'
+                                        -- structure
+                                        ("info" ::: DeviceBufferMemoryRequirementsKHR)
+                                     -> io (MemoryRequirements2 a)
+getDeviceBufferMemoryRequirementsKHR device info = liftIO . evalContT $ do
+  let vkGetDeviceBufferMemoryRequirementsKHRPtr = pVkGetDeviceBufferMemoryRequirementsKHR (deviceCmds (device :: Device))
+  lift $ unless (vkGetDeviceBufferMemoryRequirementsKHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceBufferMemoryRequirementsKHR is null" Nothing Nothing
+  let vkGetDeviceBufferMemoryRequirementsKHR' = mkVkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHRPtr
+  pInfo <- ContT $ withCStruct (info)
+  pPMemoryRequirements <- ContT (withZeroCStruct @(MemoryRequirements2 _))
+  lift $ traceAroundEvent "vkGetDeviceBufferMemoryRequirementsKHR" (vkGetDeviceBufferMemoryRequirementsKHR' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements)))
+  pMemoryRequirements <- lift $ peekCStruct @(MemoryRequirements2 _) pPMemoryRequirements
+  pure $ (pMemoryRequirements)
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkGetDeviceImageMemoryRequirementsKHR
+  :: FunPtr (Ptr Device_T -> Ptr DeviceImageMemoryRequirementsKHR -> Ptr (SomeStruct MemoryRequirements2) -> IO ()) -> Ptr Device_T -> Ptr DeviceImageMemoryRequirementsKHR -> Ptr (SomeStruct MemoryRequirements2) -> IO ()
+
+-- | vkGetDeviceImageMemoryRequirementsKHR - Returns the memory requirements
+-- for specified Vulkan object
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 VK_KHR_maintenance4>,
+-- 'Vulkan.Core10.Handles.Device', 'DeviceImageMemoryRequirementsKHR',
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2'
+getDeviceImageMemoryRequirementsKHR :: forall a io
+                                     . (Extendss MemoryRequirements2 a, PokeChain a, PeekChain a, MonadIO io)
+                                    => -- | @device@ is the logical device intended to own the image.
+                                       --
+                                       -- #VUID-vkGetDeviceImageMemoryRequirementsKHR-device-parameter# @device@
+                                       -- /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+                                       Device
+                                    -> -- | @pInfo@ is a pointer to a 'DeviceImageMemoryRequirementsKHR' structure
+                                       -- containing parameters required for the memory requirements query.
+                                       --
+                                       -- #VUID-vkGetDeviceImageMemoryRequirementsKHR-pInfo-parameter# @pInfo@
+                                       -- /must/ be a valid pointer to a valid 'DeviceImageMemoryRequirementsKHR'
+                                       -- structure
+                                       ("info" ::: DeviceImageMemoryRequirementsKHR)
+                                    -> io (MemoryRequirements2 a)
+getDeviceImageMemoryRequirementsKHR device info = liftIO . evalContT $ do
+  let vkGetDeviceImageMemoryRequirementsKHRPtr = pVkGetDeviceImageMemoryRequirementsKHR (deviceCmds (device :: Device))
+  lift $ unless (vkGetDeviceImageMemoryRequirementsKHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceImageMemoryRequirementsKHR is null" Nothing Nothing
+  let vkGetDeviceImageMemoryRequirementsKHR' = mkVkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHRPtr
+  pInfo <- ContT $ withCStruct (info)
+  pPMemoryRequirements <- ContT (withZeroCStruct @(MemoryRequirements2 _))
+  lift $ traceAroundEvent "vkGetDeviceImageMemoryRequirementsKHR" (vkGetDeviceImageMemoryRequirementsKHR' (deviceHandle (device)) pInfo (forgetExtensions (pPMemoryRequirements)))
+  pMemoryRequirements <- lift $ peekCStruct @(MemoryRequirements2 _) pPMemoryRequirements
+  pure $ (pMemoryRequirements)
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkGetDeviceImageSparseMemoryRequirementsKHR
+  :: FunPtr (Ptr Device_T -> Ptr DeviceImageMemoryRequirementsKHR -> Ptr Word32 -> Ptr SparseImageMemoryRequirements2 -> IO ()) -> Ptr Device_T -> Ptr DeviceImageMemoryRequirementsKHR -> Ptr Word32 -> Ptr SparseImageMemoryRequirements2 -> IO ()
+
+-- | vkGetDeviceImageSparseMemoryRequirementsKHR - Query the memory
+-- requirements for a sparse image
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkGetDeviceImageSparseMemoryRequirementsKHR-device-parameter#
+--     @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
+--
+-- -   #VUID-vkGetDeviceImageSparseMemoryRequirementsKHR-pInfo-parameter#
+--     @pInfo@ /must/ be a valid pointer to a valid
+--     'DeviceImageMemoryRequirementsKHR' structure
+--
+-- -   #VUID-vkGetDeviceImageSparseMemoryRequirementsKHR-pSparseMemoryRequirementCount-parameter#
+--     @pSparseMemoryRequirementCount@ /must/ be a valid pointer to a
+--     @uint32_t@ value
+--
+-- -   #VUID-vkGetDeviceImageSparseMemoryRequirementsKHR-pSparseMemoryRequirements-parameter#
+--     If the value referenced by @pSparseMemoryRequirementCount@ is not
+--     @0@, and @pSparseMemoryRequirements@ is not @NULL@,
+--     @pSparseMemoryRequirements@ /must/ be a valid pointer to an array of
+--     @pSparseMemoryRequirementCount@
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2'
+--     structures
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 VK_KHR_maintenance4>,
+-- 'Vulkan.Core10.Handles.Device', 'DeviceImageMemoryRequirementsKHR',
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.SparseImageMemoryRequirements2'
+getDeviceImageSparseMemoryRequirementsKHR :: forall io
+                                           . (MonadIO io)
+                                          => -- | @device@ is the logical device intended to own the image.
+                                             Device
+                                          -> -- | @pInfo@ is a pointer to a 'DeviceImageMemoryRequirementsKHR' structure
+                                             -- containing parameters required for the memory requirements query.
+                                             ("info" ::: DeviceImageMemoryRequirementsKHR)
+                                          -> io (("sparseMemoryRequirements" ::: Vector SparseImageMemoryRequirements2))
+getDeviceImageSparseMemoryRequirementsKHR device info = liftIO . evalContT $ do
+  let vkGetDeviceImageSparseMemoryRequirementsKHRPtr = pVkGetDeviceImageSparseMemoryRequirementsKHR (deviceCmds (device :: Device))
+  lift $ unless (vkGetDeviceImageSparseMemoryRequirementsKHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkGetDeviceImageSparseMemoryRequirementsKHR is null" Nothing Nothing
+  let vkGetDeviceImageSparseMemoryRequirementsKHR' = mkVkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHRPtr
+  let device' = deviceHandle (device)
+  pInfo <- ContT $ withCStruct (info)
+  pPSparseMemoryRequirementCount <- ContT $ bracket (callocBytes @Word32 4) free
+  lift $ traceAroundEvent "vkGetDeviceImageSparseMemoryRequirementsKHR" (vkGetDeviceImageSparseMemoryRequirementsKHR' device' pInfo (pPSparseMemoryRequirementCount) (nullPtr))
+  pSparseMemoryRequirementCount <- lift $ peek @Word32 pPSparseMemoryRequirementCount
+  pPSparseMemoryRequirements <- ContT $ bracket (callocBytes @SparseImageMemoryRequirements2 ((fromIntegral (pSparseMemoryRequirementCount)) * 64)) free
+  _ <- traverse (\i -> ContT $ pokeZeroCStruct (pPSparseMemoryRequirements `advancePtrBytes` (i * 64) :: Ptr SparseImageMemoryRequirements2) . ($ ())) [0..(fromIntegral (pSparseMemoryRequirementCount)) - 1]
+  lift $ traceAroundEvent "vkGetDeviceImageSparseMemoryRequirementsKHR" (vkGetDeviceImageSparseMemoryRequirementsKHR' device' pInfo (pPSparseMemoryRequirementCount) ((pPSparseMemoryRequirements)))
+  pSparseMemoryRequirementCount' <- lift $ peek @Word32 pPSparseMemoryRequirementCount
+  pSparseMemoryRequirements' <- lift $ generateM (fromIntegral (pSparseMemoryRequirementCount')) (\i -> peekCStruct @SparseImageMemoryRequirements2 (((pPSparseMemoryRequirements) `advancePtrBytes` (64 * (i)) :: Ptr SparseImageMemoryRequirements2)))
+  pure $ (pSparseMemoryRequirements')
+
+
+-- | VkDeviceBufferMemoryRequirementsKHR - (None)
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 VK_KHR_maintenance4>,
+-- 'Vulkan.Core10.Buffer.BufferCreateInfo',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'getDeviceBufferMemoryRequirementsKHR'
+data DeviceBufferMemoryRequirementsKHR = DeviceBufferMemoryRequirementsKHR
+  { -- | @pCreateInfo@ is a pointer to a 'Vulkan.Core10.Buffer.BufferCreateInfo'
+    -- structure containing parameters affecting creation of the buffer to
+    -- query.
+    --
+    -- #VUID-VkDeviceBufferMemoryRequirementsKHR-pCreateInfo-parameter#
+    -- @pCreateInfo@ /must/ be a valid pointer to a valid
+    -- 'Vulkan.Core10.Buffer.BufferCreateInfo' structure
+    createInfo :: SomeStruct BufferCreateInfo }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (DeviceBufferMemoryRequirementsKHR)
+#endif
+deriving instance Show DeviceBufferMemoryRequirementsKHR
+
+instance ToCStruct DeviceBufferMemoryRequirementsKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p DeviceBufferMemoryRequirementsKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    pCreateInfo'' <- ContT @_ @_ @(Ptr (BufferCreateInfo '[])) $ \cont -> withSomeCStruct @BufferCreateInfo (createInfo) (cont . castPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr (BufferCreateInfo _)))) pCreateInfo''
+    lift $ f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    pCreateInfo'' <- ContT @_ @_ @(Ptr (BufferCreateInfo '[])) $ \cont -> withSomeCStruct @BufferCreateInfo ((SomeStruct zero)) (cont . castPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr (BufferCreateInfo _)))) pCreateInfo''
+    lift $ f
+
+instance FromCStruct DeviceBufferMemoryRequirementsKHR where
+  peekCStruct p = do
+    pCreateInfo <- peekSomeCStruct . forgetExtensions =<< peek ((p `plusPtr` 16 :: Ptr (Ptr (BufferCreateInfo _))))
+    pure $ DeviceBufferMemoryRequirementsKHR
+             pCreateInfo
+
+instance Zero DeviceBufferMemoryRequirementsKHR where
+  zero = DeviceBufferMemoryRequirementsKHR
+           (SomeStruct zero)
+
+
+-- | VkDeviceImageMemoryRequirementsKHR - (None)
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06416# The
+--     @pCreateInfo@::@pNext@ chain /must/ not contain a
+--     'Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR'
+--     structure
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06417# If
+--     @pCreateInfo@::@flags@ has
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
+--     set then @planAspect@ /must/ not be zero
+--
+-- -   #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
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06419# If
+--     @pCreateInfo@::@flags@ has
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
+--     set and if the @pCreateInfo@::@tiling@ is
+--     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR' or
+--     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_OPTIMAL', then
+--     @planeAspect@ /must/ be a single valid /format plane/ for the image
+--     (that is, for a two-plane image @planeAspect@ /must/ be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT',
+--     and for a three-plane image @planeAspect@ /must/ be
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_0_BIT',
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_1_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_PLANE_2_BIT')
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-06420# If
+--     @pCreateInfo@::@flags@ has
+--     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
+--     set and the @pCreateInfo@::@tiling@ is
+--     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',
+--     then @planeAspect@ /must/ be a single valid /memory plane/ for the
+--     image (that is, @aspectMask@ /must/ specify a plane index that is
+--     less than the
+--     'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.DrmFormatModifierPropertiesEXT'::@drmFormatModifierPlaneCount@
+--     associated with the image’s @format@ and
+--     'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierPropertiesEXT'::@drmFormatModifier@)
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-sType-sType# @sType@ /must/
+--     be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR'
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pNext-pNext# @pNext@ /must/
+--     be @NULL@
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-pCreateInfo-parameter#
+--     @pCreateInfo@ /must/ be a valid pointer to a valid
+--     'Vulkan.Core10.Image.ImageCreateInfo' structure
+--
+-- -   #VUID-VkDeviceImageMemoryRequirementsKHR-planeAspect-parameter#
+--     @planeAspect@ /must/ be a valid
+--     'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' value
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 VK_KHR_maintenance4>,
+-- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits',
+-- 'Vulkan.Core10.Image.ImageCreateInfo',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'getDeviceImageMemoryRequirementsKHR',
+-- 'getDeviceImageSparseMemoryRequirementsKHR'
+data DeviceImageMemoryRequirementsKHR = DeviceImageMemoryRequirementsKHR
+  { -- | @pCreateInfo@ is a pointer to a 'Vulkan.Core10.Image.ImageCreateInfo'
+    -- structure containing parameters affecting creation of the image to
+    -- query.
+    createInfo :: SomeStruct ImageCreateInfo
+  , -- | @planeAspect@ is a
+    -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.ImageAspectFlagBits' value
+    -- specifying the aspect corresponding to the image plane to query. This
+    -- parameter is ignored unless @pCreateInfo@::@flags@ has
+    -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' or
+    -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT'
+    -- set.
+    planeAspect :: ImageAspectFlagBits
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (DeviceImageMemoryRequirementsKHR)
+#endif
+deriving instance Show DeviceImageMemoryRequirementsKHR
+
+instance ToCStruct DeviceImageMemoryRequirementsKHR where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p DeviceImageMemoryRequirementsKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    pCreateInfo'' <- ContT @_ @_ @(Ptr (ImageCreateInfo '[])) $ \cont -> withSomeCStruct @ImageCreateInfo (createInfo) (cont . castPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr (ImageCreateInfo _)))) pCreateInfo''
+    lift $ poke ((p `plusPtr` 24 :: Ptr ImageAspectFlagBits)) (planeAspect)
+    lift $ f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    pCreateInfo'' <- ContT @_ @_ @(Ptr (ImageCreateInfo '[])) $ \cont -> withSomeCStruct @ImageCreateInfo ((SomeStruct zero)) (cont . castPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr (Ptr (ImageCreateInfo _)))) pCreateInfo''
+    lift $ poke ((p `plusPtr` 24 :: Ptr ImageAspectFlagBits)) (zero)
+    lift $ f
+
+instance FromCStruct DeviceImageMemoryRequirementsKHR where
+  peekCStruct p = do
+    pCreateInfo <- peekSomeCStruct . forgetExtensions =<< peek ((p `plusPtr` 16 :: Ptr (Ptr (ImageCreateInfo _))))
+    planeAspect <- peek @ImageAspectFlagBits ((p `plusPtr` 24 :: Ptr ImageAspectFlagBits))
+    pure $ DeviceImageMemoryRequirementsKHR
+             pCreateInfo planeAspect
+
+instance Zero DeviceImageMemoryRequirementsKHR where
+  zero = DeviceImageMemoryRequirementsKHR
+           (SomeStruct zero)
+           zero
+
+
+-- | VkPhysicalDeviceMaintenance4FeaturesKHR - Structure describing whether
+-- the implementation supports maintenance4 functionality
+--
+-- = Members
+--
+-- This structure describes the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceMaintenance4FeaturesKHR' structure is included in
+-- the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDeviceMaintenance4FeaturesKHR' /can/ also be used in
+-- the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo' to
+-- selectively enable these features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 VK_KHR_maintenance4>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceMaintenance4FeaturesKHR = PhysicalDeviceMaintenance4FeaturesKHR
+  { -- | #features-maintenance4# @maintenance4@ indicates that the implementation
+    -- supports the following:
+    --
+    -- -   The application /may/ destroy a
+    --     'Vulkan.Core10.Handles.PipelineLayout' object immediately after
+    --     using it to create another object.
+    --
+    -- -   @LocalSizeId@ /can/ be used as an alternative to @LocalSize@ to
+    --     specify the local workgroup size with specialization constants.
+    --
+    -- -   Images created with identical creation parameters will always have
+    --     the same alignment requirements.
+    --
+    -- -   The size memory requirement of a buffer or image is never greater
+    --     than that of another buffer or image created with a greater or equal
+    --     size.
+    --
+    -- -   Push constants do not have to be initialized before they are
+    --     dynamically accessed.
+    --
+    -- -   The interface matching rules allow a larger output vector to match
+    --     with a smaller input vector, with additional values being discarded.
+    maintenance4 :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceMaintenance4FeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceMaintenance4FeaturesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance4FeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceMaintenance4FeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (maintenance4))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceMaintenance4FeaturesKHR where
+  peekCStruct p = do
+    maintenance4 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceMaintenance4FeaturesKHR
+             (bool32ToBool maintenance4)
+
+instance Storable PhysicalDeviceMaintenance4FeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceMaintenance4FeaturesKHR where
+  zero = PhysicalDeviceMaintenance4FeaturesKHR
+           zero
+
+
+-- | VkPhysicalDeviceMaintenance4PropertiesKHR - Structure describing various
+-- implementation-defined properties introduced with VK_KHR_maintenance4
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceMaintenance4PropertiesKHR' structure is included
+-- in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',
+-- it is filled in with each corresponding implementation-dependent
+-- property.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 VK_KHR_maintenance4>,
+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceMaintenance4PropertiesKHR = PhysicalDeviceMaintenance4PropertiesKHR
+  { -- | #limits-maxBufferSize# @maxBufferSize@ is the maximum size
+    -- 'Vulkan.Core10.Handles.Buffer' that /can/ be created.
+    maxBufferSize :: DeviceSize }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceMaintenance4PropertiesKHR)
+#endif
+deriving instance Show PhysicalDeviceMaintenance4PropertiesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance4PropertiesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceMaintenance4PropertiesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (maxBufferSize)
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr DeviceSize)) (zero)
+    f
+
+instance FromCStruct PhysicalDeviceMaintenance4PropertiesKHR where
+  peekCStruct p = do
+    maxBufferSize <- peek @DeviceSize ((p `plusPtr` 16 :: Ptr DeviceSize))
+    pure $ PhysicalDeviceMaintenance4PropertiesKHR
+             maxBufferSize
+
+instance Storable PhysicalDeviceMaintenance4PropertiesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceMaintenance4PropertiesKHR where
+  zero = PhysicalDeviceMaintenance4PropertiesKHR
+           zero
+
+
+type KHR_MAINTENANCE_4_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_4_SPEC_VERSION"
+pattern KHR_MAINTENANCE_4_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_MAINTENANCE_4_SPEC_VERSION = 1
+
+
+type KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4"
+
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_4_EXTENSION_NAME"
+pattern KHR_MAINTENANCE_4_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_MAINTENANCE_4_EXTENSION_NAME = "VK_KHR_maintenance4"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance4.hs-boot
@@ -0,0 +1,200 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_maintenance4 - device extension
+--
+-- == VK_KHR_maintenance4
+--
+-- [__Name String__]
+--     @VK_KHR_maintenance4@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     414
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.1
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance4] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_KHR_maintenance4 extension>> >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-08-18
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   Requires SPIR-V 1.2 for @LocalSizeId@
+--
+-- [__Contributors__]
+--
+--     -   Lionel Duc, NVIDIA
+--
+--     -   Jason Ekstrand, Intel
+--
+--     -   Spencer Fricke, Samsung
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Lionel Landwerlin, Intel
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Tom Olson, Arm
+--
+--     -   Stu Smith, AMD
+--
+-- == Description
+--
+-- @VK_KHR_maintenance4@ adds a collection of minor features, none of which
+-- would warrant an entire extension of their own.
+--
+-- The new features are as follows:
+--
+-- -   Allow the application to destroy their
+--     'Vulkan.Core10.Handles.PipelineLayout' object immediately after it
+--     was used to create another object. It is no longer necessary to keep
+--     its handle valid while the created object is in use.
+--
+-- -   Add a new
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxBufferSize maxBufferSize>
+--     implementation-defined limit for the maximum size
+--     'Vulkan.Core10.Handles.Buffer' that /can/ be created.
+--
+-- -   Add support for the SPIR-V 1.2 @LocalSizeId@ execution mode, which
+--     can be used as an alternative to @LocalSize@ to specify the local
+--     workgroup size with specialization constants.
+--
+-- -   Add a guarantee that images created with identical creation
+--     parameters will always have the same alignment requirements.
+--
+-- -   Add new 'getDeviceBufferMemoryRequirementsKHR',
+--     'getDeviceImageMemoryRequirementsKHR', and
+--     'getDeviceImageSparseMemoryRequirementsKHR' to allow the application
+--     to query the image memory requirements without having to create an
+--     image object and query it.
+--
+-- -   Relax the requirement that push constants must be initialized before
+--     they are dynamically accessed.
+--
+-- -   Relax the interface matching rules to allow a larger output vector
+--     to match with a smaller input vector, with additional values being
+--     discarded.
+--
+-- == New Commands
+--
+-- -   'getDeviceBufferMemoryRequirementsKHR'
+--
+-- -   'getDeviceImageMemoryRequirementsKHR'
+--
+-- -   'getDeviceImageSparseMemoryRequirementsKHR'
+--
+-- == New Structures
+--
+-- -   'DeviceBufferMemoryRequirementsKHR'
+--
+-- -   'DeviceImageMemoryRequirementsKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceMaintenance4FeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceMaintenance4PropertiesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_MAINTENANCE_4_EXTENSION_NAME'
+--
+-- -   'KHR_MAINTENANCE_4_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_BUFFER_MEMORY_REQUIREMENTS_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_IMAGE_MEMORY_REQUIREMENTS_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES_KHR'
+--
+-- == Issues
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-08-18 (Piers Daniell)
+--
+--     -   Internal revisions
+--
+-- = See Also
+--
+-- 'DeviceBufferMemoryRequirementsKHR', 'DeviceImageMemoryRequirementsKHR',
+-- 'PhysicalDeviceMaintenance4FeaturesKHR',
+-- 'PhysicalDeviceMaintenance4PropertiesKHR',
+-- 'getDeviceBufferMemoryRequirementsKHR',
+-- 'getDeviceImageMemoryRequirementsKHR',
+-- 'getDeviceImageSparseMemoryRequirementsKHR'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance4 Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_KHR_maintenance4  ( DeviceBufferMemoryRequirementsKHR
+                                              , DeviceImageMemoryRequirementsKHR
+                                              , PhysicalDeviceMaintenance4FeaturesKHR
+                                              , PhysicalDeviceMaintenance4PropertiesKHR
+                                              ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data DeviceBufferMemoryRequirementsKHR
+
+instance ToCStruct DeviceBufferMemoryRequirementsKHR
+instance Show DeviceBufferMemoryRequirementsKHR
+
+instance FromCStruct DeviceBufferMemoryRequirementsKHR
+
+
+data DeviceImageMemoryRequirementsKHR
+
+instance ToCStruct DeviceImageMemoryRequirementsKHR
+instance Show DeviceImageMemoryRequirementsKHR
+
+instance FromCStruct DeviceImageMemoryRequirementsKHR
+
+
+data PhysicalDeviceMaintenance4FeaturesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance4FeaturesKHR
+instance Show PhysicalDeviceMaintenance4FeaturesKHR
+
+instance FromCStruct PhysicalDeviceMaintenance4FeaturesKHR
+
+
+data PhysicalDeviceMaintenance4PropertiesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance4PropertiesKHR
+instance Show PhysicalDeviceMaintenance4PropertiesKHR
+
+instance FromCStruct PhysicalDeviceMaintenance4PropertiesKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_multiview.hs b/src/Vulkan/Extensions/VK_KHR_multiview.hs
--- a/src/Vulkan/Extensions/VK_KHR_multiview.hs
+++ b/src/Vulkan/Extensions/VK_KHR_multiview.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_multiview:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_multiview] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_multiview extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_performance_query.hs b/src/Vulkan/Extensions/VK_KHR_performance_query.hs
--- a/src/Vulkan/Extensions/VK_KHR_performance_query.hs
+++ b/src/Vulkan/Extensions/VK_KHR_performance_query.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Alon Or-bach
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_performance_query:%20&body=@alonorbach%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_performance_query] @alonorbach%0A<<Here describe the issue or question you have about the VK_KHR_performance_query extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -691,6 +691,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'PerformanceCounterDescriptionKHR', 'PerformanceCounterKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR :: forall io
@@ -748,6 +749,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'QueryPoolPerformanceCreateInfoKHR'
 getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR :: forall io
@@ -808,6 +810,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'AcquireProfilingLockInfoKHR', 'Vulkan.Core10.Handles.Device'
 acquireProfilingLockKHR :: forall io
                          . (MonadIO io)
@@ -855,6 +858,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'Vulkan.Core10.Handles.Device'
 releaseProfilingLockKHR :: forall io
                          . (MonadIO io)
@@ -913,6 +917,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePerformanceQueryFeaturesKHR = PhysicalDevicePerformanceQueryFeaturesKHR
@@ -985,6 +990,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePerformanceQueryPropertiesKHR = PhysicalDevicePerformanceQueryPropertiesKHR
@@ -1037,6 +1043,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'PerformanceCounterScopeKHR', 'PerformanceCounterStorageKHR',
 -- 'PerformanceCounterUnitKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -1113,6 +1120,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'PerformanceCounterDescriptionFlagsKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'enumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR'
@@ -1217,6 +1225,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR'
 data QueryPoolPerformanceCreateInfoKHR = QueryPoolPerformanceCreateInfoKHR
@@ -1279,6 +1288,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'AcquireProfilingLockFlagsKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'acquireProfilingLockKHR'
@@ -1345,6 +1355,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PerformanceQuerySubmitInfoKHR = PerformanceQuerySubmitInfoKHR
   { -- | @counterPassIndex@ specifies which counter pass index is active.
@@ -1425,6 +1436,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'PerformanceCounterKHR'
 newtype PerformanceCounterScopeKHR = PerformanceCounterScopeKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1475,6 +1487,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'PerformanceCounterKHR'
 newtype PerformanceCounterUnitKHR = PerformanceCounterUnitKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1563,6 +1576,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'PerformanceCounterKHR'
 newtype PerformanceCounterStorageKHR = PerformanceCounterStorageKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1629,6 +1643,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'PerformanceCounterDescriptionFlagsKHR'
 newtype PerformanceCounterDescriptionFlagBitsKHR = PerformanceCounterDescriptionFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -1676,6 +1691,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_performance_query VK_KHR_performance_query>,
 -- 'AcquireProfilingLockFlagsKHR'
 newtype AcquireProfilingLockFlagBitsKHR = AcquireProfilingLockFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_performance_query.hs-boot b/src/Vulkan/Extensions/VK_KHR_performance_query.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_performance_query.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_performance_query.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Alon Or-bach
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_performance_query:%20&body=@alonorbach%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_performance_query] @alonorbach%0A<<Here describe the issue or question you have about the VK_KHR_performance_query extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs b/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs
--- a/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs
+++ b/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_pipeline_executable_properties:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_pipeline_executable_properties] @jekstrand%0A<<Here describe the issue or question you have about the VK_KHR_pipeline_executable_properties extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -352,6 +352,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.Handles.Device', 'PipelineExecutablePropertiesKHR',
 -- 'PipelineInfoKHR'
 getPipelineExecutablePropertiesKHR :: forall io
@@ -453,6 +454,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.Handles.Device', 'PipelineExecutableInfoKHR',
 -- 'PipelineExecutableStatisticKHR'
 getPipelineExecutableStatisticsKHR :: forall io
@@ -563,6 +565,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.Handles.Device', 'PipelineExecutableInfoKHR',
 -- 'PipelineExecutableInternalRepresentationKHR'
 getPipelineExecutableInternalRepresentationsKHR :: forall io
@@ -616,6 +619,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePipelineExecutablePropertiesFeaturesKHR = PhysicalDevicePipelineExecutablePropertiesFeaturesKHR
@@ -667,6 +671,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPipelineExecutablePropertiesKHR'
@@ -733,6 +738,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPipelineExecutablePropertiesKHR'
@@ -812,6 +818,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPipelineExecutableInternalRepresentationsKHR',
@@ -881,6 +888,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'PipelineExecutableStatisticFormatKHR',
 -- 'PipelineExecutableStatisticValueKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -969,6 +977,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPipelineExecutableInternalRepresentationsKHR'
@@ -1087,6 +1096,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_executable_properties VK_KHR_pipeline_executable_properties>,
 -- 'PipelineExecutableStatisticKHR'
 newtype PipelineExecutableStatisticFormatKHR = PipelineExecutableStatisticFormatKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs-boot b/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_pipeline_executable_properties.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_pipeline_executable_properties:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_pipeline_executable_properties] @jekstrand%0A<<Here describe the issue or question you have about the VK_KHR_pipeline_executable_properties extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs b/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs
--- a/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs
+++ b/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Christoph Kubisch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_pipeline_library:%20&body=@pixeljetstream%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_pipeline_library] @pixeljetstream%0A<<Here describe the issue or question you have about the VK_KHR_pipeline_library extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -36,7 +36,7 @@
 --
 -- [__Contributors__]
 --
---     -   See contributors to @VK_KHR_ray_tracing@
+--     -   See contributors to @VK_KHR_ray_tracing_pipeline@
 --
 -- == Description
 --
@@ -140,6 +140,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_pipeline_library VK_KHR_pipeline_library>,
 -- 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
diff --git a/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs-boot b/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_pipeline_library.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Christoph Kubisch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_pipeline_library:%20&body=@pixeljetstream%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_pipeline_library] @pixeljetstream%0A<<Here describe the issue or question you have about the VK_KHR_pipeline_library extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -36,7 +36,7 @@
 --
 -- [__Contributors__]
 --
---     -   See contributors to @VK_KHR_ray_tracing@
+--     -   See contributors to @VK_KHR_ray_tracing_pipeline@
 --
 -- == Description
 --
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
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   Bill Hollings
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_portability_subset:%20&body=@billhollings%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_portability_subset] @billhollings%0A<<Here describe the issue or question you have about the VK_KHR_portability_subset extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -196,6 +196,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_portability_subset VK_KHR_portability_subset>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePortabilitySubsetFeaturesKHR = PhysicalDevicePortabilitySubsetFeaturesKHR
@@ -404,6 +405,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_portability_subset VK_KHR_portability_subset>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePortabilitySubsetPropertiesKHR = PhysicalDevicePortabilitySubsetPropertiesKHR
   { -- | #limits-minVertexInputBindingStrideAlignment#
diff --git a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot
@@ -32,7 +32,7 @@
 -- [__Contact__]
 --
 --     -   Bill Hollings
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_portability_subset:%20&body=@billhollings%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_portability_subset] @billhollings%0A<<Here describe the issue or question you have about the VK_KHR_portability_subset extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_present_id.hs b/src/Vulkan/Extensions/VK_KHR_present_id.hs
--- a/src/Vulkan/Extensions/VK_KHR_present_id.hs
+++ b/src/Vulkan/Extensions/VK_KHR_present_id.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Keith Packard
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_present_id:%20&body=@keithp%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_present_id] @keithp%0A<<Here describe the issue or question you have about the VK_KHR_present_id extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -165,6 +165,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_present_id VK_KHR_present_id>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePresentIdFeaturesKHR = PhysicalDevicePresentIdFeaturesKHR
@@ -270,6 +271,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_present_id VK_KHR_present_id>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PresentIdKHR = PresentIdKHR
   { -- | @swapchainCount@ is the number of swapchains being presented to the
diff --git a/src/Vulkan/Extensions/VK_KHR_present_id.hs-boot b/src/Vulkan/Extensions/VK_KHR_present_id.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_present_id.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_present_id.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Keith Packard
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_present_id:%20&body=@keithp%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_present_id] @keithp%0A<<Here describe the issue or question you have about the VK_KHR_present_id extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_present_wait.hs b/src/Vulkan/Extensions/VK_KHR_present_wait.hs
--- a/src/Vulkan/Extensions/VK_KHR_present_wait.hs
+++ b/src/Vulkan/Extensions/VK_KHR_present_wait.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Keith Packard
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_present_wait:%20&body=@keithp%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_present_wait] @keithp%0A<<Here describe the issue or question you have about the VK_KHR_present_wait extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -313,6 +313,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_present_wait VK_KHR_present_wait>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Extensions.Handles.SwapchainKHR'
 waitForPresentKHR :: forall io
                    . (MonadIO io)
@@ -373,6 +374,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_present_wait VK_KHR_present_wait>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePresentWaitFeaturesKHR = PhysicalDevicePresentWaitFeaturesKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_present_wait.hs-boot b/src/Vulkan/Extensions/VK_KHR_present_wait.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_present_wait.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_present_wait.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Keith Packard
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_present_wait:%20&body=@keithp%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_present_wait] @keithp%0A<<Here describe the issue or question you have about the VK_KHR_present_wait extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs b/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs
--- a/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs
+++ b/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_push_descriptor:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_push_descriptor] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_push_descriptor extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -313,6 +313,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',
 -- 'Vulkan.Core10.Handles.PipelineLayout',
@@ -469,6 +470,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_descriptor_update_template VK_KHR_descriptor_update_template>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core11.Handles.DescriptorUpdateTemplate',
 -- 'Vulkan.Core10.Handles.PipelineLayout'
@@ -518,6 +522,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDevicePushDescriptorPropertiesKHR = PhysicalDevicePushDescriptorPropertiesKHR
   { -- | #limits-maxPushDescriptors# @maxPushDescriptors@ is the maximum number
diff --git a/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs-boot b/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_push_descriptor.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_push_descriptor:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_push_descriptor] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_push_descriptor extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_ray_query.hs b/src/Vulkan/Extensions/VK_KHR_ray_query.hs
--- a/src/Vulkan/Extensions/VK_KHR_ray_query.hs
+++ b/src/Vulkan/Extensions/VK_KHR_ray_query.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_ray_query:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_ray_query] @dgkoch%0A<<Here describe the issue or question you have about the VK_KHR_ray_query extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -180,14 +180,14 @@
 -- > rayQueryInitializeEXT(rq, accStruct, gl_RayFlagsNoneEXT, 0, origin, tMin, direction, tMax);
 -- >
 -- > while(rayQueryProceedEXT(rq)) {
--- > 	if (rayQueryGetIntersectionTypeEXT(rq, false) == gl_RayQueryCandidateIntersectionTriangleEXT) {
--- > 		//...
--- > 		rayQueryConfirmIntersectionEXT(rq);
--- > 	}
+-- >     if (rayQueryGetIntersectionTypeEXT(rq, false) == gl_RayQueryCandidateIntersectionTriangleEXT) {
+-- >         //...
+-- >         rayQueryConfirmIntersectionEXT(rq);
+-- >     }
 -- > }
 -- >
 -- > if (rayQueryGetIntersectionTypeEXT(rq, true) == gl_RayQueryCommittedIntersectionNoneEXT) {
--- > 	//...
+-- >     //...
 -- > }
 --
 -- == Issues
@@ -200,14 +200,13 @@
 --     implementation flexibility and decoupling ray query support from ray
 --     pipelines:
 --
---     -   <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         (for acceleration structure operations)
+--     -   @VK_KHR_acceleration_structure@ (for acceleration structure
+--         operations)
 --
---     -   <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         (for ray tracing pipeline and shader stages)
+--     -   @VK_KHR_ray_tracing_pipeline@ (for ray tracing pipeline and
+--         shader stages)
 --
---     -   <VK_KHR_ray_query.html VK_KHR_ray_query> (for ray queries in
---         existing shader stages)
+--     -   @VK_KHR_ray_query@ (for ray queries in existing shader stages)
 --
 -- -   Update SPIRV capabilities to use @RayQueryKHR@
 --
@@ -297,6 +296,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_query VK_KHR_ray_query>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRayQueryFeaturesKHR = PhysicalDeviceRayQueryFeaturesKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_ray_query.hs-boot b/src/Vulkan/Extensions/VK_KHR_ray_query.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_ray_query.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_ray_query.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_ray_query:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_ray_query] @dgkoch%0A<<Here describe the issue or question you have about the VK_KHR_ray_query extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -180,14 +180,14 @@
 -- > rayQueryInitializeEXT(rq, accStruct, gl_RayFlagsNoneEXT, 0, origin, tMin, direction, tMax);
 -- >
 -- > while(rayQueryProceedEXT(rq)) {
--- > 	if (rayQueryGetIntersectionTypeEXT(rq, false) == gl_RayQueryCandidateIntersectionTriangleEXT) {
--- > 		//...
--- > 		rayQueryConfirmIntersectionEXT(rq);
--- > 	}
+-- >     if (rayQueryGetIntersectionTypeEXT(rq, false) == gl_RayQueryCandidateIntersectionTriangleEXT) {
+-- >         //...
+-- >         rayQueryConfirmIntersectionEXT(rq);
+-- >     }
 -- > }
 -- >
 -- > if (rayQueryGetIntersectionTypeEXT(rq, true) == gl_RayQueryCommittedIntersectionNoneEXT) {
--- > 	//...
+-- >     //...
 -- > }
 --
 -- == Issues
@@ -200,14 +200,13 @@
 --     implementation flexibility and decoupling ray query support from ray
 --     pipelines:
 --
---     -   <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         (for acceleration structure operations)
+--     -   @VK_KHR_acceleration_structure@ (for acceleration structure
+--         operations)
 --
---     -   <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         (for ray tracing pipeline and shader stages)
+--     -   @VK_KHR_ray_tracing_pipeline@ (for ray tracing pipeline and
+--         shader stages)
 --
---     -   <VK_KHR_ray_query.html VK_KHR_ray_query> (for ray queries in
---         existing shader stages)
+--     -   @VK_KHR_ray_query@ (for ray queries in existing shader stages)
 --
 -- -   Update SPIRV capabilities to use @RayQueryKHR@
 --
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
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_ray_tracing_pipeline:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_ray_tracing_pipeline] @dgkoch%0A<<Here describe the issue or question you have about the VK_KHR_ray_tracing_pipeline extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -44,21 +44,19 @@
 --         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_ray_tracing.txt GLSL_EXT_ray_tracing>
 --
 --     -   This extension interacts with
---         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#version-1.2 Vulkan 1.2>
---         and
---         <VK_KHR_vulkan_memory_model.html VK_KHR_vulkan_memory_model>,
---         adding the
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.2 Vulkan 1.2>
+--         and @VK_KHR_vulkan_memory_model@, adding the
 --         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shader-call-related shader-call-related>
 --         relation of invocations,
 --         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shader-call-order shader-call-order>
 --         partial order of dynamic instances of instructions, and the
---         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shader-scope-shadercall ShaderCallKHR>
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-scope-shadercall ShaderCallKHR>
 --         scope.
 --
---     -   This extension interacts with
---         <VK_KHR_pipeline_library.html VK_KHR_pipeline_library>, enabling
---         pipeline libraries to be used with ray tracing pipelines and
---         enabling usage of 'RayTracingPipelineInterfaceCreateInfoKHR'.
+--     -   This extension interacts with @VK_KHR_pipeline_library@,
+--         enabling pipeline libraries to be used with ray tracing
+--         pipelines and enabling usage of
+--         'RayTracingPipelineInterfaceCreateInfoKHR'.
 --
 -- [__Contributors__]
 --
@@ -464,8 +462,7 @@
 --     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DEFER_COMPILE_BIT_NV'
 --
 --     -   'Vulkan.Extensions.VK_NV_ray_tracing.compileDeferredNV' command
---         (replaced with
---         <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>)
+--         (replaced with @VK_KHR_deferred_host_operations@)
 --
 -- (3) What are the changes between the public provisional
 -- (VK_KHR_ray_tracing v8) release and the internal provisional
@@ -473,8 +470,7 @@
 --
 -- -   Require Vulkan 1.1 and SPIR-V 1.4
 --
--- -   Added interactions with Vulkan 1.2 and
---     <VK_KHR_vulkan_memory_model.html VK_KHR_vulkan_memory_model>
+-- -   Added interactions with Vulkan 1.2 and @VK_KHR_vulkan_memory_model@
 --
 -- -   added creation time capture and replay flags
 --
@@ -491,16 +487,14 @@
 -- -   require the shader binding table buffers to have the
 --     @VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR@ set
 --
--- -   make <VK_KHR_pipeline_library.html VK_KHR_pipeline_library> an
---     interaction instead of required extension
+-- -   make @VK_KHR_pipeline_library@ an interaction instead of required
+--     extension
 --
 -- -   rename the @libraries@ member of 'RayTracingPipelineCreateInfoKHR'
 --     to @pLibraryInfo@ and make it a pointer
 --
--- -   make
---     <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---     an interaction instead of a required extension (later went back on
---     this)
+-- -   make @VK_KHR_deferred_host_operations@ an interaction instead of a
+--     required extension (later went back on this)
 --
 -- -   added explicit stack size management for ray tracing pipelines
 --
@@ -539,8 +533,7 @@
 --         that the implementation can modify such parameters until the
 --         deferred host operation completes
 --
---     -   <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---         is required again
+--     -   @VK_KHR_deferred_host_operations@ is required again
 --
 -- (4) What are the changes between the internal provisional
 -- (VK_KHR_ray_tracing v9) release and the final
@@ -551,14 +544,13 @@
 --     implementation flexibility and decoupling ray query support from ray
 --     pipelines:
 --
---     -   <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         (for acceleration structure operations)
+--     -   @VK_KHR_acceleration_structure@ (for acceleration structure
+--         operations)
 --
---     -   <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         (for ray tracing pipeline and shader stages)
+--     -   @VK_KHR_ray_tracing_pipeline@ (for ray tracing pipeline and
+--         shader stages)
 --
---     -   <VK_KHR_ray_query.html VK_KHR_ray_query> (for ray queries in
---         existing shader stages)
+--     -   @VK_KHR_ray_query@ (for ray queries in existing shader stages)
 --
 -- -   Require @Volatile@ for the following builtins in the ray generation,
 --     closest hit, miss, intersection, and callable shader stages:
@@ -577,9 +569,7 @@
 --         and is required on shader binding table buffers
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_STORAGE_BUFFER_BIT'
---         is used in
---         <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         for @scratchData@
+--         is used in @VK_KHR_acceleration_structure@ for @scratchData@
 --
 -- -   rename @maxRecursionDepth@ to @maxRayPipelineRecursionDepth@
 --     (pipeline creation) and @maxRayRecursionDepth@ (limit) to reduce
@@ -954,6 +944,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdTraceRaysKHR-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdTraceRaysKHR-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdTraceRaysKHR-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -963,7 +969,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdTraceRaysKHR-None-02698# For each push constant that is
+-- -   #VUID-vkCmdTraceRaysKHR-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -1061,28 +1069,28 @@
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdTraceRaysKHR-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -1333,6 +1341,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'StridedDeviceAddressRegionKHR'
 cmdTraceRaysKHR :: forall io
                  . (MonadIO io)
@@ -1435,6 +1444,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline'
 getRayTracingShaderGroupHandlesKHR :: forall io
                                     . (MonadIO io)
@@ -1532,6 +1543,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline'
 getRayTracingCaptureReplayShaderGroupHandlesKHR :: forall io
                                                  . (MonadIO io)
@@ -1685,6 +1697,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Extensions.Handles.DeferredOperationKHR',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline',
@@ -1827,6 +1840,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdTraceRaysIndirectKHR-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdTraceRaysIndirectKHR-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -1836,14 +1865,15 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdTraceRaysIndirectKHR-None-02698# For each push constant
---     that is statically used by the 'Vulkan.Core10.Handles.Pipeline'
---     bound to the pipeline bind point used by this command, a push
---     constant value /must/ have been set for the same pipeline bind
---     point, with a 'Vulkan.Core10.Handles.PipelineLayout' that is
---     compatible for push constants, with the
---     'Vulkan.Core10.Handles.PipelineLayout' used to create the current
---     'Vulkan.Core10.Handles.Pipeline', as described in
+-- -   #VUID-vkCmdTraceRaysIndirectKHR-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
+--     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
+--     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
+--     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-None-02699# Descriptors in each
@@ -1936,28 +1966,28 @@
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdTraceRaysIndirectKHR-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -2221,6 +2251,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',
 -- 'StridedDeviceAddressRegionKHR'
@@ -2304,6 +2335,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline',
 -- 'ShaderGroupShaderKHR'
 getRayTracingShaderGroupStackSizeKHR :: forall io
@@ -2334,14 +2366,18 @@
   "dynamic" mkVkCmdSetRayTracingPipelineStackSizeKHR
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> IO ()
 
--- | vkCmdSetRayTracingPipelineStackSizeKHR - Set the dynamic stack size for
--- a ray tracing pipeline
+-- | vkCmdSetRayTracingPipelineStackSizeKHR - Set the stack size dynamically
+-- for a ray tracing pipeline
 --
 -- = Description
 --
--- See
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#ray-tracing-pipeline-stack Ray Tracing Pipeline Stack>
--- for more on computing @pipelineStackSize@.
+-- This command sets the stack size for subsequent ray tracing commands
+-- when the ray tracing pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, the stack size is computed as described in
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#ray-tracing-pipeline-stack Ray Tracing Pipeline Stack>.
 --
 -- == Valid Usage
 --
@@ -2387,6 +2423,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetRayTracingPipelineStackSizeKHR :: forall io
                                       . (MonadIO io)
@@ -2483,6 +2520,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'RayTracingPipelineCreateInfoKHR', 'RayTracingShaderGroupTypeKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data RayTracingShaderGroupCreateInfoKHR = RayTracingShaderGroupCreateInfoKHR
@@ -2514,7 +2552,7 @@
     -- 'RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_KHR', and
     -- 'Vulkan.Core10.APIConstants.SHADER_UNUSED_KHR' otherwise.
     intersectionShader :: Word32
-  , -- | @pShaderGroupCaptureReplayHandle@ is an optional pointer to replay
+  , -- | @pShaderGroupCaptureReplayHandle@ is @NULL@ or a pointer to replay
     -- information for this shader group. Ignored if
     -- 'PhysicalDeviceRayTracingPipelineFeaturesKHR'::@rayTracingPipelineShaderGroupHandleCaptureReplay@
     -- is 'Vulkan.Core10.FundamentalTypes.FALSE'.
@@ -2763,8 +2801,8 @@
 --     bit set
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-pLibraryInfo-03595# If the
---     <VK_KHR_pipeline_library.html VK_KHR_pipeline_library> extension is
---     not enabled, @pLibraryInfo@ and @pLibraryInterface@ /must/ be @NULL@
+--     @VK_KHR_pipeline_library@ extension is not enabled, @pLibraryInfo@
+--     and @pLibraryInterface@ /must/ be @NULL@
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-flags-03470# If @flags@
 --     includes
@@ -2876,6 +2914,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlags',
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo',
@@ -3096,6 +3135,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRayTracingPipelineFeaturesKHR = PhysicalDeviceRayTracingPipelineFeaturesKHR
@@ -3185,6 +3225,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRayTracingPipelinePropertiesKHR = PhysicalDeviceRayTracingPipelinePropertiesKHR
   { -- | @shaderGroupHandleSize@ is the size in bytes of the shader header.
@@ -3294,6 +3335,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'cmdTraceRaysIndirectKHR',
 -- 'cmdTraceRaysKHR'
@@ -3382,7 +3424,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>
 data TraceRaysIndirectCommandKHR = TraceRaysIndirectCommandKHR
   { -- | @width@ is the width of the ray trace query dimensions.
     width :: Word32
@@ -3460,6 +3502,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'RayTracingPipelineCreateInfoKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data RayTracingPipelineInterfaceCreateInfoKHR = RayTracingPipelineInterfaceCreateInfoKHR
@@ -3528,6 +3571,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'RayTracingShaderGroupCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.RayTracingShaderGroupCreateInfoNV'
 newtype RayTracingShaderGroupTypeKHR = RayTracingShaderGroupTypeKHR Int32
@@ -3584,6 +3629,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_ray_tracing_pipeline VK_KHR_ray_tracing_pipeline>,
 -- 'getRayTracingShaderGroupStackSizeKHR'
 newtype ShaderGroupShaderKHR = ShaderGroupShaderKHR Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot b/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_ray_tracing_pipeline:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_ray_tracing_pipeline] @dgkoch%0A<<Here describe the issue or question you have about the VK_KHR_ray_tracing_pipeline extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -44,21 +44,19 @@
 --         <https://github.com/KhronosGroup/GLSL/blob/master/extensions/ext/GLSL_EXT_ray_tracing.txt GLSL_EXT_ray_tracing>
 --
 --     -   This extension interacts with
---         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#version-1.2 Vulkan 1.2>
---         and
---         <VK_KHR_vulkan_memory_model.html VK_KHR_vulkan_memory_model>,
---         adding the
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.2 Vulkan 1.2>
+--         and @VK_KHR_vulkan_memory_model@, adding the
 --         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shader-call-related shader-call-related>
 --         relation of invocations,
 --         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shader-call-order shader-call-order>
 --         partial order of dynamic instances of instructions, and the
---         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shader-scope-shadercall ShaderCallKHR>
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-scope-shadercall ShaderCallKHR>
 --         scope.
 --
---     -   This extension interacts with
---         <VK_KHR_pipeline_library.html VK_KHR_pipeline_library>, enabling
---         pipeline libraries to be used with ray tracing pipelines and
---         enabling usage of 'RayTracingPipelineInterfaceCreateInfoKHR'.
+--     -   This extension interacts with @VK_KHR_pipeline_library@,
+--         enabling pipeline libraries to be used with ray tracing
+--         pipelines and enabling usage of
+--         'RayTracingPipelineInterfaceCreateInfoKHR'.
 --
 -- [__Contributors__]
 --
@@ -464,8 +462,7 @@
 --     -   'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DEFER_COMPILE_BIT_NV'
 --
 --     -   'Vulkan.Extensions.VK_NV_ray_tracing.compileDeferredNV' command
---         (replaced with
---         <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>)
+--         (replaced with @VK_KHR_deferred_host_operations@)
 --
 -- (3) What are the changes between the public provisional
 -- (VK_KHR_ray_tracing v8) release and the internal provisional
@@ -473,8 +470,7 @@
 --
 -- -   Require Vulkan 1.1 and SPIR-V 1.4
 --
--- -   Added interactions with Vulkan 1.2 and
---     <VK_KHR_vulkan_memory_model.html VK_KHR_vulkan_memory_model>
+-- -   Added interactions with Vulkan 1.2 and @VK_KHR_vulkan_memory_model@
 --
 -- -   added creation time capture and replay flags
 --
@@ -491,16 +487,14 @@
 -- -   require the shader binding table buffers to have the
 --     @VK_BUFFER_USAGE_RAY_TRACING_BIT_KHR@ set
 --
--- -   make <VK_KHR_pipeline_library.html VK_KHR_pipeline_library> an
---     interaction instead of required extension
+-- -   make @VK_KHR_pipeline_library@ an interaction instead of required
+--     extension
 --
 -- -   rename the @libraries@ member of 'RayTracingPipelineCreateInfoKHR'
 --     to @pLibraryInfo@ and make it a pointer
 --
--- -   make
---     <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---     an interaction instead of a required extension (later went back on
---     this)
+-- -   make @VK_KHR_deferred_host_operations@ an interaction instead of a
+--     required extension (later went back on this)
 --
 -- -   added explicit stack size management for ray tracing pipelines
 --
@@ -539,8 +533,7 @@
 --         that the implementation can modify such parameters until the
 --         deferred host operation completes
 --
---     -   <VK_KHR_deferred_host_operations.html VK_KHR_deferred_host_operations>
---         is required again
+--     -   @VK_KHR_deferred_host_operations@ is required again
 --
 -- (4) What are the changes between the internal provisional
 -- (VK_KHR_ray_tracing v9) release and the final
@@ -551,14 +544,13 @@
 --     implementation flexibility and decoupling ray query support from ray
 --     pipelines:
 --
---     -   <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         (for acceleration structure operations)
+--     -   @VK_KHR_acceleration_structure@ (for acceleration structure
+--         operations)
 --
---     -   <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>
---         (for ray tracing pipeline and shader stages)
+--     -   @VK_KHR_ray_tracing_pipeline@ (for ray tracing pipeline and
+--         shader stages)
 --
---     -   <VK_KHR_ray_query.html VK_KHR_ray_query> (for ray queries in
---         existing shader stages)
+--     -   @VK_KHR_ray_query@ (for ray queries in existing shader stages)
 --
 -- -   Require @Volatile@ for the following builtins in the ray generation,
 --     closest hit, miss, intersection, and callable shader stages:
@@ -577,9 +569,7 @@
 --         and is required on shader binding table buffers
 --
 --     -   'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_STORAGE_BUFFER_BIT'
---         is used in
---         <VK_KHR_acceleration_structure.html VK_KHR_acceleration_structure>
---         for @scratchData@
+--         is used in @VK_KHR_acceleration_structure@ for @scratchData@
 --
 -- -   rename @maxRecursionDepth@ to @maxRayPipelineRecursionDepth@
 --     (pipeline creation) and @maxRayRecursionDepth@ (limit) to reduce
diff --git a/src/Vulkan/Extensions/VK_KHR_relaxed_block_layout.hs b/src/Vulkan/Extensions/VK_KHR_relaxed_block_layout.hs
--- a/src/Vulkan/Extensions/VK_KHR_relaxed_block_layout.hs
+++ b/src/Vulkan/Extensions/VK_KHR_relaxed_block_layout.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   John Kessenich
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_relaxed_block_layout:%20&body=@johnkslang%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_relaxed_block_layout] @johnkslang%0A<<Here describe the issue or question you have about the VK_KHR_relaxed_block_layout extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_sampler_mirror_clamp_to_edge.hs b/src/Vulkan/Extensions/VK_KHR_sampler_mirror_clamp_to_edge.hs
--- a/src/Vulkan/Extensions/VK_KHR_sampler_mirror_clamp_to_edge.hs
+++ b/src/Vulkan/Extensions/VK_KHR_sampler_mirror_clamp_to_edge.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_sampler_mirror_clamp_to_edge:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_sampler_mirror_clamp_to_edge] @tobski%0A<<Here describe the issue or question you have about the VK_KHR_sampler_mirror_clamp_to_edge extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs b/src/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs
--- a/src/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs
+++ b/src/Vulkan/Extensions/VK_KHR_sampler_ycbcr_conversion.hs
@@ -37,7 +37,7 @@
 -- [__Contact__]
 --
 --     -   Andrew Garrard
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_sampler_ycbcr_conversion:%20&body=@fluppeteer%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_sampler_ycbcr_conversion] @fluppeteer%0A<<Here describe the issue or question you have about the VK_KHR_sampler_ycbcr_conversion extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_separate_depth_stencil_layouts.hs b/src/Vulkan/Extensions/VK_KHR_separate_depth_stencil_layouts.hs
--- a/src/Vulkan/Extensions/VK_KHR_separate_depth_stencil_layouts.hs
+++ b/src/Vulkan/Extensions/VK_KHR_separate_depth_stencil_layouts.hs
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_separate_depth_stencil_layouts:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_separate_depth_stencil_layouts] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_KHR_separate_depth_stencil_layouts extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_atomic_int64.hs b/src/Vulkan/Extensions/VK_KHR_shader_atomic_int64.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_atomic_int64.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_atomic_int64.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Aaron Hagan
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_atomic_int64:%20&body=@ahagan%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_atomic_int64] @ahagan%0A<<Here describe the issue or question you have about the VK_KHR_shader_atomic_int64 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_clock.hs b/src/Vulkan/Extensions/VK_KHR_shader_clock.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_clock.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_clock.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Aaron Hagan
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_clock:%20&body=@ahagan%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_clock] @ahagan%0A<<Here describe the issue or question you have about the VK_KHR_shader_clock extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -157,6 +157,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_clock VK_KHR_shader_clock>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderClockFeaturesKHR = PhysicalDeviceShaderClockFeaturesKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_clock.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_clock.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_shader_clock.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_shader_clock.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Aaron Hagan
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_clock:%20&body=@ahagan%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_clock] @ahagan%0A<<Here describe the issue or question you have about the VK_KHR_shader_clock extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs b/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_draw_parameters.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_draw_parameters:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_draw_parameters] @dgkoch%0A<<Here describe the issue or question you have about the VK_KHR_shader_draw_parameters extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_float16_int8.hs b/src/Vulkan/Extensions/VK_KHR_shader_float16_int8.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_float16_int8.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_float16_int8.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Alexander Galazin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_float16_int8:%20&body=@alegal-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_float16_int8] @alegal-arm%0A<<Here describe the issue or question you have about the VK_KHR_shader_float16_int8 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_float_controls.hs b/src/Vulkan/Extensions/VK_KHR_shader_float_controls.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_float_controls.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_float_controls.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Alexander Galazin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_float_controls:%20&body=@alegal-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_float_controls] @alegal-arm%0A<<Here describe the issue or question you have about the VK_KHR_shader_float_controls extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -190,7 +190,7 @@
 -- -   Revision 4, 2019-06-18 (Tobias Hector)
 --
 --     -   Modified settings restrictions, see
---         <VK_KHR_shader_controls_v4_incompatibility.html VK_KHR_shader_controls_v4_incompatibility>
+--         <VK_KHR_shader_controls_v4_incompatibility.html Version 4 API incompatibility>
 --
 -- -   Revision 3, 2018-09-11 (Alexander Galazin)
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_integer_dot_product.hs b/src/Vulkan/Extensions/VK_KHR_shader_integer_dot_product.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_integer_dot_product.hs
@@ -0,0 +1,633 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_integer_dot_product - device extension
+--
+-- == VK_KHR_shader_integer_dot_product
+--
+-- [__Name String__]
+--     @VK_KHR_shader_integer_dot_product@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     281
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Contact__]
+--
+--     -   Kevin Petit
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_integer_dot_product] @kevinpetit%0A<<Here describe the issue or question you have about the VK_KHR_shader_integer_dot_product extension>> >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_integer_dot_product.asciidoc VK_KHR_shader_integer_dot_product>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-06-16
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_integer_dot_product.html SPV_KHR_integer_dot_product>.
+--
+--     -   This extension interacts with @VK_KHR_shader_float16_int8@.
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Kévin Petit, Arm Ltd.
+--
+--     -   Jeff Bolz, NVidia
+--
+--     -   Spencer Fricke, Samsung
+--
+--     -   Jesse Hall, Google
+--
+--     -   John Kessenich, Google
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Einar Hov, Arm Ltd.
+--
+--     -   Stuart Brady, Arm Ltd.
+--
+--     -   Pablo Cascon, Arm Ltd.
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Jeff Leger, Qualcomm
+--
+--     -   Ruihao Zhang, Qualcomm
+--
+--     -   Pierre Boudier, NVidia
+--
+--     -   Jon Leech, The Khronos Group
+--
+--     -   Tom Olson, Arm Ltd.
+--
+-- == Description
+--
+-- This extension adds support for the integer dot product SPIR-V
+-- instructions defined in SPV_KHR_integer_dot_product. These instructions
+-- are particularly useful for neural network inference and training but
+-- find uses in other general purpose compute applications as well.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderIntegerDotProductFeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceShaderIntegerDotProductPropertiesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductInputAllKHR DotProductInputAllKHR>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductInput4x8BitKHR DotProductInput4x8BitKHR>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductInput4x8BitPackedKHR DotProductInput4x8BitPackedKHR>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductKHR DotProductKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-06-16 (Kévin Petit)
+--
+--     -   Initial revision
+--
+-- = See Also
+--
+-- 'PhysicalDeviceShaderIntegerDotProductFeaturesKHR',
+-- 'PhysicalDeviceShaderIntegerDotProductPropertiesKHR'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_integer_dot_product Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_KHR_shader_integer_dot_product  ( PhysicalDeviceShaderIntegerDotProductFeaturesKHR(..)
+                                                            , PhysicalDeviceShaderIntegerDotProductPropertiesKHR(..)
+                                                            , KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION
+                                                            , pattern KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION
+                                                            , KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME
+                                                            , pattern KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME
+                                                            ) where
+
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Ptr (nullPtr)
+import Foreign.Ptr (plusPtr)
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (FromCStruct(..))
+import Vulkan.CStruct (ToCStruct)
+import Vulkan.CStruct (ToCStruct(..))
+import Vulkan.Zero (Zero(..))
+import Data.String (IsString)
+import Data.Typeable (Typeable)
+import Foreign.Storable (Storable)
+import Foreign.Storable (Storable(peek))
+import Foreign.Storable (Storable(poke))
+import qualified Foreign.Storable (Storable(..))
+import GHC.Generics (Generic)
+import Foreign.Ptr (Ptr)
+import Data.Kind (Type)
+import Vulkan.Core10.FundamentalTypes (bool32ToBool)
+import Vulkan.Core10.FundamentalTypes (boolToBool32)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR))
+-- | VkPhysicalDeviceShaderIntegerDotProductFeaturesKHR - Structure
+-- describing integer dot product features that can be supported by an
+-- implementation
+--
+-- = Members
+--
+-- The members of the 'PhysicalDeviceShaderIntegerDotProductFeaturesKHR'
+-- structure describe the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceShaderIntegerDotProductFeaturesKHR' structure is
+-- included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceFeatures2',
+-- it is filled in to indicate whether each corresponding feature is
+-- supported. 'PhysicalDeviceShaderIntegerDotProductFeaturesKHR' /can/ also
+-- be used in the @pNext@ chain of 'Vulkan.Core10.Device.DeviceCreateInfo'
+-- to selectively enable these features.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_integer_dot_product VK_KHR_shader_integer_dot_product>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceShaderIntegerDotProductFeaturesKHR = PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+  { -- | #features-shaderIntegerDotProduct# @shaderIntegerDotProduct@ specifies
+    -- whether shader modules /can/ declare the @DotProductInputAllKHR@,
+    -- @DotProductInput4x8BitKHR@, @DotProductInput4x8BitPackedKHR@ and
+    -- @DotProductKHR@ capabilities.
+    shaderIntegerDotProduct :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceShaderIntegerDotProductFeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderIntegerDotProductFeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceShaderIntegerDotProductFeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderIntegerDotProduct))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceShaderIntegerDotProductFeaturesKHR where
+  peekCStruct p = do
+    shaderIntegerDotProduct <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+             (bool32ToBool shaderIntegerDotProduct)
+
+instance Storable PhysicalDeviceShaderIntegerDotProductFeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceShaderIntegerDotProductFeaturesKHR where
+  zero = PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+           zero
+
+
+-- | VkPhysicalDeviceShaderIntegerDotProductPropertiesKHR - Structure
+-- containing information about integer dot product support for a physical
+-- device
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceShaderIntegerDotProductPropertiesKHR' structure is
+-- included in the @pNext@ chain of the
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2'
+-- structure passed to
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.getPhysicalDeviceProperties2',
+-- it is filled in with each corresponding implementation-dependent
+-- property.
+--
+-- These are properties of the integer dot product acceleration information
+-- of a physical device.
+--
+-- Note
+--
+-- A dot product operation is deemed accelerated if its implementation
+-- provides a performance advantage over application-provided code composed
+-- from elementary instructions and\/or other dot product instructions,
+-- either because the implementation uses optimized machine code sequences
+-- whose generation from application-provided code cannot be guaranteed or
+-- because it uses hardware features that cannot otherwise be targeted from
+-- application-provided code.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_integer_dot_product VK_KHR_shader_integer_dot_product>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceShaderIntegerDotProductPropertiesKHR = PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+  { -- | @integerDotProduct8BitUnsignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 8-bit unsigned
+    -- dot product operations using the @OpUDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct8BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProduct8BitSignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 8-bit signed
+    -- dot product operations using the @OpSDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct8BitSignedAccelerated :: Bool
+  , -- | @integerDotProduct8BitMixedSignednessAccelerated@ is a boolean that will
+    -- be 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 8-bit mixed
+    -- signedness dot product operations using the @OpSUDotKHR@ SPIR-V
+    -- instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct8BitMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProduct4x8BitPackedUnsignedAccelerated@ is a boolean that
+    -- will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 8-bit
+    -- unsigned dot product operations from operands packed into 32-bit
+    -- integers using the @OpUDotKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct4x8BitPackedUnsignedAccelerated :: Bool
+  , -- | @integerDotProduct4x8BitPackedSignedAccelerated@ is a boolean that will
+    -- be 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 8-bit signed
+    -- dot product operations from operands packed into 32-bit integers using
+    -- the @OpSDotKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct4x8BitPackedSignedAccelerated :: Bool
+  , -- | @integerDotProduct4x8BitPackedMixedSignednessAccelerated@ is a boolean
+    -- that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for
+    -- 8-bit mixed signedness dot product operations from operands packed into
+    -- 32-bit integers using the @OpSUDotKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct4x8BitPackedMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProduct16BitUnsignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 16-bit unsigned
+    -- dot product operations using the @OpUDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct16BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProduct16BitSignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 16-bit signed
+    -- dot product operations using the @OpSDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct16BitSignedAccelerated :: Bool
+  , -- | @integerDotProduct16BitMixedSignednessAccelerated@ is a boolean that
+    -- will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 16-bit
+    -- mixed signedness dot product operations using the @OpSUDotKHR@ SPIR-V
+    -- instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct16BitMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProduct32BitUnsignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 32-bit unsigned
+    -- dot product operations using the @OpUDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct32BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProduct32BitSignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 32-bit signed
+    -- dot product operations using the @OpSDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct32BitSignedAccelerated :: Bool
+  , -- | @integerDotProduct32BitMixedSignednessAccelerated@ is a boolean that
+    -- will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 32-bit
+    -- mixed signedness dot product operations using the @OpSUDotKHR@ SPIR-V
+    -- instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct32BitMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProduct64BitUnsignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 64-bit unsigned
+    -- dot product operations using the @OpUDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct64BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProduct64BitSignedAccelerated@ is a boolean that will be
+    -- 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 64-bit signed
+    -- dot product operations using the @OpSDotKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct64BitSignedAccelerated :: Bool
+  , -- | @integerDotProduct64BitMixedSignednessAccelerated@ is a boolean that
+    -- will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the support for 64-bit
+    -- mixed signedness dot product operations using the @OpSUDotKHR@ SPIR-V
+    -- instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProduct64BitMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating8BitUnsignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 8-bit unsigned accumulating saturating dot product
+    -- operations using the @OpUDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating8BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating8BitSignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 8-bit signed accumulating saturating dot product operations
+    -- using the @OpSDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating8BitSignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated@
+    -- is a boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 8-bit mixed signedness accumulating saturating dot product
+    -- operations using the @OpSUDotAccSatKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated@
+    -- is a boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 8-bit unsigned accumulating saturating dot product
+    -- operations from operands packed into 32-bit integers using the
+    -- @OpUDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated@
+    -- is a boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 8-bit signed accumulating saturating dot product operations
+    -- from operands packed into 32-bit integers using the @OpSDotAccSatKHR@
+    -- SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated@
+    -- is a boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 8-bit mixed signedness accumulating saturating dot product
+    -- operations from operands packed into 32-bit integers using the
+    -- @OpSUDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating16BitUnsignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 16-bit unsigned accumulating saturating dot product
+    -- operations using the @OpUDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating16BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating16BitSignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 16-bit signed accumulating saturating dot product operations
+    -- using the @OpSDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating16BitSignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated@
+    -- is a boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 16-bit mixed signedness accumulating saturating dot product
+    -- operations using the @OpSUDotAccSatKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating32BitUnsignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 32-bit unsigned accumulating saturating dot product
+    -- operations using the @OpUDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating32BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating32BitSignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 32-bit signed accumulating saturating dot product operations
+    -- using the @OpSDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating32BitSignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated@
+    -- is a boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 32-bit mixed signedness accumulating saturating dot product
+    -- operations using the @OpSUDotAccSatKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating64BitUnsignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 64-bit unsigned accumulating saturating dot product
+    -- operations using the @OpUDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating64BitUnsignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating64BitSignedAccelerated@ is a
+    -- boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 64-bit signed accumulating saturating dot product operations
+    -- using the @OpSDotAccSatKHR@ SPIR-V instruction is accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating64BitSignedAccelerated :: Bool
+  , -- | @integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated@
+    -- is a boolean that will be 'Vulkan.Core10.FundamentalTypes.TRUE' if the
+    -- support for 64-bit mixed signedness accumulating saturating dot product
+    -- operations using the @OpSUDotAccSatKHR@ SPIR-V instruction is
+    -- accelerated
+    -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#devsandqueues-integer-dot-product-accelerated as defined below>.
+    integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceShaderIntegerDotProductPropertiesKHR)
+#endif
+deriving instance Show PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+
+instance ToCStruct PhysicalDeviceShaderIntegerDotProductPropertiesKHR where
+  withCStruct x f = allocaBytes 136 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceShaderIntegerDotProductPropertiesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (integerDotProduct8BitUnsignedAccelerated))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (integerDotProduct8BitSignedAccelerated))
+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (integerDotProduct8BitMixedSignednessAccelerated))
+    poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (integerDotProduct4x8BitPackedUnsignedAccelerated))
+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (integerDotProduct4x8BitPackedSignedAccelerated))
+    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (integerDotProduct4x8BitPackedMixedSignednessAccelerated))
+    poke ((p `plusPtr` 40 :: Ptr Bool32)) (boolToBool32 (integerDotProduct16BitUnsignedAccelerated))
+    poke ((p `plusPtr` 44 :: Ptr Bool32)) (boolToBool32 (integerDotProduct16BitSignedAccelerated))
+    poke ((p `plusPtr` 48 :: Ptr Bool32)) (boolToBool32 (integerDotProduct16BitMixedSignednessAccelerated))
+    poke ((p `plusPtr` 52 :: Ptr Bool32)) (boolToBool32 (integerDotProduct32BitUnsignedAccelerated))
+    poke ((p `plusPtr` 56 :: Ptr Bool32)) (boolToBool32 (integerDotProduct32BitSignedAccelerated))
+    poke ((p `plusPtr` 60 :: Ptr Bool32)) (boolToBool32 (integerDotProduct32BitMixedSignednessAccelerated))
+    poke ((p `plusPtr` 64 :: Ptr Bool32)) (boolToBool32 (integerDotProduct64BitUnsignedAccelerated))
+    poke ((p `plusPtr` 68 :: Ptr Bool32)) (boolToBool32 (integerDotProduct64BitSignedAccelerated))
+    poke ((p `plusPtr` 72 :: Ptr Bool32)) (boolToBool32 (integerDotProduct64BitMixedSignednessAccelerated))
+    poke ((p `plusPtr` 76 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating8BitUnsignedAccelerated))
+    poke ((p `plusPtr` 80 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating8BitSignedAccelerated))
+    poke ((p `plusPtr` 84 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated))
+    poke ((p `plusPtr` 88 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated))
+    poke ((p `plusPtr` 92 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated))
+    poke ((p `plusPtr` 96 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated))
+    poke ((p `plusPtr` 100 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating16BitUnsignedAccelerated))
+    poke ((p `plusPtr` 104 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating16BitSignedAccelerated))
+    poke ((p `plusPtr` 108 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated))
+    poke ((p `plusPtr` 112 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating32BitUnsignedAccelerated))
+    poke ((p `plusPtr` 116 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating32BitSignedAccelerated))
+    poke ((p `plusPtr` 120 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated))
+    poke ((p `plusPtr` 124 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating64BitUnsignedAccelerated))
+    poke ((p `plusPtr` 128 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating64BitSignedAccelerated))
+    poke ((p `plusPtr` 132 :: Ptr Bool32)) (boolToBool32 (integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated))
+    f
+  cStructSize = 136
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 40 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 44 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 48 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 52 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 56 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 60 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 64 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 68 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 72 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 76 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 80 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 84 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 88 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 92 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 96 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 100 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 104 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 108 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 112 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 116 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 120 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 124 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 128 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 132 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceShaderIntegerDotProductPropertiesKHR where
+  peekCStruct p = do
+    integerDotProduct8BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    integerDotProduct8BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    integerDotProduct8BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))
+    integerDotProduct4x8BitPackedUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 28 :: Ptr Bool32))
+    integerDotProduct4x8BitPackedSignedAccelerated <- peek @Bool32 ((p `plusPtr` 32 :: Ptr Bool32))
+    integerDotProduct4x8BitPackedMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 36 :: Ptr Bool32))
+    integerDotProduct16BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 40 :: Ptr Bool32))
+    integerDotProduct16BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 44 :: Ptr Bool32))
+    integerDotProduct16BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 48 :: Ptr Bool32))
+    integerDotProduct32BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 52 :: Ptr Bool32))
+    integerDotProduct32BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 56 :: Ptr Bool32))
+    integerDotProduct32BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 60 :: Ptr Bool32))
+    integerDotProduct64BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 64 :: Ptr Bool32))
+    integerDotProduct64BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 68 :: Ptr Bool32))
+    integerDotProduct64BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 72 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating8BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 76 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating8BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 80 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 84 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 88 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated <- peek @Bool32 ((p `plusPtr` 92 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 96 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating16BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 100 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating16BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 104 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 108 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating32BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 112 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating32BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 116 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 120 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating64BitUnsignedAccelerated <- peek @Bool32 ((p `plusPtr` 124 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating64BitSignedAccelerated <- peek @Bool32 ((p `plusPtr` 128 :: Ptr Bool32))
+    integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated <- peek @Bool32 ((p `plusPtr` 132 :: Ptr Bool32))
+    pure $ PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+             (bool32ToBool integerDotProduct8BitUnsignedAccelerated) (bool32ToBool integerDotProduct8BitSignedAccelerated) (bool32ToBool integerDotProduct8BitMixedSignednessAccelerated) (bool32ToBool integerDotProduct4x8BitPackedUnsignedAccelerated) (bool32ToBool integerDotProduct4x8BitPackedSignedAccelerated) (bool32ToBool integerDotProduct4x8BitPackedMixedSignednessAccelerated) (bool32ToBool integerDotProduct16BitUnsignedAccelerated) (bool32ToBool integerDotProduct16BitSignedAccelerated) (bool32ToBool integerDotProduct16BitMixedSignednessAccelerated) (bool32ToBool integerDotProduct32BitUnsignedAccelerated) (bool32ToBool integerDotProduct32BitSignedAccelerated) (bool32ToBool integerDotProduct32BitMixedSignednessAccelerated) (bool32ToBool integerDotProduct64BitUnsignedAccelerated) (bool32ToBool integerDotProduct64BitSignedAccelerated) (bool32ToBool integerDotProduct64BitMixedSignednessAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating8BitUnsignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating8BitSignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating16BitUnsignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating16BitSignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating32BitUnsignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating32BitSignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating64BitUnsignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating64BitSignedAccelerated) (bool32ToBool integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated)
+
+instance Storable PhysicalDeviceShaderIntegerDotProductPropertiesKHR where
+  sizeOf ~_ = 136
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceShaderIntegerDotProductPropertiesKHR where
+  zero = PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+
+
+type KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION"
+pattern KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION = 1
+
+
+type KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product"
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME"
+pattern KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME = "VK_KHR_shader_integer_dot_product"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_integer_dot_product.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_integer_dot_product.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_integer_dot_product.hs-boot
@@ -0,0 +1,163 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_integer_dot_product - device extension
+--
+-- == VK_KHR_shader_integer_dot_product
+--
+-- [__Name String__]
+--     @VK_KHR_shader_integer_dot_product@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     281
+--
+-- [__Revision__]
+--     1
+--
+-- [__Extension and Version Dependencies__]
+--
+--     -   Requires Vulkan 1.0
+--
+--     -   Requires @VK_KHR_get_physical_device_properties2@
+--
+-- [__Contact__]
+--
+--     -   Kevin Petit
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_integer_dot_product] @kevinpetit%0A<<Here describe the issue or question you have about the VK_KHR_shader_integer_dot_product extension>> >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_integer_dot_product.asciidoc VK_KHR_shader_integer_dot_product>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-06-16
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_integer_dot_product.html SPV_KHR_integer_dot_product>.
+--
+--     -   This extension interacts with @VK_KHR_shader_float16_int8@.
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Kévin Petit, Arm Ltd.
+--
+--     -   Jeff Bolz, NVidia
+--
+--     -   Spencer Fricke, Samsung
+--
+--     -   Jesse Hall, Google
+--
+--     -   John Kessenich, Google
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Einar Hov, Arm Ltd.
+--
+--     -   Stuart Brady, Arm Ltd.
+--
+--     -   Pablo Cascon, Arm Ltd.
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Jeff Leger, Qualcomm
+--
+--     -   Ruihao Zhang, Qualcomm
+--
+--     -   Pierre Boudier, NVidia
+--
+--     -   Jon Leech, The Khronos Group
+--
+--     -   Tom Olson, Arm Ltd.
+--
+-- == Description
+--
+-- This extension adds support for the integer dot product SPIR-V
+-- instructions defined in SPV_KHR_integer_dot_product. These instructions
+-- are particularly useful for neural network inference and training but
+-- find uses in other general purpose compute applications as well.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderIntegerDotProductFeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceShaderIntegerDotProductPropertiesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_DOT_PRODUCT_PROPERTIES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductInputAllKHR DotProductInputAllKHR>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductInput4x8BitKHR DotProductInput4x8BitKHR>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductInput4x8BitPackedKHR DotProductInput4x8BitPackedKHR>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-DotProductKHR DotProductKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-06-16 (Kévin Petit)
+--
+--     -   Initial revision
+--
+-- = See Also
+--
+-- 'PhysicalDeviceShaderIntegerDotProductFeaturesKHR',
+-- 'PhysicalDeviceShaderIntegerDotProductPropertiesKHR'
+--
+-- = Document Notes
+--
+-- For more information, see the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_integer_dot_product Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_KHR_shader_integer_dot_product  ( PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+                                                            , PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+                                                            ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+instance Show PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+
+instance FromCStruct PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+
+
+data PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+
+instance ToCStruct PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+instance Show PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+
+instance FromCStruct PhysicalDeviceShaderIntegerDotProductPropertiesKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_non_semantic_info.hs b/src/Vulkan/Extensions/VK_KHR_shader_non_semantic_info.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_non_semantic_info.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_non_semantic_info.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Baldur Karlsson
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_non_semantic_info:%20&body=@baldurk%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_non_semantic_info] @baldurk%0A<<Here describe the issue or question you have about the VK_KHR_shader_non_semantic_info extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_extended_types.hs b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_extended_types.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_extended_types.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_extended_types.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Neil Henning
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_subgroup_extended_types:%20&body=@sheredom%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_subgroup_extended_types] @sheredom%0A<<Here describe the issue or question you have about the VK_KHR_shader_subgroup_extended_types extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Alan Baker
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_subgroup_uniform_control_flow:%20&body=@alan-baker%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_subgroup_uniform_control_flow] @alan-baker%0A<<Here describe the issue or question you have about the VK_KHR_shader_subgroup_uniform_control_flow extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -151,6 +151,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_uniform_control_flow VK_KHR_shader_subgroup_uniform_control_flow>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR = PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Alan Baker
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_subgroup_uniform_control_flow:%20&body=@alan-baker%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_subgroup_uniform_control_flow] @alan-baker%0A<<Here describe the issue or question you have about the VK_KHR_shader_subgroup_uniform_control_flow extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs b/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs
--- a/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_terminate_invocation:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_terminate_invocation] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_shader_terminate_invocation extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -64,12 +64,11 @@
 -- previously executed instructions will have observable effects. The
 -- @OpTerminateInvocation@ instruction, along with the
 -- @OpDemoteToHelperInvocation@ instruction from the
--- <VK_EXT_shader_demote_to_helper_invocation.html VK_EXT_shader_demote_to_helper_invocation>
--- extension, together replace the @OpKill@ instruction, which could behave
--- like either of these instructions. @OpTerminateInvocation@ provides the
--- behavior required by the GLSL @discard@ statement, and should be used
--- when available by GLSL compilers and applications that need the GLSL
--- @discard@ behavior.
+-- @VK_EXT_shader_demote_to_helper_invocation@ extension, together replace
+-- the @OpKill@ instruction, which could behave like either of these
+-- instructions. @OpTerminateInvocation@ provides the behavior required by
+-- the GLSL @discard@ statement, and should be used when available by GLSL
+-- compilers and applications that need the GLSL @discard@ behavior.
 --
 -- == New Structures
 --
@@ -158,6 +157,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_terminate_invocation VK_KHR_shader_terminate_invocation>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderTerminateInvocationFeaturesKHR = PhysicalDeviceShaderTerminateInvocationFeaturesKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_shader_terminate_invocation.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shader_terminate_invocation:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_terminate_invocation] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_shader_terminate_invocation extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -64,12 +64,11 @@
 -- previously executed instructions will have observable effects. The
 -- @OpTerminateInvocation@ instruction, along with the
 -- @OpDemoteToHelperInvocation@ instruction from the
--- <VK_EXT_shader_demote_to_helper_invocation.html VK_EXT_shader_demote_to_helper_invocation>
--- extension, together replace the @OpKill@ instruction, which could behave
--- like either of these instructions. @OpTerminateInvocation@ provides the
--- behavior required by the GLSL @discard@ statement, and should be used
--- when available by GLSL compilers and applications that need the GLSL
--- @discard@ behavior.
+-- @VK_EXT_shader_demote_to_helper_invocation@ extension, together replace
+-- the @OpKill@ instruction, which could behave like either of these
+-- instructions. @OpTerminateInvocation@ provides the behavior required by
+-- the GLSL @discard@ statement, and should be used when available by GLSL
+-- compilers and applications that need the GLSL @discard@ behavior.
 --
 -- == New Structures
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs b/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs
--- a/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs
+++ b/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Alon Or-bach
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shared_presentable_image:%20&body=@alonorbach%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shared_presentable_image] @alonorbach%0A<<Here describe the issue or question you have about the VK_KHR_shared_presentable_image extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -317,6 +317,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shared_presentable_image VK_KHR_shared_presentable_image>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Extensions.Handles.SwapchainKHR'
 getSwapchainStatusKHR :: forall io
                        . (MonadIO io)
@@ -335,13 +336,14 @@
   pure $ (r)
 
 
--- | VkSharedPresentSurfaceCapabilitiesKHR - structure describing
+-- | VkSharedPresentSurfaceCapabilitiesKHR - Structure describing
 -- capabilities of a surface for shared presentation
 --
 -- == Valid Usage (Implicit)
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shared_presentable_image VK_KHR_shared_presentable_image>,
 -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SharedPresentSurfaceCapabilitiesKHR = SharedPresentSurfaceCapabilitiesKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs-boot b/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_shared_presentable_image.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Alon Or-bach
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_shared_presentable_image:%20&body=@alonorbach%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shared_presentable_image] @alonorbach%0A<<Here describe the issue or question you have about the VK_KHR_shared_presentable_image extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_spirv_1_4.hs b/src/Vulkan/Extensions/VK_KHR_spirv_1_4.hs
--- a/src/Vulkan/Extensions/VK_KHR_spirv_1_4.hs
+++ b/src/Vulkan/Extensions/VK_KHR_spirv_1_4.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_spirv_1_4:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_spirv_1_4] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_spirv_1_4 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_storage_buffer_storage_class.hs b/src/Vulkan/Extensions/VK_KHR_storage_buffer_storage_class.hs
--- a/src/Vulkan/Extensions/VK_KHR_storage_buffer_storage_class.hs
+++ b/src/Vulkan/Extensions/VK_KHR_storage_buffer_storage_class.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Alexander Galazin
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_storage_buffer_storage_class:%20&body=@alegal-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_storage_buffer_storage_class] @alegal-arm%0A<<Here describe the issue or question you have about the VK_KHR_storage_buffer_storage_class extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,10 +24,10 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_surface:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_surface] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -168,10 +168,10 @@
 -- resolved by a Valid Usage statement, and\/or by a separate @pNext@ chain
 -- version of the query struct specific to a given extension or parameters,
 -- via extensible versions of the queries:
+-- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getPhysicalDeviceSurfacePresentModes2EXT',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.getPhysicalDeviceSurfaceCapabilities2KHR',
--- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.getPhysicalDeviceSurfaceFormats2KHR'.
 -- and
--- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getPhysicalDeviceSurfacePresentModes2EXT',
+-- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.getPhysicalDeviceSurfaceFormats2KHR'.
 --
 -- 3) Should Vulkan support Xlib or XCB as the API for accessing the X
 -- Window System platform?
@@ -559,6 +559,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance', 'Vulkan.Extensions.Handles.SurfaceKHR'
 destroySurfaceKHR :: forall io
@@ -636,6 +637,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -711,6 +713,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'SurfaceCapabilitiesKHR',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
 getPhysicalDeviceSurfaceCapabilitiesKHR :: forall io
@@ -820,6 +823,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'SurfaceFormatKHR',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
 getPhysicalDeviceSurfaceFormatsKHR :: forall io
@@ -922,6 +926,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice', 'PresentModeKHR',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
 getPhysicalDeviceSurfacePresentModesKHR :: forall io
@@ -975,6 +980,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'CompositeAlphaFlagsKHR', 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.ImageUsageFlagBits.ImageUsageFlags',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceCapabilities2KHR',
@@ -1115,6 +1121,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'ColorSpaceKHR', 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.SurfaceFormat2KHR',
 -- 'getPhysicalDeviceSurfaceFormatsKHR'
@@ -1164,7 +1171,7 @@
            zero
 
 
--- | VkPresentModeKHR - presentation mode supported for a surface
+-- | VkPresentModeKHR - Presentation mode supported for a surface
 --
 -- = Description
 --
@@ -1203,6 +1210,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getPhysicalDeviceSurfacePresentModes2EXT',
 -- 'getPhysicalDeviceSurfacePresentModesKHR'
@@ -1304,7 +1312,7 @@
   readPrec = enumReadPrec enumPrefixPresentModeKHR showTablePresentModeKHR conNamePresentModeKHR PresentModeKHR
 
 
--- | VkColorSpaceKHR - supported color space of the presentation engine
+-- | VkColorSpaceKHR - Supported color space of the presentation engine
 --
 -- = Description
 --
@@ -1391,7 +1399,7 @@
 --   \end{cases}
 -- \end{aligned}\]
 --
--- where L is the linear value of a color channel and E is the encoded
+-- where L is the linear value of a color component and E is the encoded
 -- value (as stored in the image in memory).
 --
 -- Note
@@ -1400,6 +1408,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'SurfaceFormatKHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR'
 newtype ColorSpaceKHR = ColorSpaceKHR Int32
@@ -1516,7 +1525,7 @@
 
 type CompositeAlphaFlagsKHR = CompositeAlphaFlagBitsKHR
 
--- | VkCompositeAlphaFlagBitsKHR - alpha compositing modes supported on a
+-- | VkCompositeAlphaFlagBitsKHR - Alpha compositing modes supported on a
 -- device
 --
 -- = Description
@@ -1525,29 +1534,30 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'CompositeAlphaFlagsKHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.SwapchainCreateInfoKHR'
 newtype CompositeAlphaFlagBitsKHR = CompositeAlphaFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
--- | 'COMPOSITE_ALPHA_OPAQUE_BIT_KHR': The alpha channel, if it exists, of
+-- | 'COMPOSITE_ALPHA_OPAQUE_BIT_KHR': The alpha component, if it exists, of
 -- the images is ignored in the compositing process. Instead, the image is
 -- treated as if it has a constant alpha of 1.0.
 pattern COMPOSITE_ALPHA_OPAQUE_BIT_KHR          = CompositeAlphaFlagBitsKHR 0x00000001
--- | 'COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR': The alpha channel, if it
+-- | 'COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR': The alpha component, if it
 -- exists, of the images is respected in the compositing process. The
--- non-alpha channels of the image are expected to already be multiplied by
--- the alpha channel by the application.
+-- non-alpha components of the image are expected to already be multiplied
+-- by the alpha component by the application.
 pattern COMPOSITE_ALPHA_PRE_MULTIPLIED_BIT_KHR  = CompositeAlphaFlagBitsKHR 0x00000002
--- | 'COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR': The alpha channel, if it
+-- | 'COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR': The alpha component, if it
 -- exists, of the images is respected in the compositing process. The
--- non-alpha channels of the image are not expected to already be
--- multiplied by the alpha channel by the application; instead, the
--- compositor will multiply the non-alpha channels of the image by the
--- alpha channel during compositing.
+-- non-alpha components of the image are not expected to already be
+-- multiplied by the alpha component by the application; instead, the
+-- compositor will multiply the non-alpha components of the image by the
+-- alpha component during compositing.
 pattern COMPOSITE_ALPHA_POST_MULTIPLIED_BIT_KHR = CompositeAlphaFlagBitsKHR 0x00000004
 -- | 'COMPOSITE_ALPHA_INHERIT_BIT_KHR': The way in which the presentation
--- engine treats the alpha channel in the images is unknown to the Vulkan
+-- engine treats the alpha component in the images is unknown to the Vulkan
 -- API. Instead, the application is responsible for setting the composite
 -- alpha blending mode using native window system commands. If the
 -- application does not set the blending mode using native window system
@@ -1584,11 +1594,12 @@
 
 type SurfaceTransformFlagsKHR = SurfaceTransformFlagBitsKHR
 
--- | VkSurfaceTransformFlagBitsKHR - presentation transforms supported on a
+-- | VkSurfaceTransformFlagBitsKHR - Presentation transforms supported on a
 -- device
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
 -- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.CommandBufferInheritanceRenderPassTransformInfoQCOM',
 -- 'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM',
 -- 'Vulkan.Extensions.VK_KHR_display.DisplaySurfaceCreateInfoKHR',
diff --git a/src/Vulkan/Extensions/VK_KHR_surface.hs-boot b/src/Vulkan/Extensions/VK_KHR_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_surface.hs-boot
@@ -24,10 +24,10 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_surface:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_surface] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -168,10 +168,10 @@
 -- resolved by a Valid Usage statement, and\/or by a separate @pNext@ chain
 -- version of the query struct specific to a given extension or parameters,
 -- via extensible versions of the queries:
+-- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getPhysicalDeviceSurfacePresentModes2EXT',
 -- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.getPhysicalDeviceSurfaceCapabilities2KHR',
--- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.getPhysicalDeviceSurfaceFormats2KHR'.
 -- and
--- 'Vulkan.Extensions.VK_EXT_full_screen_exclusive.getPhysicalDeviceSurfacePresentModes2EXT',
+-- 'Vulkan.Extensions.VK_KHR_get_surface_capabilities2.getPhysicalDeviceSurfaceFormats2KHR'.
 --
 -- 3) Should Vulkan support Xlib or XCB as the API for accessing the X
 -- Window System platform?
diff --git a/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs b/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs
--- a/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs
+++ b/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Sandeep Shinde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_surface_protected_capabilities:%20&body=@sashinde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_surface_protected_capabilities] @sashinde%0A<<Here describe the issue or question you have about the VK_KHR_surface_protected_capabilities extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -143,6 +143,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface_protected_capabilities VK_KHR_surface_protected_capabilities>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data SurfaceProtectedCapabilitiesKHR = SurfaceProtectedCapabilitiesKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs-boot b/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_surface_protected_capabilities.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Sandeep Shinde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_surface_protected_capabilities:%20&body=@sashinde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_surface_protected_capabilities] @sashinde%0A<<Here describe the issue or question you have about the VK_KHR_surface_protected_capabilities extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_swapchain.hs b/src/Vulkan/Extensions/VK_KHR_swapchain.hs
--- a/src/Vulkan/Extensions/VK_KHR_swapchain.hs
+++ b/src/Vulkan/Extensions/VK_KHR_swapchain.hs
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_swapchain:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_swapchain] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_swapchain extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_swapchain:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_swapchain] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_swapchain extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -532,7 +532,7 @@
 -- 'Vulkan.Extensions.Handles.SurfaceKHR' owns the binding of the native
 -- window to the Vulkan driver.
 --
--- 26) How can the client control the way the alpha channel of swapchain
+-- 26) How can the client control the way the alpha component of swapchain
 -- images is treated by the presentation engine during compositing?
 --
 -- __RESOLVED__: We should add new enum values to allow the client to
@@ -1354,6 +1354,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'SwapchainCreateInfoKHR',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
@@ -1471,6 +1472,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Extensions.Handles.SwapchainKHR'
 destroySwapchainKHR :: forall io
@@ -1559,6 +1561,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
 getSwapchainImagesKHR :: forall io
@@ -1731,6 +1734,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Fence',
 -- 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
@@ -1933,6 +1937,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'PresentInfoKHR', 'Vulkan.Core10.Handles.Queue'
 queuePresentKHR :: forall a io
                  . (Extendss PresentInfoKHR a, PokeChain a, MonadIO io)
@@ -1978,6 +1983,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Device', 'DeviceGroupPresentCapabilitiesKHR'
 getDeviceGroupPresentCapabilitiesKHR :: forall io
                                       . (MonadIO io)
@@ -2061,6 +2070,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Device', 'DeviceGroupPresentModeFlagsKHR',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
 getDeviceGroupSurfacePresentModesKHR :: forall io
@@ -2170,6 +2183,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'AcquireNextImageInfoKHR', 'Vulkan.Core10.Handles.Device'
 acquireNextImage2KHR :: forall io
                       . (MonadIO io)
@@ -2270,6 +2286,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -2591,6 +2611,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Extensions.VK_KHR_surface.ColorSpaceKHR',
 -- 'Vulkan.Extensions.VK_KHR_surface.CompositeAlphaFlagBitsKHR',
@@ -2901,6 +2922,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'Vulkan.Core10.Enums.Result.Result', 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR', 'queuePresentKHR'
@@ -3022,6 +3044,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'DeviceGroupPresentModeFlagsKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getDeviceGroupPresentCapabilitiesKHR'
@@ -3103,6 +3129,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
 data ImageSwapchainCreateInfoKHR = ImageSwapchainCreateInfoKHR
@@ -3180,6 +3209,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR'
 data BindImageMemorySwapchainInfoKHR = BindImageMemorySwapchainInfoKHR
@@ -3316,6 +3348,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'Vulkan.Core10.Handles.Fence', 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.Handles.SwapchainKHR', 'acquireNextImage2KHR'
@@ -3477,6 +3512,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'DeviceGroupPresentModeFlagBitsKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceGroupPresentInfoKHR = DeviceGroupPresentInfoKHR
@@ -3539,6 +3577,9 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'DeviceGroupPresentModeFlagsKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceGroupSwapchainCreateInfoKHR = DeviceGroupSwapchainCreateInfoKHR
@@ -3596,6 +3637,10 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_device_group VK_KHR_device_group>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VERSION_1_1 VK_VERSION_1_1>,
 -- 'DeviceGroupPresentInfoKHR', 'DeviceGroupPresentModeFlagsKHR'
 newtype DeviceGroupPresentModeFlagBitsKHR = DeviceGroupPresentModeFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -3651,6 +3696,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>,
 -- 'SwapchainCreateFlagsKHR'
 newtype SwapchainCreateFlagBitsKHR = SwapchainCreateFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_swapchain.hs-boot b/src/Vulkan/Extensions/VK_KHR_swapchain.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_swapchain.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_swapchain.hs-boot
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_swapchain:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_swapchain] @cubanismo%0A<<Here describe the issue or question you have about the VK_KHR_swapchain extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_swapchain:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_swapchain] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_swapchain extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -532,7 +532,7 @@
 -- 'Vulkan.Extensions.Handles.SurfaceKHR' owns the binding of the native
 -- window to the Vulkan driver.
 --
--- 26) How can the client control the way the alpha channel of swapchain
+-- 26) How can the client control the way the alpha component of swapchain
 -- images is treated by the presentation engine during compositing?
 --
 -- __RESOLVED__: We should add new enum values to allow the client to
diff --git a/src/Vulkan/Extensions/VK_KHR_swapchain_mutable_format.hs b/src/Vulkan/Extensions/VK_KHR_swapchain_mutable_format.hs
--- a/src/Vulkan/Extensions/VK_KHR_swapchain_mutable_format.hs
+++ b/src/Vulkan/Extensions/VK_KHR_swapchain_mutable_format.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Rakos
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_swapchain_mutable_format:%20&body=@drakos-arm%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_swapchain_mutable_format] @drakos-arm%0A<<Here describe the issue or question you have about the VK_KHR_swapchain_mutable_format extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_synchronization2:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_synchronization2] @tobski%0A<<Here describe the issue or question you have about the VK_KHR_synchronization2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -82,10 +82,9 @@
 --
 -- Queue submission has been changed to wrap command buffers and semaphores
 -- in extensible structures, which incorporate changes from Vulkan 1.1,
--- <VK_KHR_device_group.html VK_KHR_device_group>, and
--- <VK_KHR_timeline_semaphore.html VK_KHR_timeline_semaphore>. This also
--- adds a pipeline stage to the semaphore signal operation, mirroring the
--- existing pipeline stage specification for wait operations.
+-- @VK_KHR_device_group@, and @VK_KHR_timeline_semaphore@. This also adds a
+-- pipeline stage to the semaphore signal operation, mirroring the existing
+-- pipeline stage specification for wait operations.
 --
 -- Other miscellaneous changes include:
 --
@@ -509,6 +508,7 @@
                                                                              , PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR
                                                                              , PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR
                                                                              , PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
+                                                                             , PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI
                                                                              , PIPELINE_STAGE_2_MESH_SHADER_BIT_NV
                                                                              , PIPELINE_STAGE_2_TASK_SHADER_BIT_NV
                                                                              , PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
@@ -788,6 +788,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'DependencyInfoKHR',
 -- 'Vulkan.Core10.Handles.Event'
 cmdSetEvent2KHR :: forall io
@@ -887,6 +888,11 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-vkCmdResetEvent2KHR-stageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @stageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-vkCmdResetEvent2KHR-stageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @stageMask@ /must/ not contain
@@ -909,7 +915,7 @@
 --     'cmdWaitEvents2KHR' that includes @event@ in its @pEvents@ parameter
 --
 -- -   #VUID-vkCmdResetEvent2KHR-commandBuffer-03833# @commandBuffer@’s
---     current device mask /must/ include exactly one physical device.
+--     current device mask /must/ include exactly one physical device
 --
 -- == Valid Usage (Implicit)
 --
@@ -960,6 +966,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Event',
 -- 'PipelineStageFlags2KHR'
 cmdResetEvent2KHR :: forall io
@@ -1195,6 +1202,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'DependencyInfoKHR',
 -- 'Vulkan.Core10.Handles.Event'
 cmdWaitEvents2KHR :: forall io
@@ -1360,6 +1368,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'DependencyInfoKHR'
 cmdPipelineBarrier2KHR :: forall io
                         . (MonadIO io)
@@ -1597,6 +1606,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.Fence', 'Vulkan.Core10.Handles.Queue',
 -- 'SubmitInfo2KHR'
 queueSubmit2KHR :: forall io
@@ -1731,6 +1741,11 @@
 --     feature is not enabled, @stage@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-vkCmdWriteTimestamp2KHR-stage-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @stage@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-vkCmdWriteTimestamp2KHR-stage-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @stage@ /must/ not contain
@@ -1818,6 +1833,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'PipelineStageFlags2KHR',
 -- 'Vulkan.Core10.Handles.QueryPool'
 cmdWriteTimestamp2KHR :: forall io
@@ -1926,6 +1942,11 @@
 --     feature is not enabled, @stage@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-vkCmdWriteBufferMarker2AMD-stage-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @stage@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-vkCmdWriteBufferMarker2AMD-stage-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @stage@ /must/ not contain
@@ -2006,6 +2027,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_AMD_buffer_marker VK_AMD_buffer_marker>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'PipelineStageFlags2KHR'
 cmdWriteBufferMarker2AMD :: forall io
@@ -2040,7 +2063,7 @@
   "dynamic" mkVkGetQueueCheckpointData2NV
   :: FunPtr (Ptr Queue_T -> Ptr Word32 -> Ptr CheckpointData2NV -> IO ()) -> Ptr Queue_T -> Ptr Word32 -> Ptr CheckpointData2NV -> IO ()
 
--- | vkGetQueueCheckpointData2NV - retrieve diagnostic checkpoint data
+-- | vkGetQueueCheckpointData2NV - Retrieve diagnostic checkpoint data
 --
 -- = Description
 --
@@ -2076,6 +2099,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostic_checkpoints VK_NV_device_diagnostic_checkpoints>,
 -- 'CheckpointData2NV', 'Vulkan.Core10.Handles.Queue'
 getQueueCheckpointData2NV :: forall io
                            . (MonadIO io)
@@ -2193,6 +2218,11 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-VkMemoryBarrier2KHR-srcStageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @srcStageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-VkMemoryBarrier2KHR-srcStageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @srcStageMask@ /must/ not contain
@@ -2222,7 +2252,7 @@
 -- -   #VUID-VkMemoryBarrier2KHR-srcAccessMask-03903# If @srcAccessMask@
 --     includes 'ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR', @srcStageMask@
 --     /must/ include 'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR',
---     @VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI@,
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI',
 --     'PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR', or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
@@ -2382,8 +2412,8 @@
 --     includes 'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR',
 --     @srcStageMask@ /must/ include
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR',
---     'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR', or
---     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
+--     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR', or one of the
+--     @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages
 --
 -- -   #VUID-VkMemoryBarrier2KHR-srcAccessMask-03928# If @srcAccessMask@
 --     includes 'ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR',
@@ -2391,6 +2421,13 @@
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
+-- -   #VUID-VkMemoryBarrier2KHR-srcAccessMask-06256# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rayQuery rayQuery>
+--     is not enabled and @srcAccessMask@ includes
+--     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @srcStageMask@
+--     /must/ not include any of the @VK_PIPELINE_STAGE_*_SHADER_BIT@
+--     stages except 'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR'
+--
 -- -   #VUID-VkMemoryBarrier2KHR-dstStageMask-03929# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>
 --     feature is not enabled, @dstStageMask@ /must/ not contain
@@ -2432,6 +2469,11 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-VkMemoryBarrier2KHR-dstStageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @dstStageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-VkMemoryBarrier2KHR-dstStageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @dstStageMask@ /must/ not contain
@@ -2461,7 +2503,7 @@
 -- -   #VUID-VkMemoryBarrier2KHR-dstAccessMask-03903# If @dstAccessMask@
 --     includes 'ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR', @dstStageMask@
 --     /must/ include 'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR',
---     @VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI@,
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI',
 --     'PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR', or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
@@ -2621,8 +2663,8 @@
 --     includes 'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR',
 --     @dstStageMask@ /must/ include
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR',
---     'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR', or
---     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
+--     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR', or one of the
+--     @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages
 --
 -- -   #VUID-VkMemoryBarrier2KHR-dstAccessMask-03928# If @dstAccessMask@
 --     includes 'ACCESS_2_ACCELERATION_STRUCTURE_WRITE_BIT_KHR',
@@ -2630,6 +2672,13 @@
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
+-- -   #VUID-VkMemoryBarrier2KHR-dstAccessMask-06256# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rayQuery rayQuery>
+--     is not enabled and @dstAccessMask@ includes
+--     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @dstStageMask@
+--     /must/ not include any of the @VK_PIPELINE_STAGE_*_SHADER_BIT@
+--     stages except 'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkMemoryBarrier2KHR-sType-sType# @sType@ /must/ be
@@ -2649,6 +2698,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'AccessFlags2KHR', 'DependencyInfoKHR', 'PipelineStageFlags2KHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data MemoryBarrier2KHR = MemoryBarrier2KHR
@@ -2840,6 +2890,11 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-VkImageMemoryBarrier2KHR-srcStageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @srcStageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-VkImageMemoryBarrier2KHR-srcStageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @srcStageMask@ /must/ not contain
@@ -2873,7 +2928,7 @@
 --     @srcAccessMask@ includes 'ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR',
 --     @srcStageMask@ /must/ include
 --     'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR',
---     @VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI@,
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI',
 --     'PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR', or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
@@ -3047,8 +3102,8 @@
 --     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @srcStageMask@
 --     /must/ include
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR',
---     'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR', or
---     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
+--     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR', or one of the
+--     @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages
 --
 -- -   #VUID-VkImageMemoryBarrier2KHR-srcAccessMask-03928# If
 --     @srcAccessMask@ includes
@@ -3057,6 +3112,13 @@
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
+-- -   #VUID-VkImageMemoryBarrier2KHR-srcAccessMask-06256# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rayQuery rayQuery>
+--     is not enabled and @srcAccessMask@ includes
+--     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @srcStageMask@
+--     /must/ not include any of the @VK_PIPELINE_STAGE_*_SHADER_BIT@
+--     stages except 'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR'
+--
 -- -   #VUID-VkImageMemoryBarrier2KHR-dstStageMask-03929# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>
 --     feature is not enabled, @dstStageMask@ /must/ not contain
@@ -3098,6 +3160,11 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-VkImageMemoryBarrier2KHR-dstStageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @dstStageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-VkImageMemoryBarrier2KHR-dstStageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @dstStageMask@ /must/ not contain
@@ -3131,7 +3198,7 @@
 --     @dstAccessMask@ includes 'ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR',
 --     @dstStageMask@ /must/ include
 --     'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR',
---     @VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI@,
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI',
 --     'PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR', or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
@@ -3305,8 +3372,8 @@
 --     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @dstStageMask@
 --     /must/ include
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR',
---     'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR', or
---     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
+--     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR', or one of the
+--     @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages
 --
 -- -   #VUID-VkImageMemoryBarrier2KHR-dstAccessMask-03928# If
 --     @dstAccessMask@ includes
@@ -3315,6 +3382,13 @@
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
+-- -   #VUID-VkImageMemoryBarrier2KHR-dstAccessMask-06256# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rayQuery rayQuery>
+--     is not enabled and @dstAccessMask@ includes
+--     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @dstStageMask@
+--     /must/ not include any of the @VK_PIPELINE_STAGE_*_SHADER_BIT@
+--     stages except 'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR'
+--
 -- -   #VUID-VkImageMemoryBarrier2KHR-subresourceRange-01486#
 --     @subresourceRange.baseMipLevel@ /must/ be less than the @mipLevels@
 --     specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was
@@ -3645,6 +3719,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'AccessFlags2KHR', 'DependencyInfoKHR', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.ImageView.ImageSubresourceRange',
@@ -3866,6 +3941,11 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-VkBufferMemoryBarrier2KHR-srcStageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @srcStageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-VkBufferMemoryBarrier2KHR-srcStageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @srcStageMask@ /must/ not contain
@@ -3899,7 +3979,7 @@
 --     @srcAccessMask@ includes 'ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR',
 --     @srcStageMask@ /must/ include
 --     'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR',
---     @VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI@,
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI',
 --     'PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR', or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
@@ -4073,8 +4153,8 @@
 --     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @srcStageMask@
 --     /must/ include
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR',
---     'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR', or
---     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
+--     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR', or one of the
+--     @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages
 --
 -- -   #VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-03928# If
 --     @srcAccessMask@ includes
@@ -4083,6 +4163,13 @@
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
+-- -   #VUID-VkBufferMemoryBarrier2KHR-srcAccessMask-06256# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rayQuery rayQuery>
+--     is not enabled and @srcAccessMask@ includes
+--     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @srcStageMask@
+--     /must/ not include any of the @VK_PIPELINE_STAGE_*_SHADER_BIT@
+--     stages except 'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR'
+--
 -- -   #VUID-VkBufferMemoryBarrier2KHR-dstStageMask-03929# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-geometryShader geometry shaders>
 --     feature is not enabled, @dstStageMask@ /must/ not contain
@@ -4124,6 +4211,11 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-VkBufferMemoryBarrier2KHR-dstStageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @dstStageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-VkBufferMemoryBarrier2KHR-dstStageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @dstStageMask@ /must/ not contain
@@ -4157,7 +4249,7 @@
 --     @dstAccessMask@ includes 'ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR',
 --     @dstStageMask@ /must/ include
 --     'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR',
---     @VK_PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI@,
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI',
 --     'PIPELINE_STAGE_2_ALL_GRAPHICS_BIT_KHR', or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
@@ -4331,8 +4423,8 @@
 --     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @dstStageMask@
 --     /must/ include
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR',
---     'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR', or
---     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
+--     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR', or one of the
+--     @VK_PIPELINE_STAGE_*_SHADER_BIT@ stages
 --
 -- -   #VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-03928# If
 --     @dstAccessMask@ includes
@@ -4341,6 +4433,13 @@
 --     'PIPELINE_STAGE_2_ACCELERATION_STRUCTURE_BUILD_BIT_KHR' or
 --     'PIPELINE_STAGE_2_ALL_COMMANDS_BIT_KHR'
 --
+-- -   #VUID-VkBufferMemoryBarrier2KHR-dstAccessMask-06256# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-rayQuery rayQuery>
+--     is not enabled and @dstAccessMask@ includes
+--     'ACCESS_2_ACCELERATION_STRUCTURE_READ_BIT_KHR', @dstStageMask@
+--     /must/ not include any of the @VK_PIPELINE_STAGE_*_SHADER_BIT@
+--     stages except 'PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR'
+--
 -- -   #VUID-VkBufferMemoryBarrier2KHR-offset-01187# @offset@ /must/ be
 --     less than the size of @buffer@
 --
@@ -4414,6 +4513,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'AccessFlags2KHR', 'Vulkan.Core10.Handles.Buffer', 'DependencyInfoKHR',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'PipelineStageFlags2KHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -4562,6 +4662,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'BufferMemoryBarrier2KHR',
 -- 'Vulkan.Core10.Enums.DependencyFlagBits.DependencyFlags',
 -- 'ImageMemoryBarrier2KHR', 'MemoryBarrier2KHR',
@@ -4690,6 +4791,11 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'PIPELINE_STAGE_2_SHADING_RATE_IMAGE_BIT_NV'
 --
+-- -   #VUID-VkSemaphoreSubmitInfoKHR-stageMask-04957# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-subpassShading subpass shading>
+--     feature is not enabled, @stageMask@ /must/ not contain
+--     'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI'
+--
 -- -   #VUID-VkSemaphoreSubmitInfoKHR-stageMask-04995# If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-invocationMask invocation mask image>
 --     feature is not enabled, @stageMask@ /must/ not contain
@@ -4718,6 +4824,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'PipelineStageFlags2KHR', 'Vulkan.Core10.Handles.Semaphore',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'SubmitInfo2KHR'
 data SemaphoreSubmitInfoKHR = SemaphoreSubmitInfoKHR
@@ -4817,6 +4924,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'SubmitInfo2KHR'
 data CommandBufferSubmitInfoKHR = CommandBufferSubmitInfoKHR
@@ -4952,6 +5060,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'CommandBufferSubmitInfoKHR', 'SemaphoreSubmitInfoKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'SubmitFlagsKHR',
 -- 'queueSubmit2KHR'
@@ -5044,7 +5153,7 @@
            mempty
 
 
--- | VkQueueFamilyCheckpointProperties2NV - return structure for queue family
+-- | VkQueueFamilyCheckpointProperties2NV - Return structure for queue family
 -- checkpoint information query
 --
 -- = Description
@@ -5057,6 +5166,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostic_checkpoints VK_NV_device_diagnostic_checkpoints>,
 -- 'PipelineStageFlags2KHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data QueueFamilyCheckpointProperties2NV = QueueFamilyCheckpointProperties2NV
@@ -5101,7 +5212,7 @@
            zero
 
 
--- | VkCheckpointData2NV - return structure for command buffer checkpoint
+-- | VkCheckpointData2NV - Return structure for command buffer checkpoint
 -- data
 --
 -- == Valid Usage (Implicit)
@@ -5112,6 +5223,8 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostic_checkpoints VK_NV_device_diagnostic_checkpoints>,
 -- 'PipelineStageFlags2KHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getQueueCheckpointData2NV'
@@ -5188,12 +5301,13 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceSynchronization2FeaturesKHR = PhysicalDeviceSynchronization2FeaturesKHR
   { -- | #features-synchronization2# @synchronization2@ indicates whether the
     -- implementation supports the new set of synchronization commands
-    -- introduced in <VK_KHR_synchronization2.html VK_KHR_synchronization2>.
+    -- introduced in @VK_KHR_synchronization2@.
     synchronization2 :: Bool }
   deriving (Typeable, Eq)
 #if defined(GENERIC_INSTANCES)
@@ -5255,7 +5369,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>
 newtype AccessFlagBits2KHR = AccessFlagBits2KHR Flags64
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
@@ -5283,7 +5397,8 @@
 pattern ACCESS_2_UNIFORM_READ_BIT_KHR                   = AccessFlagBits2KHR 0x0000000000000008
 -- | 'ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR' specifies read access to an
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass input attachment>
--- within a render pass during fragment shading. Such access occurs in the
+-- within a render pass during subpass shading or fragment shading. Such
+-- access occurs in the 'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI' or
 -- 'PIPELINE_STAGE_2_FRAGMENT_SHADER_BIT_KHR' pipeline stage.
 pattern ACCESS_2_INPUT_ATTACHMENT_READ_BIT_KHR          = AccessFlagBits2KHR 0x0000000000000010
 -- | 'ACCESS_2_SHADER_READ_BIT_KHR' specifies read access to a
@@ -5548,7 +5663,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>
 newtype PipelineStageFlagBits2KHR = PipelineStageFlagBits2KHR Flags64
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
@@ -5709,6 +5824,9 @@
 -- pipeline where the invocation mask image is read by the implementation
 -- to optimize the ray dispatch.
 pattern PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI             = PipelineStageFlagBits2KHR 0x0000010000000000
+-- | 'PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI' specifies the subpass
+-- shading shader stage.
+pattern PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI             = PipelineStageFlagBits2KHR 0x0000008000000000
 -- | 'PIPELINE_STAGE_2_MESH_SHADER_BIT_NV' specifies the mesh shader stage.
 pattern PIPELINE_STAGE_2_MESH_SHADER_BIT_NV                     = PipelineStageFlagBits2KHR 0x0000000000100000
 -- | 'PIPELINE_STAGE_2_TASK_SHADER_BIT_NV' specifies the task shader stage.
@@ -5779,6 +5897,7 @@
   , (PIPELINE_STAGE_2_VERTEX_ATTRIBUTE_INPUT_BIT_KHR        , "VERTEX_ATTRIBUTE_INPUT_BIT_KHR")
   , (PIPELINE_STAGE_2_PRE_RASTERIZATION_SHADERS_BIT_KHR     , "PRE_RASTERIZATION_SHADERS_BIT_KHR")
   , (PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI            , "INVOCATION_MASK_BIT_HUAWEI")
+  , (PIPELINE_STAGE_2_SUBPASS_SHADING_BIT_HUAWEI            , "SUBPASS_SHADING_BIT_HUAWEI")
   , (PIPELINE_STAGE_2_MESH_SHADER_BIT_NV                    , "MESH_SHADER_BIT_NV")
   , (PIPELINE_STAGE_2_TASK_SHADER_BIT_NV                    , "TASK_SHADER_BIT_NV")
   , (PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT      , "FRAGMENT_DENSITY_PROCESS_BIT_EXT")
@@ -5810,6 +5929,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_synchronization2 VK_KHR_synchronization2>,
 -- 'SubmitFlagsKHR'
 newtype SubmitFlagBitsKHR = SubmitFlagBitsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_synchronization2.hs-boot b/src/Vulkan/Extensions/VK_KHR_synchronization2.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_synchronization2.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_synchronization2.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Tobias Hector
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_synchronization2:%20&body=@tobski%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_synchronization2] @tobski%0A<<Here describe the issue or question you have about the VK_KHR_synchronization2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -82,10 +82,9 @@
 --
 -- Queue submission has been changed to wrap command buffers and semaphores
 -- in extensible structures, which incorporate changes from Vulkan 1.1,
--- <VK_KHR_device_group.html VK_KHR_device_group>, and
--- <VK_KHR_timeline_semaphore.html VK_KHR_timeline_semaphore>. This also
--- adds a pipeline stage to the semaphore signal operation, mirroring the
--- existing pipeline stage specification for wait operations.
+-- @VK_KHR_device_group@, and @VK_KHR_timeline_semaphore@. This also adds a
+-- pipeline stage to the semaphore signal operation, mirroring the existing
+-- pipeline stage specification for wait operations.
 --
 -- Other miscellaneous changes include:
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_timeline_semaphore.hs b/src/Vulkan/Extensions/VK_KHR_timeline_semaphore.hs
--- a/src/Vulkan/Extensions/VK_KHR_timeline_semaphore.hs
+++ b/src/Vulkan/Extensions/VK_KHR_timeline_semaphore.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jason Ekstrand
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_timeline_semaphore:%20&body=@jekstrand%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_timeline_semaphore] @jekstrand%0A<<Here describe the issue or question you have about the VK_KHR_timeline_semaphore extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_uniform_buffer_standard_layout.hs b/src/Vulkan/Extensions/VK_KHR_uniform_buffer_standard_layout.hs
--- a/src/Vulkan/Extensions/VK_KHR_uniform_buffer_standard_layout.hs
+++ b/src/Vulkan/Extensions/VK_KHR_uniform_buffer_standard_layout.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Graeme Leese
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_uniform_buffer_standard_layout:%20&body=@gnl21%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_uniform_buffer_standard_layout] @gnl21%0A<<Here describe the issue or question you have about the VK_KHR_uniform_buffer_standard_layout extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_variable_pointers.hs b/src/Vulkan/Extensions/VK_KHR_variable_pointers.hs
--- a/src/Vulkan/Extensions/VK_KHR_variable_pointers.hs
+++ b/src/Vulkan/Extensions/VK_KHR_variable_pointers.hs
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_variable_pointers:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_variable_pointers] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_variable_pointers extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_vulkan_memory_model.hs b/src/Vulkan/Extensions/VK_KHR_vulkan_memory_model.hs
--- a/src/Vulkan/Extensions/VK_KHR_vulkan_memory_model.hs
+++ b/src/Vulkan/Extensions/VK_KHR_vulkan_memory_model.hs
@@ -29,7 +29,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_vulkan_memory_model:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_vulkan_memory_model] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_KHR_vulkan_memory_model extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs b/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_wayland_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_wayland_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_wayland_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_wayland_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_wayland_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_wayland_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -307,6 +307,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_wayland_surface VK_KHR_wayland_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR', 'WaylandSurfaceCreateInfoKHR'
@@ -357,6 +358,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_wayland_surface VK_KHR_wayland_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceWaylandPresentationSupportKHR :: forall io
                                                 . (MonadIO io)
@@ -397,6 +399,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_wayland_surface VK_KHR_wayland_surface>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'WaylandSurfaceCreateFlagsKHR', 'createWaylandSurfaceKHR'
 data WaylandSurfaceCreateInfoKHR = WaylandSurfaceCreateInfoKHR
@@ -469,6 +472,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_wayland_surface VK_KHR_wayland_surface>,
 -- 'WaylandSurfaceCreateInfoKHR'
 newtype WaylandSurfaceCreateFlagsKHR = WaylandSurfaceCreateFlagsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs-boot b/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_wayland_surface.hs-boot
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_wayland_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_wayland_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_wayland_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_wayland_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_wayland_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_wayland_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs b/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs
--- a/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs
+++ b/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Carsten Rohde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_win32_keyed_mutex:%20&body=@crohde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_win32_keyed_mutex] @crohde%0A<<Here describe the issue or question you have about the VK_KHR_win32_keyed_mutex extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -176,6 +176,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_keyed_mutex VK_KHR_win32_keyed_mutex>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data Win32KeyedMutexAcquireReleaseInfoKHR = Win32KeyedMutexAcquireReleaseInfoKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs-boot b/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_win32_keyed_mutex.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Carsten Rohde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_win32_keyed_mutex:%20&body=@crohde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_win32_keyed_mutex] @crohde%0A<<Here describe the issue or question you have about the VK_KHR_win32_keyed_mutex extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_win32_surface.hs b/src/Vulkan/Extensions/VK_KHR_win32_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_win32_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_win32_surface.hs
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_win32_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_win32_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_win32_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_win32_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_win32_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_win32_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -332,6 +332,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_surface VK_KHR_win32_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR', 'Win32SurfaceCreateInfoKHR'
@@ -370,7 +371,7 @@
   "dynamic" mkVkGetPhysicalDeviceWin32PresentationSupportKHR
   :: FunPtr (Ptr PhysicalDevice_T -> Word32 -> IO Bool32) -> Ptr PhysicalDevice_T -> Word32 -> IO Bool32
 
--- | vkGetPhysicalDeviceWin32PresentationSupportKHR - query queue family
+-- | vkGetPhysicalDeviceWin32PresentationSupportKHR - Query queue family
 -- support for presentation on a Win32 display
 --
 -- = Description
@@ -382,6 +383,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_surface VK_KHR_win32_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceWin32PresentationSupportKHR :: forall io
                                               . (MonadIO io)
@@ -416,6 +418,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_surface VK_KHR_win32_surface>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Win32SurfaceCreateFlagsKHR', 'createWin32SurfaceKHR'
 data Win32SurfaceCreateInfoKHR = Win32SurfaceCreateInfoKHR
@@ -490,6 +493,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_surface VK_KHR_win32_surface>,
 -- 'Win32SurfaceCreateInfoKHR'
 newtype Win32SurfaceCreateFlagsKHR = Win32SurfaceCreateFlagsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_win32_surface.hs-boot b/src/Vulkan/Extensions/VK_KHR_win32_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_win32_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_win32_surface.hs-boot
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_win32_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_win32_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_win32_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_win32_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_win32_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_win32_surface extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Caio Marcelo de Oliveira Filho
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_workgroup_memory_explicit_layout:%20&body=@cmarcelo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_workgroup_memory_explicit_layout] @cmarcelo%0A<<Here describe the issue or question you have about the VK_KHR_workgroup_memory_explicit_layout extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -91,11 +91,11 @@
 --
 -- == New SPIR-V Capabilities
 --
--- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-workgroup-memory-explicit-layout WorkgroupMemoryExplicitLayoutKHR>
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-WorkgroupMemoryExplicitLayoutKHR WorkgroupMemoryExplicitLayoutKHR>
 --
--- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-workgroup-memory-explicit-layout-8-bit-access WorkgroupMemoryExplicitLayout8BitAccessKHR>
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-WorkgroupMemoryExplicitLayout8BitAccessKHR WorkgroupMemoryExplicitLayout8BitAccessKHR>
 --
--- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-workgroup-memory-explicit-layout-16-bit-access WorkgroupMemoryExplicitLayout16BitAccessKHR>
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-WorkgroupMemoryExplicitLayout16BitAccessKHR WorkgroupMemoryExplicitLayout16BitAccessKHR>
 --
 -- == Version History
 --
@@ -168,6 +168,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_workgroup_memory_explicit_layout VK_KHR_workgroup_memory_explicit_layout>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR = PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Caio Marcelo de Oliveira Filho
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_workgroup_memory_explicit_layout:%20&body=@cmarcelo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_workgroup_memory_explicit_layout] @cmarcelo%0A<<Here describe the issue or question you have about the VK_KHR_workgroup_memory_explicit_layout extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -91,11 +91,11 @@
 --
 -- == New SPIR-V Capabilities
 --
--- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-workgroup-memory-explicit-layout WorkgroupMemoryExplicitLayoutKHR>
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-WorkgroupMemoryExplicitLayoutKHR WorkgroupMemoryExplicitLayoutKHR>
 --
--- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-workgroup-memory-explicit-layout-8-bit-access WorkgroupMemoryExplicitLayout8BitAccessKHR>
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-WorkgroupMemoryExplicitLayout8BitAccessKHR WorkgroupMemoryExplicitLayout8BitAccessKHR>
 --
--- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-workgroup-memory-explicit-layout-16-bit-access WorkgroupMemoryExplicitLayout16BitAccessKHR>
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#spirvenv-capabilities-table-WorkgroupMemoryExplicitLayout16BitAccessKHR WorkgroupMemoryExplicitLayout16BitAccessKHR>
 --
 -- == Version History
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs b/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xcb_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xcb_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_xcb_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xcb_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xcb_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_xcb_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -288,6 +288,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xcb_surface VK_KHR_xcb_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR', 'XcbSurfaceCreateInfoKHR'
@@ -338,6 +339,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xcb_surface VK_KHR_xcb_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceXcbPresentationSupportKHR :: forall io
                                             . (MonadIO io)
@@ -379,6 +381,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xcb_surface VK_KHR_xcb_surface>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'XcbSurfaceCreateFlagsKHR', 'createXcbSurfaceKHR'
 data XcbSurfaceCreateInfoKHR = XcbSurfaceCreateInfoKHR
@@ -452,6 +455,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xcb_surface VK_KHR_xcb_surface>,
 -- 'XcbSurfaceCreateInfoKHR'
 newtype XcbSurfaceCreateFlagsKHR = XcbSurfaceCreateFlagsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs-boot b/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_xcb_surface.hs-boot
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xcb_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xcb_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_xcb_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xcb_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xcb_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_xcb_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs b/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs
--- a/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs
+++ b/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xlib_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xlib_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_xlib_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xlib_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xlib_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_xlib_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -290,6 +290,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xlib_surface VK_KHR_xlib_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR', 'XlibSurfaceCreateInfoKHR'
@@ -340,6 +341,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xlib_surface VK_KHR_xlib_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceXlibPresentationSupportKHR :: forall io
                                              . (MonadIO io)
@@ -381,6 +383,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xlib_surface VK_KHR_xlib_surface>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'XlibSurfaceCreateFlagsKHR', 'createXlibSurfaceKHR'
 data XlibSurfaceCreateInfoKHR = XlibSurfaceCreateInfoKHR
@@ -454,6 +457,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_xlib_surface VK_KHR_xlib_surface>,
 -- 'XlibSurfaceCreateInfoKHR'
 newtype XlibSurfaceCreateFlagsKHR = XlibSurfaceCreateFlagsKHR Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs-boot b/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_xlib_surface.hs-boot
@@ -26,10 +26,10 @@
 -- [__Contact__]
 --
 --     -   Jesse Hall
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xlib_surface:%20&body=@critsec%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xlib_surface] @critsec%0A<<Here describe the issue or question you have about the VK_KHR_xlib_surface extension>> >
 --
 --     -   Ian Elliott
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_xlib_surface:%20&body=@ianelliottus%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_xlib_surface] @ianelliottus%0A<<Here describe the issue or question you have about the VK_KHR_xlib_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs b/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs
--- a/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs
+++ b/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Alan Baker
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_zero_initialize_workgroup_memory:%20&body=@alan-baker%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_zero_initialize_workgroup_memory] @alan-baker%0A<<Here describe the issue or question you have about the VK_KHR_zero_initialize_workgroup_memory extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -144,6 +144,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_zero_initialize_workgroup_memory VK_KHR_zero_initialize_workgroup_memory>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR = PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR
diff --git a/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs-boot b/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_zero_initialize_workgroup_memory.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Alan Baker
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_KHR_zero_initialize_workgroup_memory:%20&body=@alan-baker%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_zero_initialize_workgroup_memory] @alan-baker%0A<<Here describe the issue or question you have about the VK_KHR_zero_initialize_workgroup_memory extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_MVK_ios_surface.hs b/src/Vulkan/Extensions/VK_MVK_ios_surface.hs
--- a/src/Vulkan/Extensions/VK_MVK_ios_surface.hs
+++ b/src/Vulkan/Extensions/VK_MVK_ios_surface.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Bill Hollings
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_MVK_ios_surface:%20&body=@billhollings%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_MVK_ios_surface] @billhollings%0A<<Here describe the issue or question you have about the VK_MVK_ios_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -243,6 +243,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_MVK_ios_surface VK_MVK_ios_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'IOSSurfaceCreateInfoMVK', 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -300,6 +301,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_MVK_ios_surface VK_MVK_ios_surface>,
 -- 'IOSSurfaceCreateFlagsMVK',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'createIOSSurfaceMVK'
 data IOSSurfaceCreateInfoMVK = IOSSurfaceCreateInfoMVK
@@ -360,6 +362,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_MVK_ios_surface VK_MVK_ios_surface>,
 -- 'IOSSurfaceCreateInfoMVK'
 newtype IOSSurfaceCreateFlagsMVK = IOSSurfaceCreateFlagsMVK Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_MVK_ios_surface.hs-boot b/src/Vulkan/Extensions/VK_MVK_ios_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_MVK_ios_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_MVK_ios_surface.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Bill Hollings
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_MVK_ios_surface:%20&body=@billhollings%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_MVK_ios_surface] @billhollings%0A<<Here describe the issue or question you have about the VK_MVK_ios_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_MVK_macos_surface.hs b/src/Vulkan/Extensions/VK_MVK_macos_surface.hs
--- a/src/Vulkan/Extensions/VK_MVK_macos_surface.hs
+++ b/src/Vulkan/Extensions/VK_MVK_macos_surface.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Bill Hollings
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_MVK_macos_surface:%20&body=@billhollings%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_MVK_macos_surface] @billhollings%0A<<Here describe the issue or question you have about the VK_MVK_macos_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -246,6 +246,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_MVK_macos_surface VK_MVK_macos_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance', 'MacOSSurfaceCreateInfoMVK',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -303,6 +304,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_MVK_macos_surface VK_MVK_macos_surface>,
 -- 'MacOSSurfaceCreateFlagsMVK',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createMacOSSurfaceMVK'
@@ -364,6 +366,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_MVK_macos_surface VK_MVK_macos_surface>,
 -- 'MacOSSurfaceCreateInfoMVK'
 newtype MacOSSurfaceCreateFlagsMVK = MacOSSurfaceCreateFlagsMVK Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_MVK_macos_surface.hs-boot b/src/Vulkan/Extensions/VK_MVK_macos_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_MVK_macos_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_MVK_macos_surface.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Bill Hollings
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_MVK_macos_surface:%20&body=@billhollings%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_MVK_macos_surface] @billhollings%0A<<Here describe the issue or question you have about the VK_MVK_macos_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NN_vi_surface.hs b/src/Vulkan/Extensions/VK_NN_vi_surface.hs
--- a/src/Vulkan/Extensions/VK_NN_vi_surface.hs
+++ b/src/Vulkan/Extensions/VK_NN_vi_surface.hs
@@ -235,6 +235,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NN_vi_surface VK_NN_vi_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR', 'ViSurfaceCreateInfoNN'
@@ -273,6 +274,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NN_vi_surface VK_NN_vi_surface>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'ViSurfaceCreateFlagsNN', 'createViSurfaceNN'
 data ViSurfaceCreateInfoNN = ViSurfaceCreateInfoNN
@@ -337,6 +339,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NN_vi_surface VK_NN_vi_surface>,
 -- 'ViSurfaceCreateInfoNN'
 newtype ViSurfaceCreateFlagsNN = ViSurfaceCreateFlagsNN Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_NVX_binary_import.hs b/src/Vulkan/Extensions/VK_NVX_binary_import.hs
--- a/src/Vulkan/Extensions/VK_NVX_binary_import.hs
+++ b/src/Vulkan/Extensions/VK_NVX_binary_import.hs
@@ -24,10 +24,10 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_binary_import:%20&body=@ewerness%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_binary_import] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NVX_binary_import extension>> >
 --
 --     -   Liam Middlebrook
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_binary_import:%20&body=@liam-middlebrook%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_binary_import] @liam-middlebrook%0A<<Here describe the issue or question you have about the VK_NVX_binary_import extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -45,58 +45,11 @@
 -- This extension allows applications to import CuBIN binaries and execute
 -- them.
 --
--- == New Object Types
---
--- -   'Vulkan.Extensions.Handles.CuFunctionNVX'
---
--- -   'Vulkan.Extensions.Handles.CuModuleNVX'
---
--- == New Commands
---
--- -   'cmdCuLaunchKernelNVX'
---
--- -   'createCuFunctionNVX'
---
--- -   'createCuModuleNVX'
---
--- -   'destroyCuFunctionNVX'
---
--- -   'destroyCuModuleNVX'
---
--- == New Structures
---
--- -   'CuFunctionCreateInfoNVX'
---
--- -   'CuLaunchInfoNVX'
---
--- -   'CuModuleCreateInfoNVX'
---
--- == New Enum Constants
---
--- -   'NVX_BINARY_IMPORT_EXTENSION_NAME'
---
--- -   'NVX_BINARY_IMPORT_SPEC_VERSION'
---
--- -   Extending
---     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT':
---
---     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT'
---
---     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT'
---
--- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':
---
---     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_FUNCTION_NVX'
---
---     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_MODULE_NVX'
---
--- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
---
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX'
---
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX'
+-- Note
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX'
+-- There is currently no specification language written for this extension,
+-- so although it appears in the Vulkan headers, its interfaces are not
+-- summarized here.
 --
 -- == Version History
 --
diff --git a/src/Vulkan/Extensions/VK_NVX_binary_import.hs-boot b/src/Vulkan/Extensions/VK_NVX_binary_import.hs-boot
--- a/src/Vulkan/Extensions/VK_NVX_binary_import.hs-boot
+++ b/src/Vulkan/Extensions/VK_NVX_binary_import.hs-boot
@@ -24,10 +24,10 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_binary_import:%20&body=@ewerness%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_binary_import] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NVX_binary_import extension>> >
 --
 --     -   Liam Middlebrook
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_binary_import:%20&body=@liam-middlebrook%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_binary_import] @liam-middlebrook%0A<<Here describe the issue or question you have about the VK_NVX_binary_import extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -45,58 +45,11 @@
 -- This extension allows applications to import CuBIN binaries and execute
 -- them.
 --
--- == New Object Types
---
--- -   'Vulkan.Extensions.Handles.CuFunctionNVX'
---
--- -   'Vulkan.Extensions.Handles.CuModuleNVX'
---
--- == New Commands
---
--- -   'cmdCuLaunchKernelNVX'
---
--- -   'createCuFunctionNVX'
---
--- -   'createCuModuleNVX'
---
--- -   'destroyCuFunctionNVX'
---
--- -   'destroyCuModuleNVX'
---
--- == New Structures
---
--- -   'CuFunctionCreateInfoNVX'
---
--- -   'CuLaunchInfoNVX'
---
--- -   'CuModuleCreateInfoNVX'
---
--- == New Enum Constants
---
--- -   'NVX_BINARY_IMPORT_EXTENSION_NAME'
---
--- -   'NVX_BINARY_IMPORT_SPEC_VERSION'
---
--- -   Extending
---     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportObjectTypeEXT':
---
---     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_FUNCTION_NVX_EXT'
---
---     -   'Vulkan.Extensions.VK_EXT_debug_report.DEBUG_REPORT_OBJECT_TYPE_CU_MODULE_NVX_EXT'
---
--- -   Extending 'Vulkan.Core10.Enums.ObjectType.ObjectType':
---
---     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_FUNCTION_NVX'
---
---     -   'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_CU_MODULE_NVX'
---
--- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
---
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX'
---
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX'
+-- Note
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX'
+-- There is currently no specification language written for this extension,
+-- so although it appears in the Vulkan headers, its interfaces are not
+-- summarized here.
 --
 -- == Version History
 --
diff --git a/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs b/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs
--- a/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs
+++ b/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_image_view_handle:%20&body=@ewerness%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_image_view_handle] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NVX_image_view_handle extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -164,6 +164,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_image_view_handle VK_NVX_image_view_handle>,
 -- 'Vulkan.Core10.Handles.Device', 'ImageViewHandleInfoNVX'
 getImageViewHandleNVX :: forall io
                        . (MonadIO io)
@@ -211,6 +212,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_image_view_handle VK_NVX_image_view_handle>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.ImageView',
 -- 'ImageViewAddressPropertiesNVX'
 getImageViewAddressNVX :: forall io
@@ -298,6 +300,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_image_view_handle VK_NVX_image_view_handle>,
 -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',
 -- 'Vulkan.Core10.Handles.ImageView', 'Vulkan.Core10.Handles.Sampler',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -363,6 +366,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_image_view_handle VK_NVX_image_view_handle>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs-boot b/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs-boot
--- a/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs-boot
+++ b/src/Vulkan/Extensions/VK_NVX_image_view_handle.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_image_view_handle:%20&body=@ewerness%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_image_view_handle] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NVX_image_view_handle extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs b/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs
--- a/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs
+++ b/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_multiview_per_view_attributes:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_multiview_per_view_attributes] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NVX_multiview_per_view_attributes extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -203,6 +203,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NVX_multiview_per_view_attributes VK_NVX_multiview_per_view_attributes>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX = PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX
diff --git a/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs-boot b/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs-boot
--- a/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs-boot
+++ b/src/Vulkan/Extensions/VK_NVX_multiview_per_view_attributes.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NVX_multiview_per_view_attributes:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NVX_multiview_per_view_attributes] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NVX_multiview_per_view_attributes extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_acquire_winrt_display.hs b/src/Vulkan/Extensions/VK_NV_acquire_winrt_display.hs
--- a/src/Vulkan/Extensions/VK_NV_acquire_winrt_display.hs
+++ b/src/Vulkan/Extensions/VK_NV_acquire_winrt_display.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Juliano
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_acquire_winrt_display:%20&body=@jjuliano%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_acquire_winrt_display] @jjuliano%0A<<Here describe the issue or question you have about the VK_NV_acquire_winrt_display extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -272,6 +272,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_acquire_winrt_display VK_NV_acquire_winrt_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 acquireWinrtDisplayNV :: forall io
@@ -332,6 +333,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_acquire_winrt_display VK_NV_acquire_winrt_display>,
 -- 'Vulkan.Extensions.Handles.DisplayKHR',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getWinrtDisplayNV :: forall io
diff --git a/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs b/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs
--- a/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs
+++ b/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_clip_space_w_scaling:%20&body=@ewerness-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_clip_space_w_scaling] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NV_clip_space_w_scaling extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -269,8 +269,8 @@
   "dynamic" mkVkCmdSetViewportWScalingNV
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr ViewportWScalingNV -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr ViewportWScalingNV -> IO ()
 
--- | vkCmdSetViewportWScalingNV - Set the viewport W scaling on a command
--- buffer
+-- | vkCmdSetViewportWScalingNV - Set the viewport W scaling dynamically for
+-- a command buffer
 --
 -- = Description
 --
@@ -278,6 +278,15 @@
 -- replace the current state for the viewport index @firstViewport@ + i,
 -- for i in [0, @viewportCount@).
 --
+-- This command sets the viewport __W__ scaling for subsequent drawing
+-- commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_W_SCALING_NV'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineViewportWScalingStateCreateInfoNV'::@pViewportWScalings@ values
+-- used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetViewportWScalingNV-firstViewport-01324# The sum of
@@ -326,6 +335,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'ViewportWScalingNV'
 cmdSetViewportWScalingNV :: forall io
                           . (MonadIO io)
@@ -354,6 +364,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling>,
 -- 'PipelineViewportWScalingStateCreateInfoNV', 'cmdSetViewportWScalingNV'
 data ViewportWScalingNV = ViewportWScalingNV
   { -- | @xcoeff@ and @ycoeff@ are the viewport’s W scaling factor for x and y
@@ -407,6 +418,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_clip_space_w_scaling VK_NV_clip_space_w_scaling>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'ViewportWScalingNV'
 data PipelineViewportWScalingStateCreateInfoNV = PipelineViewportWScalingStateCreateInfoNV
diff --git a/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs-boot b/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_clip_space_w_scaling.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_clip_space_w_scaling:%20&body=@ewerness-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_clip_space_w_scaling] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NV_clip_space_w_scaling extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs b/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs
--- a/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs
+++ b/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_compute_shader_derivatives:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_compute_shader_derivatives] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_compute_shader_derivatives extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -175,6 +175,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_compute_shader_derivatives VK_NV_compute_shader_derivatives>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceComputeShaderDerivativesFeaturesNV = PhysicalDeviceComputeShaderDerivativesFeaturesNV
diff --git a/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs-boot b/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_compute_shader_derivatives.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_compute_shader_derivatives:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_compute_shader_derivatives] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_compute_shader_derivatives extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs b/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs
--- a/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs
+++ b/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_cooperative_matrix:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_cooperative_matrix] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_cooperative_matrix extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -292,6 +292,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cooperative_matrix VK_NV_cooperative_matrix>,
 -- 'CooperativeMatrixPropertiesNV', 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceCooperativeMatrixPropertiesNV :: forall io
                                                 . (MonadIO io)
@@ -340,6 +341,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cooperative_matrix VK_NV_cooperative_matrix>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceCooperativeMatrixFeaturesNV = PhysicalDeviceCooperativeMatrixFeaturesNV
@@ -411,6 +413,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cooperative_matrix VK_NV_cooperative_matrix>,
 -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceCooperativeMatrixPropertiesNV = PhysicalDeviceCooperativeMatrixPropertiesNV
@@ -477,6 +480,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cooperative_matrix VK_NV_cooperative_matrix>,
 -- 'ComponentTypeNV', 'ScopeNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getPhysicalDeviceCooperativeMatrixPropertiesNV'
@@ -587,6 +591,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cooperative_matrix VK_NV_cooperative_matrix>,
 -- 'CooperativeMatrixPropertiesNV'
 newtype ScopeNV = ScopeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -631,6 +636,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cooperative_matrix VK_NV_cooperative_matrix>,
 -- 'CooperativeMatrixPropertiesNV'
 newtype ComponentTypeNV = ComponentTypeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs-boot b/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_cooperative_matrix.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_cooperative_matrix:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_cooperative_matrix] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_cooperative_matrix extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs b/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs
--- a/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs
+++ b/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_corner_sampled_image:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_corner_sampled_image] @dgkoch%0A<<Here describe the issue or question you have about the VK_NV_corner_sampled_image extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -111,7 +111,7 @@
 --     support corner-sampling?
 --
 --     __DISCUSSION__: Currently NVIDIA supports this for all 2D and 3D
---     formats, but not for cubemaps or depth-stencil formats. A format
+--     formats, but not for cube maps or depth-stencil formats. A format
 --     feature might be useful if other vendors would only support this on
 --     some formats.
 --
@@ -204,6 +204,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_corner_sampled_image VK_NV_corner_sampled_image>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceCornerSampledImageFeaturesNV = PhysicalDeviceCornerSampledImageFeaturesNV
diff --git a/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs-boot b/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_corner_sampled_image.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_corner_sampled_image:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_corner_sampled_image] @dgkoch%0A<<Here describe the issue or question you have about the VK_NV_corner_sampled_image extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -111,7 +111,7 @@
 --     support corner-sampling?
 --
 --     __DISCUSSION__: Currently NVIDIA supports this for all 2D and 3D
---     formats, but not for cubemaps or depth-stencil formats. A format
+--     formats, but not for cube maps or depth-stencil formats. A format
 --     feature might be useful if other vendors would only support this on
 --     some formats.
 --
diff --git a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
--- a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
+++ b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Kedarnath Thangudu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_coverage_reduction_mode:%20&body=@kthangudu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_coverage_reduction_mode] @kthangudu%0A<<Here describe the issue or question you have about the VK_NV_coverage_reduction_mode extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -267,6 +267,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>,
 -- 'FramebufferMixedSamplesCombinationNV',
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV :: forall io
@@ -318,6 +319,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceCoverageReductionModeFeaturesNV = PhysicalDeviceCoverageReductionModeFeaturesNV
@@ -399,6 +401,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>,
 -- 'CoverageReductionModeNV',
 -- 'PipelineCoverageReductionStateCreateFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -457,6 +460,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>,
 -- 'CoverageReductionModeNV',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits',
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlags',
@@ -538,6 +542,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>,
 -- 'PipelineCoverageReductionStateCreateInfoNV'
 newtype PipelineCoverageReductionStateCreateFlagsNV = PipelineCoverageReductionStateCreateFlagsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -571,6 +576,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_coverage_reduction_mode VK_NV_coverage_reduction_mode>,
 -- 'FramebufferMixedSamplesCombinationNV',
 -- 'PipelineCoverageReductionStateCreateInfoNV'
 newtype CoverageReductionModeNV = CoverageReductionModeNV Int32
diff --git a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs-boot b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Kedarnath Thangudu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_coverage_reduction_mode:%20&body=@kthangudu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_coverage_reduction_mode] @kthangudu%0A<<Here describe the issue or question you have about the VK_NV_coverage_reduction_mode extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs b/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs
--- a/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs
+++ b/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_dedicated_allocation:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_dedicated_allocation] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_dedicated_allocation extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -238,6 +238,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_dedicated_allocation VK_NV_dedicated_allocation>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DedicatedAllocationImageCreateInfoNV = DedicatedAllocationImageCreateInfoNV
@@ -289,6 +290,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_dedicated_allocation VK_NV_dedicated_allocation>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DedicatedAllocationBufferCreateInfoNV = DedicatedAllocationBufferCreateInfoNV
@@ -403,6 +405,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_dedicated_allocation VK_NV_dedicated_allocation>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Image',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DedicatedAllocationMemoryAllocateInfoNV = DedicatedAllocationMemoryAllocateInfoNV
diff --git a/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs-boot b/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_dedicated_allocation.hs-boot
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_dedicated_allocation:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_dedicated_allocation] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_dedicated_allocation extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs b/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs
--- a/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs
+++ b/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Nuno Subtil
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_dedicated_allocation_image_aliasing:%20&body=@nsubtil%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_dedicated_allocation_image_aliasing] @nsubtil%0A<<Here describe the issue or question you have about the VK_NV_dedicated_allocation_image_aliasing extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -140,6 +140,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_dedicated_allocation_image_aliasing VK_NV_dedicated_allocation_image_aliasing>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV = PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV
diff --git a/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs-boot b/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_dedicated_allocation_image_aliasing.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Nuno Subtil
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_dedicated_allocation_image_aliasing:%20&body=@nsubtil%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_dedicated_allocation_image_aliasing] @nsubtil%0A<<Here describe the issue or question you have about the VK_NV_dedicated_allocation_image_aliasing extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs b/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs
--- a/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs
+++ b/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Nuno Subtil
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_device_diagnostic_checkpoints:%20&body=@nsubtil%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_device_diagnostic_checkpoints] @nsubtil%0A<<Here describe the issue or question you have about the VK_NV_device_diagnostic_checkpoints extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -171,7 +171,7 @@
   "dynamic" mkVkCmdSetCheckpointNV
   :: FunPtr (Ptr CommandBuffer_T -> Ptr () -> IO ()) -> Ptr CommandBuffer_T -> Ptr () -> IO ()
 
--- | vkCmdSetCheckpointNV - insert diagnostic checkpoint in command stream
+-- | vkCmdSetCheckpointNV - Insert diagnostic checkpoint in command stream
 --
 -- == Valid Usage (Implicit)
 --
@@ -208,6 +208,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostic_checkpoints VK_NV_device_diagnostic_checkpoints>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetCheckpointNV :: forall io
                     . (MonadIO io)
@@ -233,7 +234,7 @@
   "dynamic" mkVkGetQueueCheckpointDataNV
   :: FunPtr (Ptr Queue_T -> Ptr Word32 -> Ptr CheckpointDataNV -> IO ()) -> Ptr Queue_T -> Ptr Word32 -> Ptr CheckpointDataNV -> IO ()
 
--- | vkGetQueueCheckpointDataNV - retrieve diagnostic checkpoint data
+-- | vkGetQueueCheckpointDataNV - Retrieve diagnostic checkpoint data
 --
 -- = Description
 --
@@ -270,6 +271,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostic_checkpoints VK_NV_device_diagnostic_checkpoints>,
 -- 'CheckpointDataNV', 'Vulkan.Core10.Handles.Queue'
 getQueueCheckpointDataNV :: forall io
                           . (MonadIO io)
@@ -294,7 +296,7 @@
   pure $ (pCheckpointData')
 
 
--- | VkQueueFamilyCheckpointPropertiesNV - return structure for queue family
+-- | VkQueueFamilyCheckpointPropertiesNV - Return structure for queue family
 -- checkpoint information query
 --
 -- = Description
@@ -307,6 +309,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostic_checkpoints VK_NV_device_diagnostic_checkpoints>,
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data QueueFamilyCheckpointPropertiesNV = QueueFamilyCheckpointPropertiesNV
@@ -351,7 +354,7 @@
            zero
 
 
--- | VkCheckpointDataNV - return structure for command buffer checkpoint data
+-- | VkCheckpointDataNV - Return structure for command buffer checkpoint data
 --
 -- = Description
 --
@@ -363,6 +366,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostic_checkpoints VK_NV_device_diagnostic_checkpoints>,
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PipelineStageFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'getQueueCheckpointDataNV'
diff --git a/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs-boot b/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_device_diagnostic_checkpoints.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Nuno Subtil
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_device_diagnostic_checkpoints:%20&body=@nsubtil%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_device_diagnostic_checkpoints] @nsubtil%0A<<Here describe the issue or question you have about the VK_NV_device_diagnostic_checkpoints extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs b/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs
--- a/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs
+++ b/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Kedarnath Thangudu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_device_diagnostics_config:%20&body=@kthangudu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_device_diagnostics_config] @kthangudu%0A<<Here describe the issue or question you have about the VK_NV_device_diagnostics_config extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -167,12 +167,12 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostics_config VK_NV_device_diagnostics_config>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDiagnosticsConfigFeaturesNV = PhysicalDeviceDiagnosticsConfigFeaturesNV
-  { -- | #features-features-diagnosticsConfig# @diagnosticsConfig@ indicates
-    -- whether the implementation supports the ability to configure diagnostic
-    -- tools.
+  { -- | #features-diagnosticsConfig# @diagnosticsConfig@ indicates whether the
+    -- implementation supports the ability to configure diagnostic tools.
     diagnosticsConfig :: Bool }
   deriving (Typeable, Eq)
 #if defined(GENERIC_INSTANCES)
@@ -219,6 +219,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostics_config VK_NV_device_diagnostics_config>,
 -- 'DeviceDiagnosticsConfigFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data DeviceDiagnosticsConfigCreateInfoNV = DeviceDiagnosticsConfigCreateInfoNV
@@ -273,6 +274,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_diagnostics_config VK_NV_device_diagnostics_config>,
 -- 'DeviceDiagnosticsConfigFlagsNV'
 newtype DeviceDiagnosticsConfigFlagBitsNV = DeviceDiagnosticsConfigFlagBitsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs-boot b/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_device_diagnostics_config.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Kedarnath Thangudu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_device_diagnostics_config:%20&body=@kthangudu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_device_diagnostics_config] @kthangudu%0A<<Here describe the issue or question you have about the VK_NV_device_diagnostics_config extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs
--- a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs
+++ b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs
@@ -21,10 +21,12 @@
 --
 --     -   Requires Vulkan 1.1
 --
+--     -   Requires @VK_KHR_buffer_device_address@
+--
 -- [__Contact__]
 --
 --     -   Christoph Kubisch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_device_generated_commands:%20&body=@pixeljetstream%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_device_generated_commands] @pixeljetstream%0A<<Here describe the issue or question you have about the VK_NV_device_generated_commands extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -778,6 +780,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-02697# For each set /n/
 --     that is statically used by the 'Vulkan.Core10.Handles.Pipeline'
 --     bound to the pipeline bind point used by this command, a descriptor
@@ -787,11 +805,12 @@
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-02698# For each push
---     constant that is statically used by the
---     'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point
---     used by this command, a push constant value /must/ have been set for
---     the same pipeline bind point, with a
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
@@ -887,28 +906,28 @@
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -1292,6 +1311,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'GeneratedCommandsInfoNV'
 cmdExecuteGeneratedCommandsNV :: forall io
@@ -1385,6 +1405,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'GeneratedCommandsInfoNV'
 cmdPreprocessGeneratedCommandsNV :: forall io
                                   . (MonadIO io)
@@ -1481,6 +1502,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint'
 cmdBindPipelineShaderGroupNV :: forall io
@@ -1539,6 +1561,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.Handles.Device',
 -- 'GeneratedCommandsMemoryRequirementsInfoNV',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_get_memory_requirements2.MemoryRequirements2'
@@ -1612,6 +1635,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'IndirectCommandsLayoutCreateInfoNV',
 -- 'Vulkan.Extensions.Handles.IndirectCommandsLayoutNV'
@@ -1714,6 +1738,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.Handles.IndirectCommandsLayoutNV'
@@ -1764,6 +1789,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDeviceGeneratedCommandsFeaturesNV = PhysicalDeviceDeviceGeneratedCommandsFeaturesNV
@@ -1828,6 +1854,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceDeviceGeneratedCommandsPropertiesNV = PhysicalDeviceDeviceGeneratedCommandsPropertiesNV
   { -- | @maxGraphicsShaderGroupCount@ is the maximum number of shader groups in
@@ -1969,6 +1996,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'GraphicsPipelineShaderGroupsCreateInfoNV',
 -- 'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo',
 -- 'Vulkan.Core10.Pipeline.PipelineTessellationStateCreateInfo',
@@ -2112,6 +2140,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'GraphicsShaderGroupCreateInfoNV', 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data GraphicsPipelineShaderGroupsCreateInfoNV = GraphicsPipelineShaderGroupsCreateInfoNV
@@ -2186,7 +2215,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>
 data BindShaderGroupIndirectCommandNV = BindShaderGroupIndirectCommandNV
   { -- No documentation found for Nested "VkBindShaderGroupIndirectCommandNV" "groupIndex"
     groupIndex :: Word32 }
@@ -2250,6 +2279,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress',
 -- 'Vulkan.Core10.Enums.IndexType.IndexType'
 data BindIndexBufferIndirectCommandNV = BindIndexBufferIndirectCommandNV
@@ -2326,6 +2356,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.FundamentalTypes.DeviceAddress'
 data BindVertexBufferIndirectCommandNV = BindVertexBufferIndirectCommandNV
   { -- | @bufferAddress@ specifies a physical address of the
@@ -2388,7 +2419,7 @@
 --
 -- = See Also
 --
--- No cross-references are available
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>
 data SetStateFlagsIndirectCommandNV = SetStateFlagsIndirectCommandNV
   { -- | @data@ encodes packed state that this command alters.
     --
@@ -2455,6 +2486,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'GeneratedCommandsInfoNV'
 data IndirectCommandsStreamNV = IndirectCommandsStreamNV
@@ -2599,6 +2631,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.IndexType.IndexType',
 -- 'IndirectCommandsLayoutCreateInfoNV', 'IndirectCommandsTokenTypeNV',
@@ -2820,6 +2853,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'IndirectCommandsLayoutTokenNV', 'IndirectCommandsLayoutUsageFlagsNV',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -3043,6 +3077,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Extensions.Handles.IndirectCommandsLayoutNV',
@@ -3209,6 +3244,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'Vulkan.Extensions.Handles.IndirectCommandsLayoutNV',
 -- 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.PipelineBindPoint.PipelineBindPoint',
@@ -3288,6 +3324,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'IndirectCommandsLayoutUsageFlagsNV'
 newtype IndirectCommandsLayoutUsageFlagBitsNV = IndirectCommandsLayoutUsageFlagBitsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -3343,6 +3380,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'IndirectStateFlagsNV'
 newtype IndirectStateFlagBitsNV = IndirectStateFlagBitsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -3405,6 +3443,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_device_generated_commands VK_NV_device_generated_commands>,
 -- 'IndirectCommandsLayoutTokenNV'
 newtype IndirectCommandsTokenTypeNV = IndirectCommandsTokenTypeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs-boot b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_device_generated_commands.hs-boot
@@ -21,10 +21,12 @@
 --
 --     -   Requires Vulkan 1.1
 --
+--     -   Requires @VK_KHR_buffer_device_address@
+--
 -- [__Contact__]
 --
 --     -   Christoph Kubisch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_device_generated_commands:%20&body=@pixeljetstream%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_device_generated_commands] @pixeljetstream%0A<<Here describe the issue or question you have about the VK_NV_device_generated_commands extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory.hs b/src/Vulkan/Extensions/VK_NV_external_memory.hs
--- a/src/Vulkan/Extensions/VK_NV_external_memory.hs
+++ b/src/Vulkan/Extensions/VK_NV_external_memory.hs
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory] @cubanismo%0A<<Here describe the issue or question you have about the VK_NV_external_memory extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -174,6 +174,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory VK_NV_external_memory>,
 -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalMemoryImageCreateInfoNV = ExternalMemoryImageCreateInfoNV
@@ -230,6 +231,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory VK_NV_external_memory>,
 -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportMemoryAllocateInfoNV = ExportMemoryAllocateInfoNV
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory.hs-boot b/src/Vulkan/Extensions/VK_NV_external_memory.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_external_memory.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_external_memory.hs-boot
@@ -33,7 +33,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory] @cubanismo%0A<<Here describe the issue or question you have about the VK_NV_external_memory extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs b/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs
--- a/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs
+++ b/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory_capabilities:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory_capabilities] @cubanismo%0A<<Here describe the issue or question you have about the VK_NV_external_memory_capabilities extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -223,7 +223,7 @@
   "dynamic" mkVkGetPhysicalDeviceExternalImageFormatPropertiesNV
   :: FunPtr (Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ExternalMemoryHandleTypeFlagsNV -> Ptr ExternalImageFormatPropertiesNV -> IO Result) -> Ptr PhysicalDevice_T -> Format -> ImageType -> ImageTiling -> ImageUsageFlags -> ImageCreateFlags -> ExternalMemoryHandleTypeFlagsNV -> Ptr ExternalImageFormatPropertiesNV -> IO Result
 
--- | vkGetPhysicalDeviceExternalImageFormatPropertiesNV - determine image
+-- | vkGetPhysicalDeviceExternalImageFormatPropertiesNV - Determine image
 -- capabilities compatible with external memory handle types
 --
 -- = Description
@@ -252,6 +252,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_capabilities VK_NV_external_memory_capabilities>,
 -- 'ExternalImageFormatPropertiesNV', 'ExternalMemoryHandleTypeFlagsNV',
 -- 'Vulkan.Core10.Enums.Format.Format',
 -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.ImageCreateFlags',
@@ -329,6 +330,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_capabilities VK_NV_external_memory_capabilities>,
 -- 'ExternalMemoryFeatureFlagsNV', 'ExternalMemoryHandleTypeFlagsNV',
 -- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties',
 -- 'getPhysicalDeviceExternalImageFormatPropertiesNV'
@@ -411,6 +413,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_capabilities VK_NV_external_memory_capabilities>,
 -- 'ExternalMemoryHandleTypeFlagsNV'
 newtype ExternalMemoryHandleTypeFlagBitsNV = ExternalMemoryHandleTypeFlagBitsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -467,6 +470,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_capabilities VK_NV_external_memory_capabilities>,
 -- 'ExternalImageFormatPropertiesNV', 'ExternalMemoryFeatureFlagsNV',
 -- 'getPhysicalDeviceExternalImageFormatPropertiesNV'
 newtype ExternalMemoryFeatureFlagBitsNV = ExternalMemoryFeatureFlagBitsNV Flags
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs-boot b/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_external_memory_capabilities.hs-boot
@@ -31,7 +31,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory_capabilities:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory_capabilities] @cubanismo%0A<<Here describe the issue or question you have about the VK_NV_external_memory_capabilities extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs b/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs
--- a/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs
+++ b/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Carsten Rohde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory_rdma:%20&body=@crohde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory_rdma] @crohde%0A<<Here describe the issue or question you have about the VK_NV_external_memory_rdma extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -257,6 +257,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_rdma VK_NV_external_memory_rdma>,
 -- 'Vulkan.Core10.Handles.Device', 'MemoryGetRemoteAddressInfoNV',
 -- 'RemoteAddressNV'
 getMemoryRemoteAddressNV :: forall io
@@ -312,6 +313,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_rdma VK_NV_external_memory_rdma>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceExternalMemoryRDMAFeaturesNV = PhysicalDeviceExternalMemoryRDMAFeaturesNV
@@ -367,6 +369,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_rdma VK_NV_external_memory_rdma>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs-boot b/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_external_memory_rdma.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Carsten Rohde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory_rdma:%20&body=@crohde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory_rdma] @crohde%0A<<Here describe the issue or question you have about the VK_NV_external_memory_rdma extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs b/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs
--- a/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs
+++ b/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory_win32:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory_win32] @cubanismo%0A<<Here describe the issue or question you have about the VK_NV_external_memory_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -347,7 +347,7 @@
   "dynamic" mkVkGetMemoryWin32HandleNV
   :: FunPtr (Ptr Device_T -> DeviceMemory -> ExternalMemoryHandleTypeFlagsNV -> Ptr HANDLE -> IO Result) -> Ptr Device_T -> DeviceMemory -> ExternalMemoryHandleTypeFlagsNV -> Ptr HANDLE -> IO Result
 
--- | vkGetMemoryWin32HandleNV - retrieve Win32 handle to a device memory
+-- | vkGetMemoryWin32HandleNV - Retrieve Win32 handle to a device memory
 -- object
 --
 -- == Return Codes
@@ -364,6 +364,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_win32 VK_NV_external_memory_win32>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagsNV'
 getMemoryWin32HandleNV :: forall io
@@ -411,7 +412,7 @@
   pure $ (pHandle)
 
 
--- | VkImportMemoryWin32HandleInfoNV - import Win32 memory created on the
+-- | VkImportMemoryWin32HandleInfoNV - Import Win32 memory created on the
 -- same physical device
 --
 -- = Description
@@ -423,6 +424,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_win32 VK_NV_external_memory_win32>,
 -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ImportMemoryWin32HandleInfoNV = ImportMemoryWin32HandleInfoNV
@@ -484,7 +486,7 @@
            zero
 
 
--- | VkExportMemoryWin32HandleInfoNV - specify security attributes and access
+-- | VkExportMemoryWin32HandleInfoNV - Specify security attributes and access
 -- rights for Win32 memory handles
 --
 -- = Description
@@ -512,6 +514,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_external_memory_win32 VK_NV_external_memory_win32>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExportMemoryWin32HandleInfoNV = ExportMemoryWin32HandleInfoNV
   { -- | @pAttributes@ is a pointer to a Windows 'SECURITY_ATTRIBUTES' structure
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs-boot b/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_external_memory_win32.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   James Jones
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_external_memory_win32:%20&body=@cubanismo%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_external_memory_win32] @cubanismo%0A<<Here describe the issue or question you have about the VK_NV_external_memory_win32 extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_fill_rectangle.hs b/src/Vulkan/Extensions/VK_NV_fill_rectangle.hs
--- a/src/Vulkan/Extensions/VK_NV_fill_rectangle.hs
+++ b/src/Vulkan/Extensions/VK_NV_fill_rectangle.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_fill_rectangle:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_fill_rectangle] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_fill_rectangle extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
--- a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
+++ b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_fragment_coverage_to_color:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_fragment_coverage_to_color] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_fragment_coverage_to_color extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -185,6 +185,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_coverage_to_color VK_NV_fragment_coverage_to_color>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'PipelineCoverageToColorStateCreateFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -251,6 +252,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_coverage_to_color VK_NV_fragment_coverage_to_color>,
 -- 'PipelineCoverageToColorStateCreateInfoNV'
 newtype PipelineCoverageToColorStateCreateFlagsNV = PipelineCoverageToColorStateCreateFlagsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs-boot b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_fragment_coverage_to_color:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_fragment_coverage_to_color] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_fragment_coverage_to_color extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs b/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs
--- a/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs
+++ b/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_fragment_shader_barycentric:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_fragment_shader_barycentric] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_fragment_shader_barycentric extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -238,6 +238,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_shader_barycentric VK_NV_fragment_shader_barycentric>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentShaderBarycentricFeaturesNV = PhysicalDeviceFragmentShaderBarycentricFeaturesNV
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs-boot b/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_fragment_shader_barycentric.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_fragment_shader_barycentric:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_fragment_shader_barycentric] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_fragment_shader_barycentric extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs b/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs
--- a/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs
+++ b/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_fragment_shading_rate_enums:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_fragment_shading_rate_enums] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_fragment_shading_rate_enums extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -266,8 +266,28 @@
   :: FunPtr (Ptr CommandBuffer_T -> FragmentShadingRateNV -> Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR) -> IO ()) -> Ptr CommandBuffer_T -> FragmentShadingRateNV -> Ptr (FixedArray 2 FragmentShadingRateCombinerOpKHR) -> IO ()
 
 -- | vkCmdSetFragmentShadingRateEnumNV - Set pipeline fragment shading rate
--- dynamically using enums
+-- dynamically for a command buffer using enums
 --
+-- = Description
+--
+-- This command sets the pipeline fragment shading rate and combiner
+-- operation for subsequent drawing commands when the graphics pipeline is
+-- created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineFragmentShadingRateEnumStateCreateInfoNV' values used to create
+-- the currently active pipeline.
+--
+-- Note
+--
+-- This command allows specifying additional shading rates beyond those
+-- supported by
+-- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.cmdSetFragmentShadingRateKHR'.
+-- For more information, refer to the @VK_NV_fragment_shading_rate_enums@
+-- appendix.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetFragmentShadingRateEnumNV-pipelineFragmentShadingRate-04576#
@@ -305,13 +325,13 @@
 --
 -- -   #VUID-vkCmdSetFragmentShadingRateEnumNV-primitiveFragmentShadingRate-04581#
 --     If the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-primitiveFragmentShadingRate primitiveFragmentShadingRate feature>
 --     is not enabled, @combinerOps@[0] /must/ be
 --     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR'
 --
 -- -   #VUID-vkCmdSetFragmentShadingRateEnumNV-attachmentFragmentShadingRate-04582#
 --     If the
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#feature-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
 --     is not enabled, @combinerOps@[1] /must/ be
 --     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR'
 --
@@ -365,6 +385,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_shading_rate_enums VK_NV_fragment_shading_rate_enums>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR',
 -- 'FragmentShadingRateNV'
@@ -426,6 +447,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_shading_rate_enums VK_NV_fragment_shading_rate_enums>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentShadingRateEnumsFeaturesNV = PhysicalDeviceFragmentShadingRateEnumsFeaturesNV
@@ -505,12 +527,13 @@
 -- property.
 --
 -- These properties are related to
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-primsrast-fragment-shading-rate fragment shading rates>.
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-fragment-shading-rate fragment shading rates>.
 --
 -- == Valid Usage (Implicit)
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_shading_rate_enums VK_NV_fragment_shading_rate_enums>,
 -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceFragmentShadingRateEnumsPropertiesNV = PhysicalDeviceFragmentShadingRateEnumsPropertiesNV
@@ -602,6 +625,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_shading_rate_enums VK_NV_fragment_shading_rate_enums>,
 -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateCombinerOpKHR',
 -- 'FragmentShadingRateNV', 'FragmentShadingRateTypeNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -698,6 +722,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_shading_rate_enums VK_NV_fragment_shading_rate_enums>,
 -- 'PipelineFragmentShadingRateEnumStateCreateInfoNV',
 -- 'cmdSetFragmentShadingRateEnumNV'
 newtype FragmentShadingRateNV = FragmentShadingRateNV Int32
@@ -795,6 +820,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_fragment_shading_rate_enums VK_NV_fragment_shading_rate_enums>,
 -- 'PipelineFragmentShadingRateEnumStateCreateInfoNV'
 newtype FragmentShadingRateTypeNV = FragmentShadingRateTypeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs-boot b/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_fragment_shading_rate_enums.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_fragment_shading_rate_enums:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_fragment_shading_rate_enums] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_fragment_shading_rate_enums extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
--- a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
+++ b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_framebuffer_mixed_samples:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_framebuffer_mixed_samples] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_framebuffer_mixed_samples extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -259,6 +259,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_framebuffer_mixed_samples VK_NV_framebuffer_mixed_samples>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'CoverageModulationModeNV',
 -- 'PipelineCoverageModulationStateCreateFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -349,6 +350,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_framebuffer_mixed_samples VK_NV_framebuffer_mixed_samples>,
 -- 'PipelineCoverageModulationStateCreateInfoNV'
 newtype PipelineCoverageModulationStateCreateFlagsNV = PipelineCoverageModulationStateCreateFlagsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -382,6 +384,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_framebuffer_mixed_samples VK_NV_framebuffer_mixed_samples>,
 -- 'PipelineCoverageModulationStateCreateInfoNV'
 newtype CoverageModulationModeNV = CoverageModulationModeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs-boot b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_framebuffer_mixed_samples:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_framebuffer_mixed_samples] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_framebuffer_mixed_samples extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_geometry_shader_passthrough.hs b/src/Vulkan/Extensions/VK_NV_geometry_shader_passthrough.hs
--- a/src/Vulkan/Extensions/VK_NV_geometry_shader_passthrough.hs
+++ b/src/Vulkan/Extensions/VK_NV_geometry_shader_passthrough.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_geometry_shader_passthrough:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_geometry_shader_passthrough] @dgkoch%0A<<Here describe the issue or question you have about the VK_NV_geometry_shader_passthrough extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_glsl_shader.hs b/src/Vulkan/Extensions/VK_NV_glsl_shader.hs
--- a/src/Vulkan/Extensions/VK_NV_glsl_shader.hs
+++ b/src/Vulkan/Extensions/VK_NV_glsl_shader.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_glsl_shader:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_glsl_shader] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_NV_glsl_shader extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs b/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs
--- a/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs
+++ b/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   David Zhao Akeley
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_inherited_viewport_scissor:%20&body=@akeley98%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_inherited_viewport_scissor] @akeley98%0A<<Here describe the issue or question you have about the VK_NV_inherited_viewport_scissor extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -210,6 +210,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_inherited_viewport_scissor VK_NV_inherited_viewport_scissor>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceInheritedViewportScissorFeaturesNV = PhysicalDeviceInheritedViewportScissorFeaturesNV
@@ -383,6 +384,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_inherited_viewport_scissor VK_NV_inherited_viewport_scissor>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Core10.Pipeline.Viewport'
diff --git a/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs-boot b/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_inherited_viewport_scissor.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   David Zhao Akeley
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_inherited_viewport_scissor:%20&body=@akeley98%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_inherited_viewport_scissor] @akeley98%0A<<Here describe the issue or question you have about the VK_NV_inherited_viewport_scissor extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs
--- a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs
+++ b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Christoph Kubisch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_mesh_shader:%20&body=@pixeljetstream%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_mesh_shader] @pixeljetstream%0A<<Here describe the issue or question you have about the VK_NV_mesh_shader extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -398,6 +398,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawMeshTasksNV-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawMeshTasksNV-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -407,9 +423,11 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawMeshTasksNV-None-02698# For each push constant that
---     is statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to
---     the pipeline bind point used by this command, a push constant value
+-- -   #VUID-vkCmdDrawMeshTasksNV-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
@@ -505,28 +523,28 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -864,6 +882,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_mesh_shader VK_NV_mesh_shader>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdDrawMeshTasksNV :: forall io
                     . (MonadIO io)
@@ -975,6 +994,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-02697# For each set /n/ that
 --     is statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to
 --     the pipeline bind point used by this command, a descriptor set
@@ -984,11 +1019,12 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-02698# For each push
---     constant that is statically used by the
---     'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point
---     used by this command, a push constant value /must/ have been set for
---     the same pipeline bind point, with a
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
@@ -1084,28 +1120,28 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -1488,6 +1524,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_mesh_shader VK_NV_mesh_shader>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDrawMeshTasksIndirectNV :: forall io
@@ -1601,6 +1638,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02697# For each set /n/
 --     that is statically used by the 'Vulkan.Core10.Handles.Pipeline'
 --     bound to the pipeline bind point used by this command, a descriptor
@@ -1610,11 +1663,12 @@
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02698# For each push
---     constant that is statically used by the
---     'Vulkan.Core10.Handles.Pipeline' bound to the pipeline bind point
---     used by this command, a push constant value /must/ have been set for
---     the same pipeline bind point, with a
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
+--     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
+--     pipeline bind point used by this command, a push constant value
+--     /must/ have been set for the same pipeline bind point, with a
 --     'Vulkan.Core10.Handles.PipelineLayout' that is compatible for push
 --     constants, with the 'Vulkan.Core10.Handles.PipelineLayout' used to
 --     create the current 'Vulkan.Core10.Handles.Pipeline', as described in
@@ -1710,28 +1764,28 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -2141,6 +2195,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_mesh_shader VK_NV_mesh_shader>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdDrawMeshTasksIndirectCountNV :: forall io
@@ -2196,6 +2251,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_mesh_shader VK_NV_mesh_shader>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMeshShaderFeaturesNV = PhysicalDeviceMeshShaderFeaturesNV
@@ -2265,6 +2321,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_mesh_shader VK_NV_mesh_shader>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMeshShaderPropertiesNV = PhysicalDeviceMeshShaderPropertiesNV
   { -- | @maxDrawMeshTasksCount@ is the maximum number of local workgroups that
@@ -2273,16 +2330,16 @@
     maxDrawMeshTasksCount :: Word32
   , -- | @maxTaskWorkGroupInvocations@ is the maximum total number of task shader
     -- invocations in a single local workgroup. The product of the X, Y, and Z
-    -- sizes, as specified by the @LocalSize@ execution mode in shader modules
-    -- or by the object decorated by the @WorkgroupSize@ decoration, /must/ be
-    -- less than or equal to this limit.
+    -- sizes, as specified by the @LocalSize@ or @LocalSizeId@ execution mode
+    -- in shader modules or by the object decorated by the @WorkgroupSize@
+    -- decoration, /must/ be less than or equal to this limit.
     maxTaskWorkGroupInvocations :: Word32
   , -- | @maxTaskWorkGroupSize@[3] is the maximum size of a local task workgroup.
     -- These three values represent the maximum local workgroup size in the X,
     -- Y, and Z dimensions, respectively. The @x@, @y@, and @z@ sizes, as
-    -- specified by the @LocalSize@ execution mode or by the object decorated
-    -- by the @WorkgroupSize@ decoration in shader modules, /must/ be less than
-    -- or equal to the corresponding limit.
+    -- specified by the @LocalSize@ or @LocalSizeId@ execution mode or by the
+    -- object decorated by the @WorkgroupSize@ decoration in shader modules,
+    -- /must/ be less than or equal to the corresponding limit.
     maxTaskWorkGroupSize :: (Word32, Word32, Word32)
   , -- | @maxTaskTotalMemorySize@ is the maximum number of bytes that the task
     -- shader can use in total for shared and output memory combined.
@@ -2292,16 +2349,16 @@
     maxTaskOutputCount :: Word32
   , -- | @maxMeshWorkGroupInvocations@ is the maximum total number of mesh shader
     -- invocations in a single local workgroup. The product of the X, Y, and Z
-    -- sizes, as specified by the @LocalSize@ execution mode in shader modules
-    -- or by the object decorated by the @WorkgroupSize@ decoration, /must/ be
-    -- less than or equal to this limit.
+    -- sizes, as specified by the @LocalSize@ or @LocalSizeId@ execution mode
+    -- in shader modules or by the object decorated by the @WorkgroupSize@
+    -- decoration, /must/ be less than or equal to this limit.
     maxMeshWorkGroupInvocations :: Word32
   , -- | @maxMeshWorkGroupSize@[3] is the maximum size of a local mesh workgroup.
     -- These three values represent the maximum local workgroup size in the X,
     -- Y, and Z dimensions, respectively. The @x@, @y@, and @z@ sizes, as
-    -- specified by the @LocalSize@ execution mode or by the object decorated
-    -- by the @WorkgroupSize@ decoration in shader modules, /must/ be less than
-    -- or equal to the corresponding limit.
+    -- specified by the @LocalSize@ or @LocalSizeId@ execution mode or by the
+    -- object decorated by the @WorkgroupSize@ decoration in shader modules,
+    -- /must/ be less than or equal to the corresponding limit.
     maxMeshWorkGroupSize :: (Word32, Word32, Word32)
   , -- | @maxMeshTotalMemorySize@ is the maximum number of bytes that the mesh
     -- shader can use in total for shared and output memory combined.
@@ -2450,6 +2507,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_mesh_shader VK_NV_mesh_shader>,
 -- 'cmdDrawMeshTasksIndirectNV'
 data DrawMeshTasksIndirectCommandNV = DrawMeshTasksIndirectCommandNV
   { -- | @taskCount@ is the number of local workgroups to dispatch in the X
diff --git a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs-boot b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_mesh_shader.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_mesh_shader.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Christoph Kubisch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_mesh_shader:%20&body=@pixeljetstream%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_mesh_shader] @pixeljetstream%0A<<Here describe the issue or question you have about the VK_NV_mesh_shader extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_ray_tracing:%20&body=@ewerness%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_ray_tracing] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NV_ray_tracing extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -808,6 +808,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline'
 compileDeferredNV :: forall io
                    . (MonadIO io)
@@ -898,6 +899,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureCreateInfoNV',
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
@@ -997,6 +999,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device'
@@ -1037,6 +1040,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureMemoryRequirementsInfoNV',
 -- 'Vulkan.Core10.Handles.Device',
 -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.MemoryRequirements2KHR'
@@ -1092,6 +1096,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'BindAccelerationStructureMemoryInfoNV', 'Vulkan.Core10.Handles.Device'
 bindAccelerationStructureMemoryNV :: forall io
                                    . (MonadIO io)
@@ -1222,6 +1227,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.CopyAccelerationStructureModeKHR'
@@ -1359,6 +1365,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Handles.QueryPool',
@@ -1557,6 +1564,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureInfoNV',
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'Vulkan.Core10.Handles.Buffer',
@@ -1687,6 +1695,22 @@
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SamplerAddressMode' of
 --     'Vulkan.Core10.Enums.SamplerAddressMode.SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE'
 --
+-- -   #VUID-vkCmdTraceRaysNV-OpTypeImage-06423# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being written as a storage image
+--     or storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT_KHR'
+--
+-- -   #VUID-vkCmdTraceRaysNV-OpTypeImage-06424# Any
+--     'Vulkan.Core10.Handles.ImageView' or
+--     'Vulkan.Core10.Handles.BufferView' being read as a storage image or
+--     storage texel buffer where the image format field of the
+--     @OpTypeImage@ is @Unknown@ /must/ have image format features that
+--     support
+--     'Vulkan.Extensions.VK_KHR_acceleration_structure.FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT_KHR'
+--
 -- -   #VUID-vkCmdTraceRaysNV-None-02697# For each set /n/ that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a descriptor set /must/
@@ -1696,7 +1720,9 @@
 --     the current 'Vulkan.Core10.Handles.Pipeline', as described in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#descriptorsets-compatibility ???>
 --
--- -   #VUID-vkCmdTraceRaysNV-None-02698# For each push constant that is
+-- -   #VUID-vkCmdTraceRaysNV-maintenance4-06425# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance4 maintenance4>
+--     feature is not enabled, then for each push constant that is
 --     statically used by the 'Vulkan.Core10.Handles.Pipeline' bound to the
 --     pipeline bind point used by this command, a push constant value
 --     /must/ have been set for the same pipeline bind point, with a
@@ -1794,28 +1820,28 @@
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04470# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04471# If a
 --     'Vulkan.Core10.Handles.ImageView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04472# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit channel width
---     is accessed as a result of this command, the @SampledType@ of the
---     @OpTypeImage@ operand of that instruction /must/ have a @Width@ of
---     64
+--     'Vulkan.Core10.Enums.Format.Format' that has a 64-bit component
+--     width is accessed as a result of this command, the @SampledType@ of
+--     the @OpTypeImage@ operand of that instruction /must/ have a @Width@
+--     of 64
 --
 -- -   #VUID-vkCmdTraceRaysNV-SampledType-04473# If a
 --     'Vulkan.Core10.Handles.BufferView' with a
---     'Vulkan.Core10.Enums.Format.Format' that has a channel width less
+--     'Vulkan.Core10.Enums.Format.Format' that has a component width less
 --     than 64-bit is accessed as a result of this command, the
 --     @SampledType@ of the @OpTypeImage@ operand of that instruction
 --     /must/ have a @Width@ of 32
@@ -2005,6 +2031,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize'
 cmdTraceRaysNV :: forall io
@@ -2089,6 +2116,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.Handles.Device'
 getAccelerationStructureHandleNV :: forall io
@@ -2223,6 +2251,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Device', 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Handles.PipelineCache', 'RayTracingPipelineCreateInfoNV'
@@ -2470,6 +2499,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'RayTracingPipelineCreateInfoNV',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingShaderGroupTypeKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -2716,6 +2746,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.Handles.Pipeline',
 -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlags',
 -- 'Vulkan.Core10.Handles.PipelineLayout',
@@ -2919,6 +2950,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.Format.Format', 'GeometryDataNV',
@@ -3061,6 +3093,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.Handles.Buffer',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize', 'GeometryDataNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
@@ -3130,6 +3163,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'GeometryAABBNV', 'GeometryNV', 'GeometryTrianglesNV'
 data GeometryDataNV = GeometryDataNV
   { -- | @triangles@ contains triangle data if 'GeometryNV'::@geometryType@ is
@@ -3190,6 +3224,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureInfoNV', 'GeometryDataNV',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryFlagsKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryTypeKHR',
@@ -3340,6 +3375,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureCreateInfoNV', 'AccelerationStructureTypeNV',
 -- 'BuildAccelerationStructureFlagsNV', 'GeometryNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -3428,6 +3464,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureInfoNV',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -3541,6 +3578,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
@@ -3647,6 +3685,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data WriteDescriptorSetAccelerationStructureNV = WriteDescriptorSetAccelerationStructureNV
@@ -3697,6 +3736,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureMemoryRequirementsTypeNV',
 -- 'Vulkan.Extensions.Handles.AccelerationStructureNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
@@ -3789,6 +3829,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRayTracingPropertiesNV = PhysicalDeviceRayTracingPropertiesNV
   { -- | @shaderGroupHandleSize@ is the size in bytes of the shader header.
@@ -3886,6 +3927,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing VK_NV_ray_tracing>,
 -- 'AccelerationStructureMemoryRequirementsInfoNV'
 newtype AccelerationStructureMemoryRequirementsTypeNV = AccelerationStructureMemoryRequirementsTypeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot b/src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_ray_tracing.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Eric Werness
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_ray_tracing:%20&body=@ewerness%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_ray_tracing] @ewerness-nv%0A<<Here describe the issue or question you have about the VK_NV_ray_tracing extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
--- a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
+++ b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
@@ -63,7 +63,7 @@
 -- -   Motion instances to move existing instances over time
 --
 -- The motion represented here is parameterized across a normalized
--- timestep between 0.0 and 1.0. A motion trace using OpTraceRayMotionNV
+-- timestep between 0.0 and 1.0. A motion trace using @OpTraceRayMotionNV@
 -- provides a time within that normalized range to be used when
 -- intersecting that ray with geometry. The geometry can be provided with
 -- motion by a combination of adding a second vertex position for time of
@@ -299,6 +299,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRayTracingMotionBlurFeaturesNV = PhysicalDeviceRayTracingMotionBlurFeaturesNV
@@ -374,6 +375,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.DeviceOrHostAddressConstKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data AccelerationStructureGeometryMotionTrianglesDataNV = AccelerationStructureGeometryMotionTrianglesDataNV
@@ -412,6 +414,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'AccelerationStructureMotionInfoFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data AccelerationStructureMotionInfoNV = AccelerationStructureMotionInfoNV
@@ -514,6 +517,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'AccelerationStructureSRTMotionInstanceNV'
 data SRTDataNV = SRTDataNV
   { -- | @sx@ is the x component of the scale of the transform
@@ -667,6 +671,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'AccelerationStructureMotionInstanceDataNV',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagsKHR',
 -- 'SRTDataNV'
@@ -689,7 +694,7 @@
     -- -   @mask@ occupies the 8 most significant bits of that memory
     instanceCustomIndex :: Word32
   , -- | @mask@ is an 8-bit visibility mask for the geometry. The instance /may/
-    -- only be hit if @rayMask & instance.mask != 0@
+    -- only be hit if @Cull Mask & instance.mask != 0@
     mask :: Word32
   , -- | @instanceShaderBindingTableRecordOffset@ is a 24-bit offset used in
     -- calculating the hit shader binding table index.
@@ -804,6 +809,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'AccelerationStructureMotionInstanceDataNV',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.GeometryInstanceFlagsKHR',
 -- 'Vulkan.Extensions.VK_KHR_acceleration_structure.TransformMatrixKHR'
@@ -830,7 +836,7 @@
     -- -   @mask@ occupies the 8 most significant bits of that memory
     instanceCustomIndex :: Word32
   , -- | @mask@ is an 8-bit visibility mask for the geometry. The instance /may/
-    -- only be hit if @rayMask & instance.mask != 0@
+    -- only be hit if @Cull Mask & instance.mask != 0@
     mask :: Word32
   , -- | @instanceShaderBindingTableRecordOffset@ is a 24-bit offset used in
     -- calculating the hit shader binding table index.
@@ -961,6 +967,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'AccelerationStructureMotionInstanceDataNV',
 -- 'AccelerationStructureMotionInstanceFlagsNV',
 -- 'AccelerationStructureMotionInstanceTypeNV'
@@ -1025,7 +1032,17 @@
   zero = SrtMotionInstance zero
 
 
--- No documentation found for TopLevel "VkAccelerationStructureMotionInfoFlagsNV"
+-- | VkAccelerationStructureMotionInfoFlagsNV - Reserved for future use
+--
+-- = Description
+--
+-- 'AccelerationStructureMotionInfoFlagsNV' is a bitmask type for setting a
+-- mask, but is currently reserved for future use.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
+-- 'AccelerationStructureMotionInfoNV'
 newtype AccelerationStructureMotionInfoFlagsNV = AccelerationStructureMotionInfoFlagsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
@@ -1054,7 +1071,17 @@
                           AccelerationStructureMotionInfoFlagsNV
 
 
--- No documentation found for TopLevel "VkAccelerationStructureMotionInstanceFlagsNV"
+-- | VkAccelerationStructureMotionInstanceFlagsNV - Reserved for future use
+--
+-- = Description
+--
+-- 'AccelerationStructureMotionInstanceFlagsNV' is a bitmask type for
+-- setting a mask, but is currently reserved for future use.
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
+-- 'AccelerationStructureMotionInstanceNV'
 newtype AccelerationStructureMotionInstanceFlagsNV = AccelerationStructureMotionInstanceFlagsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
@@ -1089,6 +1116,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_ray_tracing_motion_blur VK_NV_ray_tracing_motion_blur>,
 -- 'AccelerationStructureMotionInstanceNV'
 newtype AccelerationStructureMotionInstanceTypeNV = AccelerationStructureMotionInstanceTypeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs-boot b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs-boot
@@ -63,7 +63,7 @@
 -- -   Motion instances to move existing instances over time
 --
 -- The motion represented here is parameterized across a normalized
--- timestep between 0.0 and 1.0. A motion trace using OpTraceRayMotionNV
+-- timestep between 0.0 and 1.0. A motion trace using @OpTraceRayMotionNV@
 -- provides a time within that normalized range to be used when
 -- intersecting that ray with geometry. The geometry can be provided with
 -- motion by a combination of adding a second vertex position for time of
diff --git a/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs b/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs
--- a/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs
+++ b/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Kedarnath Thangudu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_representative_fragment_test:%20&body=@kthangudu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_representative_fragment_test] @kthangudu%0A<<Here describe the issue or question you have about the VK_NV_representative_fragment_test extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -216,6 +216,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_representative_fragment_test VK_NV_representative_fragment_test>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRepresentativeFragmentTestFeaturesNV = PhysicalDeviceRepresentativeFragmentTestFeaturesNV
@@ -272,15 +273,15 @@
 -- 'Vulkan.Core10.FundamentalTypes.FALSE', and the representative fragment
 -- test is disabled.
 --
--- If
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#shaders-fragment-earlytest early fragment tests>
--- are not enabled in the active fragment shader, the representative
--- fragment shader test has no effect, even if enabled.
+-- If the active fragment shader specifies the @EarlyFragmentTests@
+-- execution mode, the representative fragment shader test has no effect,
+-- even if enabled.
 --
 -- == Valid Usage (Implicit)
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_representative_fragment_test VK_NV_representative_fragment_test>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineRepresentativeFragmentTestStateCreateInfoNV = PipelineRepresentativeFragmentTestStateCreateInfoNV
diff --git a/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs-boot b/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_representative_fragment_test.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Kedarnath Thangudu
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_representative_fragment_test:%20&body=@kthangudu%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_representative_fragment_test] @kthangudu%0A<<Here describe the issue or question you have about the VK_NV_representative_fragment_test extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_sample_mask_override_coverage.hs b/src/Vulkan/Extensions/VK_NV_sample_mask_override_coverage.hs
--- a/src/Vulkan/Extensions/VK_NV_sample_mask_override_coverage.hs
+++ b/src/Vulkan/Extensions/VK_NV_sample_mask_override_coverage.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_sample_mask_override_coverage:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_sample_mask_override_coverage] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_NV_sample_mask_override_coverage extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs b/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs
--- a/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs
+++ b/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_scissor_exclusive:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_scissor_exclusive] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_scissor_exclusive extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -184,8 +184,8 @@
   "dynamic" mkVkCmdSetExclusiveScissorNV
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Rect2D -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr Rect2D -> IO ()
 
--- | vkCmdSetExclusiveScissorNV - Set the dynamic exclusive scissor
--- rectangles on a command buffer
+-- | vkCmdSetExclusiveScissorNV - Set exclusive scissor rectangles
+-- dynamically for a command buffer
 --
 -- = Description
 --
@@ -193,11 +193,14 @@
 -- replace the current state for the scissor index @firstExclusiveScissor@
 -- + i, for i in [0, @exclusiveScissorCount@).
 --
--- This command sets the state for a given draw when the graphics pipeline
--- is created with
+-- This command sets the exclusive scissor rectangles for subsequent
+-- drawing commands when the graphics pipeline is created with
 -- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV'
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineViewportExclusiveScissorStateCreateInfoNV'::@pExclusiveScissors@
+-- values used to create the currently active pipeline.
 --
 -- == Valid Usage
 --
@@ -275,6 +278,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_scissor_exclusive VK_NV_scissor_exclusive>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D'
 cmdSetExclusiveScissorNV :: forall io
@@ -328,6 +332,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_scissor_exclusive VK_NV_scissor_exclusive>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceExclusiveScissorFeaturesNV = PhysicalDeviceExclusiveScissorFeaturesNV
@@ -412,6 +417,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_scissor_exclusive VK_NV_scissor_exclusive>,
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineViewportExclusiveScissorStateCreateInfoNV = PipelineViewportExclusiveScissorStateCreateInfoNV
diff --git a/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs-boot b/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_scissor_exclusive.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_scissor_exclusive:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_scissor_exclusive] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_scissor_exclusive extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs b/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs
--- a/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs
+++ b/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_shader_image_footprint:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_shader_image_footprint] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_shader_image_footprint extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -323,6 +323,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shader_image_footprint VK_NV_shader_image_footprint>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderImageFootprintFeaturesNV = PhysicalDeviceShaderImageFootprintFeaturesNV
diff --git a/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs-boot b/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_shader_image_footprint.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_shader_image_footprint:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_shader_image_footprint] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_shader_image_footprint extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_shader_sm_builtins:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_shader_sm_builtins] @dgkoch%0A<<Here describe the issue or question you have about the VK_NV_shader_sm_builtins extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -179,6 +179,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shader_sm_builtins VK_NV_shader_sm_builtins>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderSMBuiltinsPropertiesNV = PhysicalDeviceShaderSMBuiltinsPropertiesNV
   { -- | #limits-shaderSMCount# @shaderSMCount@ is the number of SMs on the
@@ -253,6 +254,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shader_sm_builtins VK_NV_shader_sm_builtins>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShaderSMBuiltinsFeaturesNV = PhysicalDeviceShaderSMBuiltinsFeaturesNV
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
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_shader_sm_builtins:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_shader_sm_builtins] @dgkoch%0A<<Here describe the issue or question you have about the VK_NV_shader_sm_builtins extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_shader_subgroup_partitioned.hs b/src/Vulkan/Extensions/VK_NV_shader_subgroup_partitioned.hs
--- a/src/Vulkan/Extensions/VK_NV_shader_subgroup_partitioned.hs
+++ b/src/Vulkan/Extensions/VK_NV_shader_subgroup_partitioned.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Bolz
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_shader_subgroup_partitioned:%20&body=@jeffbolznv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_shader_subgroup_partitioned] @jeffbolznv%0A<<Here describe the issue or question you have about the VK_NV_shader_subgroup_partitioned extension>> >
 --
 -- == Other Extension Metadata
 --
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
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_shading_rate_image:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_shading_rate_image] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_shading_rate_image extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -473,6 +473,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Core10.Enums.ImageLayout.ImageLayout',
 -- 'Vulkan.Core10.Handles.ImageView'
@@ -507,8 +508,19 @@
   :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr ShadingRatePaletteNV -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word32 -> Ptr ShadingRatePaletteNV -> IO ()
 
 -- | vkCmdSetViewportShadingRatePaletteNV - Set shading rate image palettes
--- on a command buffer
+-- dynamically for a command buffer
 --
+-- = Description
+--
+-- This command sets the per-viewport shading rate image palettes for
+-- subsequent drawing commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineViewportShadingRateImageStateCreateInfoNV'::@pShadingRatePalettes@
+-- values used to create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetViewportShadingRatePaletteNV-None-02064# The
@@ -571,6 +583,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'Vulkan.Core10.Handles.CommandBuffer', 'ShadingRatePaletteNV'
 cmdSetViewportShadingRatePaletteNV :: forall io
                                     . (MonadIO io)
@@ -603,8 +616,8 @@
   "dynamic" mkVkCmdSetCoarseSampleOrderNV
   :: FunPtr (Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> Word32 -> Ptr CoarseSampleOrderCustomNV -> IO ()) -> Ptr CommandBuffer_T -> CoarseSampleOrderTypeNV -> Word32 -> Ptr CoarseSampleOrderCustomNV -> IO ()
 
--- | vkCmdSetCoarseSampleOrderNV - Set sample order for coarse fragments on a
--- command buffer
+-- | vkCmdSetCoarseSampleOrderNV - Set order of coverage samples for coarse
+-- fragments dynamically for a command buffer
 --
 -- = Description
 --
@@ -613,6 +626,15 @@
 -- coverage sample count not enumerated in @pCustomSampleOrders@ will be
 -- identical to that used for 'COARSE_SAMPLE_ORDER_TYPE_DEFAULT_NV'.
 --
+-- This command sets the order of coverage samples for subsequent drawing
+-- commands when the graphics pipeline is created with
+-- 'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_VIEWPORT_COARSE_SAMPLE_ORDER_NV'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineViewportCoarseSampleOrderStateCreateInfoNV' values used to
+-- create the currently active pipeline.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetCoarseSampleOrderNV-sampleOrderType-02081# If
@@ -665,6 +687,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'CoarseSampleOrderCustomNV', 'CoarseSampleOrderTypeNV',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
 cmdSetCoarseSampleOrderNV :: forall io
@@ -715,6 +738,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'PipelineViewportShadingRateImageStateCreateInfoNV',
 -- 'ShadingRatePaletteEntryNV', 'cmdSetViewportShadingRatePaletteNV'
 data ShadingRatePaletteNV = ShadingRatePaletteNV
@@ -791,6 +815,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32', 'ShadingRatePaletteNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineViewportShadingRateImageStateCreateInfoNV = PipelineViewportShadingRateImageStateCreateInfoNV
@@ -870,6 +895,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShadingRateImageFeaturesNV = PhysicalDeviceShadingRateImageFeaturesNV
@@ -946,6 +972,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'Vulkan.Core10.FundamentalTypes.Extent2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceShadingRateImagePropertiesNV = PhysicalDeviceShadingRateImagePropertiesNV
@@ -1018,6 +1045,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'CoarseSampleOrderCustomNV'
 data CoarseSampleLocationNV = CoarseSampleLocationNV
   { -- | @pixelX@ is added to the x coordinate of the upper-leftmost pixel of
@@ -1134,6 +1162,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'CoarseSampleLocationNV',
 -- 'PipelineViewportCoarseSampleOrderStateCreateInfoNV',
 -- 'ShadingRatePaletteEntryNV', 'cmdSetCoarseSampleOrderNV'
@@ -1236,6 +1265,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'CoarseSampleOrderCustomNV', 'CoarseSampleOrderTypeNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PipelineViewportCoarseSampleOrderStateCreateInfoNV = PipelineViewportCoarseSampleOrderStateCreateInfoNV
@@ -1329,6 +1359,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'CoarseSampleOrderCustomNV', 'ShadingRatePaletteNV'
 newtype ShadingRatePaletteEntryNV = ShadingRatePaletteEntryNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
@@ -1410,6 +1441,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_shading_rate_image VK_NV_shading_rate_image>,
 -- 'PipelineViewportCoarseSampleOrderStateCreateInfoNV',
 -- 'cmdSetCoarseSampleOrderNV'
 newtype CoarseSampleOrderTypeNV = CoarseSampleOrderTypeNV Int32
diff --git a/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs-boot b/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_shading_rate_image.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Pat Brown
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_shading_rate_image:%20&body=@nvpbrown%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_shading_rate_image] @nvpbrown%0A<<Here describe the issue or question you have about the VK_NV_shading_rate_image extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_NV_viewport_array2.hs b/src/Vulkan/Extensions/VK_NV_viewport_array2.hs
--- a/src/Vulkan/Extensions/VK_NV_viewport_array2.hs
+++ b/src/Vulkan/Extensions/VK_NV_viewport_array2.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Daniel Koch
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_viewport_array2:%20&body=@dgkoch%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_viewport_array2] @dgkoch%0A<<Here describe the issue or question you have about the VK_NV_viewport_array2 extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -89,9 +89,9 @@
 --
 -- == New Enum Constants
 --
--- -   'NV_VIEWPORT_ARRAY2_EXTENSION_NAME'
+-- -   'NV_VIEWPORT_ARRAY_2_EXTENSION_NAME'
 --
--- -   'NV_VIEWPORT_ARRAY2_SPEC_VERSION'
+-- -   'NV_VIEWPORT_ARRAY_2_SPEC_VERSION'
 --
 -- == New or Modified Built-In Variables
 --
@@ -130,24 +130,34 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_NV_viewport_array2  ( NV_VIEWPORT_ARRAY2_SPEC_VERSION
-                                                , pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION
-                                                , NV_VIEWPORT_ARRAY2_EXTENSION_NAME
+module Vulkan.Extensions.VK_NV_viewport_array2  ( pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION
                                                 , pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME
+                                                , NV_VIEWPORT_ARRAY_2_SPEC_VERSION
+                                                , pattern NV_VIEWPORT_ARRAY_2_SPEC_VERSION
+                                                , NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
+                                                , pattern NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
                                                 ) where
 
 import Data.String (IsString)
 
-type NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1
-
 -- No documentation found for TopLevel "VK_NV_VIEWPORT_ARRAY2_SPEC_VERSION"
-pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION :: forall a . Integral a => a
-pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION = 1
+pattern NV_VIEWPORT_ARRAY2_SPEC_VERSION = NV_VIEWPORT_ARRAY_2_SPEC_VERSION
 
 
-type NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2"
-
 -- No documentation found for TopLevel "VK_NV_VIEWPORT_ARRAY2_EXTENSION_NAME"
-pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
-pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME = "VK_NV_viewport_array2"
+pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME = NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
+
+
+type NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION"
+pattern NV_VIEWPORT_ARRAY_2_SPEC_VERSION :: forall a . Integral a => a
+pattern NV_VIEWPORT_ARRAY_2_SPEC_VERSION = 1
+
+
+type NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2"
+
+-- No documentation found for TopLevel "VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME"
+pattern NV_VIEWPORT_ARRAY_2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern NV_VIEWPORT_ARRAY_2_EXTENSION_NAME = "VK_NV_viewport_array2"
 
diff --git a/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs b/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs
--- a/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs
+++ b/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_viewport_swizzle:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_viewport_swizzle] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_NV_viewport_swizzle extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -51,13 +51,13 @@
 -- components of the original position vector.
 --
 -- This new viewport swizzle is useful for a number of algorithms,
--- including single-pass cubemap rendering (broadcasting a primitive to
+-- including single-pass cube map rendering (broadcasting a primitive to
 -- multiple faces and reorienting the vertex position for each face) and
 -- voxel rasterization. The per-viewport component remapping and negation
 -- provided by the swizzle allows application code to re-orient
 -- three-dimensional geometry with a view along any of the __X__, __Y__, or
 -- __Z__ axes. If a perspective projection and depth buffering is required,
--- 1\/W buffering should be used, as described in the single-pass cubemap
+-- 1\/W buffering should be used, as described in the single-pass cube map
 -- rendering example in the “Issues” section below.
 --
 -- == New Structures
@@ -106,11 +106,11 @@
 -- used together in practice?
 --
 -- __RESOLVED__: One interesting use case for this extension is for
--- single-pass rendering to a cubemap. In this example, the application
--- would attach a cubemap texture to a layered FBO where the six cube faces
--- are treated as layers. Vertices are sent through the vertex shader
+-- single-pass rendering to a cube map. In this example, the application
+-- would attach a cube map texture to a layered FBO where the six cube
+-- faces are treated as layers. Vertices are sent through the vertex shader
 -- without applying a projection matrix, where the @gl_Position@ output is
--- (x,y,z,1) and the center of the cubemap is at (0,0,0). With unextended
+-- (x,y,z,1) and the center of the cube map is at (0,0,0). With unextended
 -- Vulkan, one could have a conventional instanced geometry shader that
 -- looks something like the following:
 --
@@ -328,6 +328,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_viewport_swizzle VK_NV_viewport_swizzle>,
 -- 'PipelineViewportSwizzleStateCreateInfoNV',
 -- 'ViewportCoordinateSwizzleNV'
 data ViewportSwizzleNV = ViewportSwizzleNV
@@ -409,6 +410,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_viewport_swizzle VK_NV_viewport_swizzle>,
 -- 'PipelineViewportSwizzleStateCreateFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType', 'ViewportSwizzleNV'
 data PipelineViewportSwizzleStateCreateInfoNV = PipelineViewportSwizzleStateCreateInfoNV
@@ -473,6 +475,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_viewport_swizzle VK_NV_viewport_swizzle>,
 -- 'PipelineViewportSwizzleStateCreateInfoNV'
 newtype PipelineViewportSwizzleStateCreateFlagsNV = PipelineViewportSwizzleStateCreateFlagsNV Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
@@ -512,6 +515,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_viewport_swizzle VK_NV_viewport_swizzle>,
 -- 'ViewportSwizzleNV'
 newtype ViewportCoordinateSwizzleNV = ViewportCoordinateSwizzleNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
diff --git a/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs-boot b/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_viewport_swizzle.hs-boot
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Piers Daniell
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_viewport_swizzle:%20&body=@pdaniell-nv%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_viewport_swizzle] @pdaniell-nv%0A<<Here describe the issue or question you have about the VK_NV_viewport_swizzle extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -51,13 +51,13 @@
 -- components of the original position vector.
 --
 -- This new viewport swizzle is useful for a number of algorithms,
--- including single-pass cubemap rendering (broadcasting a primitive to
+-- including single-pass cube map rendering (broadcasting a primitive to
 -- multiple faces and reorienting the vertex position for each face) and
 -- voxel rasterization. The per-viewport component remapping and negation
 -- provided by the swizzle allows application code to re-orient
 -- three-dimensional geometry with a view along any of the __X__, __Y__, or
 -- __Z__ axes. If a perspective projection and depth buffering is required,
--- 1\/W buffering should be used, as described in the single-pass cubemap
+-- 1\/W buffering should be used, as described in the single-pass cube map
 -- rendering example in the “Issues” section below.
 --
 -- == New Structures
@@ -106,11 +106,11 @@
 -- used together in practice?
 --
 -- __RESOLVED__: One interesting use case for this extension is for
--- single-pass rendering to a cubemap. In this example, the application
--- would attach a cubemap texture to a layered FBO where the six cube faces
--- are treated as layers. Vertices are sent through the vertex shader
+-- single-pass rendering to a cube map. In this example, the application
+-- would attach a cube map texture to a layered FBO where the six cube
+-- faces are treated as layers. Vertices are sent through the vertex shader
 -- without applying a projection matrix, where the @gl_Position@ output is
--- (x,y,z,1) and the center of the cubemap is at (0,0,0). With unextended
+-- (x,y,z,1) and the center of the cube map is at (0,0,0). With unextended
 -- Vulkan, one could have a conventional instanced geometry shader that
 -- looks something like the following:
 --
diff --git a/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs b/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs
--- a/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs
+++ b/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Carsten Rohde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_win32_keyed_mutex:%20&body=@crohde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_win32_keyed_mutex] @crohde%0A<<Here describe the issue or question you have about the VK_NV_win32_keyed_mutex extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -269,7 +269,7 @@
 import Vulkan.Core10.Handles (DeviceMemory)
 import Vulkan.Core10.Enums.StructureType (StructureType)
 import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV))
--- | VkWin32KeyedMutexAcquireReleaseInfoNV - use Windows keyex mutex
+-- | VkWin32KeyedMutexAcquireReleaseInfoNV - Use Windows keyex mutex
 -- mechanism to synchronize work
 --
 -- == Valid Usage (Implicit)
@@ -308,6 +308,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_win32_keyed_mutex VK_NV_win32_keyed_mutex>,
 -- 'Vulkan.Core10.Handles.DeviceMemory',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data Win32KeyedMutexAcquireReleaseInfoNV = Win32KeyedMutexAcquireReleaseInfoNV
diff --git a/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs-boot b/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs-boot
--- a/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs-boot
+++ b/src/Vulkan/Extensions/VK_NV_win32_keyed_mutex.hs-boot
@@ -30,7 +30,7 @@
 -- [__Contact__]
 --
 --     -   Carsten Rohde
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_NV_win32_keyed_mutex:%20&body=@crohde%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_win32_keyed_mutex] @crohde%0A<<Here describe the issue or question you have about the VK_NV_win32_keyed_mutex extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_render_pass_shader_resolve.hs b/src/Vulkan/Extensions/VK_QCOM_render_pass_shader_resolve.hs
--- a/src/Vulkan/Extensions/VK_QCOM_render_pass_shader_resolve.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_render_pass_shader_resolve.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Bill Licea-Kane
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QCOM_render_pass_shader_resolve:%20&body=@wwlk%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_shader_resolve] @wwlk%0A<<Here describe the issue or question you have about the VK_QCOM_render_pass_shader_resolve extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs b/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs
--- a/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_render_pass_store_ops.hs
@@ -24,7 +24,7 @@
 -- [__Contact__]
 --
 --     -   Bill Licea-Kane
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QCOM_render_pass_store_ops:%20&body=@wwlk%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_store_ops] @wwlk%0A<<Here describe the issue or question you have about the VK_QCOM_render_pass_store_ops extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs b/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs
--- a/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QCOM_render_pass_transform:%20&body=@jackohound%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @jackohound%0A<<Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -312,6 +312,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QCOM_render_pass_transform VK_QCOM_render_pass_transform>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR'
 data RenderPassTransformBeginInfoQCOM = RenderPassTransformBeginInfoQCOM
@@ -374,6 +375,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QCOM_render_pass_transform VK_QCOM_render_pass_transform>,
 -- 'Vulkan.Core10.FundamentalTypes.Rect2D',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR'
diff --git a/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs-boot b/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_render_pass_transform.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QCOM_render_pass_transform:%20&body=@jackohound%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @jackohound%0A<<Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs
--- a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QCOM_rotated_copy_commands:%20&body=@jackohound%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @jackohound%0A<<Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -157,6 +157,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QCOM_rotated_copy_commands VK_QCOM_rotated_copy_commands>,
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.VK_KHR_surface.SurfaceTransformFlagBitsKHR'
 data CopyCommandTransformInfoQCOM = CopyCommandTransformInfoQCOM
diff --git a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_rotated_copy_commands.hs-boot
@@ -28,7 +28,7 @@
 -- [__Contact__]
 --
 --     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QCOM_rotated_copy_commands:%20&body=@jackohound%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @jackohound%0A<<Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QNX_screen_surface.hs b/src/Vulkan/Extensions/VK_QNX_screen_surface.hs
--- a/src/Vulkan/Extensions/VK_QNX_screen_surface.hs
+++ b/src/Vulkan/Extensions/VK_QNX_screen_surface.hs
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Mike Gorchak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QNX_screen_surface:%20&body=@mgorchak-blackberry%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QNX_screen_surface] @mgorchak-blackberry%0A<<Here describe the issue or question you have about the VK_QNX_screen_surface extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -211,6 +211,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QNX_screen_surface VK_QNX_screen_surface>,
 -- 'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks',
 -- 'Vulkan.Core10.Handles.Instance', 'ScreenSurfaceCreateInfoQNX',
 -- 'Vulkan.Extensions.Handles.SurfaceKHR'
@@ -261,6 +262,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QNX_screen_surface VK_QNX_screen_surface>,
 -- 'Vulkan.Core10.Handles.PhysicalDevice'
 getPhysicalDeviceScreenPresentationSupportQNX :: forall io
                                                . (MonadIO io)
@@ -300,6 +302,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QNX_screen_surface VK_QNX_screen_surface>,
 -- 'ScreenSurfaceCreateFlagsQNX',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'createScreenSurfaceQNX'
@@ -373,6 +376,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_QNX_screen_surface VK_QNX_screen_surface>,
 -- 'ScreenSurfaceCreateInfoQNX'
 newtype ScreenSurfaceCreateFlagsQNX = ScreenSurfaceCreateFlagsQNX Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
diff --git a/src/Vulkan/Extensions/VK_QNX_screen_surface.hs-boot b/src/Vulkan/Extensions/VK_QNX_screen_surface.hs-boot
--- a/src/Vulkan/Extensions/VK_QNX_screen_surface.hs-boot
+++ b/src/Vulkan/Extensions/VK_QNX_screen_surface.hs-boot
@@ -26,7 +26,7 @@
 -- [__Contact__]
 --
 --     -   Mike Gorchak
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_QNX_screen_surface:%20&body=@mgorchak-blackberry%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QNX_screen_surface] @mgorchak-blackberry%0A<<Here describe the issue or question you have about the VK_QNX_screen_surface extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs b/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs
--- a/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs
+++ b/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs
@@ -30,10 +30,10 @@
 -- [__Contact__]
 --
 --     -   Joshua Ashton
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@Joshua-Ashton%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_VALVE_mutable_descriptor_type] @Joshua-Ashton%0A<<Here describe the issue or question you have about the VK_VALVE_mutable_descriptor_type extension>> >
 --
 --     -   Hans-Kristian Arntzen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@HansKristian-Work%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_VALVE_mutable_descriptor_type] @HansKristian-Work%0A<<Here describe the issue or question you have about the VK_VALVE_mutable_descriptor_type extension>> >
 --
 -- == Other Extension Metadata
 --
@@ -254,6 +254,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VALVE_mutable_descriptor_type VK_VALVE_mutable_descriptor_type>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceMutableDescriptorTypeFeaturesVALVE = PhysicalDeviceMutableDescriptorTypeFeaturesVALVE
@@ -345,6 +346,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VALVE_mutable_descriptor_type VK_VALVE_mutable_descriptor_type>,
 -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',
 -- 'MutableDescriptorTypeCreateInfoVALVE'
 data MutableDescriptorTypeListVALVE = MutableDescriptorTypeListVALVE
@@ -411,6 +413,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_VALVE_mutable_descriptor_type VK_VALVE_mutable_descriptor_type>,
 -- 'MutableDescriptorTypeListVALVE',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data MutableDescriptorTypeCreateInfoVALVE = MutableDescriptorTypeCreateInfoVALVE
diff --git a/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs-boot b/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs-boot
--- a/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs-boot
+++ b/src/Vulkan/Extensions/VK_VALVE_mutable_descriptor_type.hs-boot
@@ -30,10 +30,10 @@
 -- [__Contact__]
 --
 --     -   Joshua Ashton
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@Joshua-Ashton%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_VALVE_mutable_descriptor_type] @Joshua-Ashton%0A<<Here describe the issue or question you have about the VK_VALVE_mutable_descriptor_type extension>> >
 --
 --     -   Hans-Kristian Arntzen
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?title=VK_VALVE_mutable_descriptor_type:%20&body=@HansKristian-Work%20 >
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_VALVE_mutable_descriptor_type] @HansKristian-Work%0A<<Here describe the issue or question you have about the VK_VALVE_mutable_descriptor_type extension>> >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/SPIRVRequirements.hs b/src/Vulkan/SPIRVRequirements.hs
--- a/src/Vulkan/SPIRVRequirements.hs
+++ b/src/Vulkan/SPIRVRequirements.hs
@@ -52,6 +52,8 @@
 import Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(..))
 import Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV)
 import Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV(..))
+import Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeaturesKHR)
+import Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeaturesKHR(..))
 import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)
 import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(..))
 import Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)
@@ -96,7 +98,7 @@
 import Vulkan.Extensions.VK_EXT_shader_viewport_index_layer (pattern EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME)
 import Vulkan.Extensions.VK_EXT_transform_feedback (pattern EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME)
 import Vulkan.Extensions.VK_GOOGLE_decorate_string (pattern GOOGLE_DECORATE_STRING_EXTENSION_NAME)
-import Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1 (pattern GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME)
+import Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1 (pattern GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME)
 import Vulkan.Extensions.VK_GOOGLE_user_type (pattern GOOGLE_USER_TYPE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (pattern INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_16bit_storage (pattern KHR_16BIT_STORAGE_EXTENSION_NAME)
@@ -107,11 +109,12 @@
 import Vulkan.Extensions.VK_KHR_deferred_host_operations (pattern KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_device_group_creation (pattern KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_device_group (pattern KHR_DEVICE_GROUP_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_format_feature_flags2 (pattern KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_fragment_shading_rate (pattern KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_get_memory_requirements2 (pattern KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_get_physical_device_properties2 (pattern KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME)
-import Vulkan.Extensions.VK_KHR_maintenance2 (pattern KHR_MAINTENANCE2_EXTENSION_NAME)
-import Vulkan.Extensions.VK_KHR_maintenance3 (pattern KHR_MAINTENANCE3_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_maintenance2 (pattern KHR_MAINTENANCE_2_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_maintenance3 (pattern KHR_MAINTENANCE_3_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_multiview (pattern KHR_MULTIVIEW_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_ray_query (pattern KHR_RAY_QUERY_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_ray_tracing_pipeline (pattern KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME)
@@ -120,6 +123,7 @@
 import Vulkan.Extensions.VK_KHR_shader_draw_parameters (pattern KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_float16_int8 (pattern KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_float_controls (pattern KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_shader_integer_dot_product (pattern KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_non_semantic_info (pattern KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (pattern KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_terminate_invocation (pattern KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME)
@@ -142,7 +146,7 @@
 import Vulkan.Extensions.VK_NV_shader_sm_builtins (pattern NV_SHADER_SM_BUILTINS_EXTENSION_NAME)
 import Vulkan.Extensions.VK_NV_shader_subgroup_partitioned (pattern NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME)
 import Vulkan.Extensions.VK_NV_shading_rate_image (pattern NV_SHADING_RATE_IMAGE_EXTENSION_NAME)
-import Vulkan.Extensions.VK_NV_viewport_array2 (pattern NV_VIEWPORT_ARRAY2_EXTENSION_NAME)
+import Vulkan.Extensions.VK_NV_viewport_array2 (pattern NV_VIEWPORT_ARRAY_2_EXTENSION_NAME)
 import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
 import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlagBits(SUBGROUP_FEATURE_ARITHMETIC_BIT))
 import Vulkan.Core11.Enums.SubgroupFeatureFlagBits (SubgroupFeatureFlags)
@@ -313,7 +317,7 @@
   "SPV_NV_viewport_array2" -> (,)
     []
     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = NV_VIEWPORT_ARRAY2_EXTENSION_NAME
+                             , deviceExtensionName       = NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -439,7 +443,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -478,14 +482,14 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
   "SPV_GOOGLE_hlsl_functionality1" -> (,)
     []
     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = GOOGLE_HLSL_FUNCTIONALITY1_EXTENSION_NAME
+                             , deviceExtensionName       = GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -586,7 +590,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE2_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_2_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -680,6 +684,17 @@
                              , deviceExtensionMinVersion = 0
                              }
     ]
+  "SPV_KHR_integer_dot_product" -> (,)
+    [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing
+                               , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+                               , instanceExtensionMinVersion = 0
+                               }
+    ]
+    [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing
+                             , deviceExtensionName       = KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME
+                             , deviceExtensionMinVersion = 0
+                             }
+    ]
   _ -> ([], [])
 
 spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
@@ -1189,14 +1204,14 @@
   "ShaderViewportIndexLayerNV" -> (,)
     []
     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = NV_VIEWPORT_ARRAY2_EXTENSION_NAME
+                             , deviceExtensionName       = NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
   "ShaderViewportMaskNV" -> (,)
     []
     [ RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = NV_VIEWPORT_ARRAY2_EXTENSION_NAME
+                             , deviceExtensionName       = NV_VIEWPORT_ARRAY_2_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1359,7 +1374,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1381,7 +1396,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1404,7 +1419,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1427,7 +1442,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1449,7 +1464,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1471,7 +1486,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1493,7 +1508,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1515,7 +1530,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1538,7 +1553,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1561,7 +1576,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1584,7 +1599,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1928,7 +1943,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -1971,7 +1986,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -2015,7 +2030,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -2078,7 +2093,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE3_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_3_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -2283,7 +2298,7 @@
                              , deviceExtensionMinVersion = 0
                              }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
-                             , deviceExtensionName       = KHR_MAINTENANCE2_EXTENSION_NAME
+                             , deviceExtensionName       = KHR_MAINTENANCE_2_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
@@ -2338,6 +2353,70 @@
       }
     , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
                              , deviceExtensionName       = KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME
+                             , deviceExtensionMinVersion = 0
+                             }
+    ]
+  "DotProductInputAllKHR" -> (,)
+    [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing
+                               , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+                               , instanceExtensionMinVersion = 0
+                               }
+    ]
+    [ RequireDeviceFeature
+      { featureName   = "shaderIntegerDotProduct"
+      , checkFeature  = shaderIntegerDotProduct :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR -> Bool
+      , enableFeature = \f -> f { shaderIntegerDotProduct = True } :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+      }
+    , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
+                             , deviceExtensionName       = KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME
+                             , deviceExtensionMinVersion = 0
+                             }
+    ]
+  "DotProductInput4x8BitKHR" -> (,)
+    [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing
+                               , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+                               , instanceExtensionMinVersion = 0
+                               }
+    ]
+    [ RequireDeviceFeature
+      { featureName   = "shaderIntegerDotProduct"
+      , checkFeature  = shaderIntegerDotProduct :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR -> Bool
+      , enableFeature = \f -> f { shaderIntegerDotProduct = True } :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+      }
+    , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
+                             , deviceExtensionName       = KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME
+                             , deviceExtensionMinVersion = 0
+                             }
+    ]
+  "DotProductInput4x8BitPackedKHR" -> (,)
+    [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing
+                               , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+                               , instanceExtensionMinVersion = 0
+                               }
+    ]
+    [ RequireDeviceFeature
+      { featureName   = "shaderIntegerDotProduct"
+      , checkFeature  = shaderIntegerDotProduct :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR -> Bool
+      , enableFeature = \f -> f { shaderIntegerDotProduct = True } :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+      }
+    , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
+                             , deviceExtensionName       = KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME
+                             , deviceExtensionMinVersion = 0
+                             }
+    ]
+  "DotProductKHR" -> (,)
+    [ RequireInstanceExtension { instanceExtensionLayerName  = Nothing
+                               , instanceExtensionName       = KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME
+                               , instanceExtensionMinVersion = 0
+                               }
+    ]
+    [ RequireDeviceFeature
+      { featureName   = "shaderIntegerDotProduct"
+      , checkFeature  = shaderIntegerDotProduct :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR -> Bool
+      , enableFeature = \f -> f { shaderIntegerDotProduct = True } :: PhysicalDeviceShaderIntegerDotProductFeaturesKHR
+      }
+    , RequireDeviceExtension { deviceExtensionLayerName  = Nothing
+                             , deviceExtensionName       = KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME
                              , deviceExtensionMinVersion = 0
                              }
     ]
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 = 189
+pattern HEADER_VERSION = 196
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 189
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 196
 
 
 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.12.2
+version:        3.13
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
@@ -135,7 +135,7 @@
       Vulkan.Core10.Enums.SamplerCreateFlagBits
       Vulkan.Core10.Enums.SamplerMipmapMode
       Vulkan.Core10.Enums.SemaphoreCreateFlags
-      Vulkan.Core10.Enums.ShaderModuleCreateFlagBits
+      Vulkan.Core10.Enums.ShaderModuleCreateFlags
       Vulkan.Core10.Enums.ShaderStageFlagBits
       Vulkan.Core10.Enums.SharingMode
       Vulkan.Core10.Enums.SparseImageFormatFlagBits
@@ -281,6 +281,7 @@
       Vulkan.Extensions.VK_EXT_acquire_xlib_display
       Vulkan.Extensions.VK_EXT_astc_decode_mode
       Vulkan.Extensions.VK_EXT_blend_operation_advanced
+      Vulkan.Extensions.VK_EXT_border_color_swizzle
       Vulkan.Extensions.VK_EXT_buffer_device_address
       Vulkan.Extensions.VK_EXT_calibrated_timestamps
       Vulkan.Extensions.VK_EXT_color_write_enable
@@ -323,14 +324,17 @@
       Vulkan.Extensions.VK_EXT_memory_priority
       Vulkan.Extensions.VK_EXT_metal_surface
       Vulkan.Extensions.VK_EXT_multi_draw
+      Vulkan.Extensions.VK_EXT_pageable_device_local_memory
       Vulkan.Extensions.VK_EXT_pci_bus_info
       Vulkan.Extensions.VK_EXT_physical_device_drm
       Vulkan.Extensions.VK_EXT_pipeline_creation_cache_control
       Vulkan.Extensions.VK_EXT_pipeline_creation_feedback
       Vulkan.Extensions.VK_EXT_post_depth_coverage
+      Vulkan.Extensions.VK_EXT_primitive_topology_list_restart
       Vulkan.Extensions.VK_EXT_private_data
       Vulkan.Extensions.VK_EXT_provoking_vertex
       Vulkan.Extensions.VK_EXT_queue_family_foreign
+      Vulkan.Extensions.VK_EXT_rgba10x6_formats
       Vulkan.Extensions.VK_EXT_robustness2
       Vulkan.Extensions.VK_EXT_sample_locations
       Vulkan.Extensions.VK_EXT_sampler_filter_minmax
@@ -357,6 +361,7 @@
       Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state
       Vulkan.Extensions.VK_EXT_ycbcr_2plane_444_formats
       Vulkan.Extensions.VK_EXT_ycbcr_image_arrays
+      Vulkan.Extensions.VK_FUCHSIA_buffer_collection
       Vulkan.Extensions.VK_FUCHSIA_external_memory
       Vulkan.Extensions.VK_FUCHSIA_external_semaphore
       Vulkan.Extensions.VK_FUCHSIA_imagepipe_surface
@@ -367,6 +372,7 @@
       Vulkan.Extensions.VK_GOOGLE_hlsl_functionality1
       Vulkan.Extensions.VK_GOOGLE_user_type
       Vulkan.Extensions.VK_HUAWEI_invocation_mask
+      Vulkan.Extensions.VK_HUAWEI_subpass_shading
       Vulkan.Extensions.VK_IMG_filter_cubic
       Vulkan.Extensions.VK_IMG_format_pvrtc
       Vulkan.Extensions.VK_INTEL_performance_query
@@ -401,6 +407,7 @@
       Vulkan.Extensions.VK_KHR_external_semaphore_capabilities
       Vulkan.Extensions.VK_KHR_external_semaphore_fd
       Vulkan.Extensions.VK_KHR_external_semaphore_win32
+      Vulkan.Extensions.VK_KHR_format_feature_flags2
       Vulkan.Extensions.VK_KHR_fragment_shading_rate
       Vulkan.Extensions.VK_KHR_get_display_properties2
       Vulkan.Extensions.VK_KHR_get_memory_requirements2
@@ -412,6 +419,7 @@
       Vulkan.Extensions.VK_KHR_maintenance1
       Vulkan.Extensions.VK_KHR_maintenance2
       Vulkan.Extensions.VK_KHR_maintenance3
+      Vulkan.Extensions.VK_KHR_maintenance4
       Vulkan.Extensions.VK_KHR_multiview
       Vulkan.Extensions.VK_KHR_performance_query
       Vulkan.Extensions.VK_KHR_pipeline_executable_properties
@@ -431,6 +439,7 @@
       Vulkan.Extensions.VK_KHR_shader_draw_parameters
       Vulkan.Extensions.VK_KHR_shader_float16_int8
       Vulkan.Extensions.VK_KHR_shader_float_controls
+      Vulkan.Extensions.VK_KHR_shader_integer_dot_product
       Vulkan.Extensions.VK_KHR_shader_non_semantic_info
       Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
       Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow
