diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,6 +1,13 @@
 # Change Log
 
-## WIP
+## [3.26.5] - 2026-03-05
+
+- Bump API version to v1.3.274
+- Bump API version to v1.3.275
+- Bump API version to v1.3.276
+  - A minor breaking change that debugMessage text is now Maybe.
+- Bump API version to v1.3.277
+
 
 ## [3.26.4] - 2025-05-31
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.26.4"
+version: "3.26.5"
 synopsis: Bindings to the Vulkan graphics API.
 description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category: Graphics
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -461,7 +461,21 @@
 ## Current Status
 
 All the core Vulkan 1.0, 1.1, 1.2, and 1.3 functionality is here as well as all the
-extensions (except the video ones).
+extensions, with the exception of the video extensions listed below which are
+currently disabled in the generator:
+
+- `VK_KHR_video_queue`
+- `VK_KHR_video_decode_queue`
+- `VK_KHR_video_encode_queue`
+- `VK_KHR_video_decode_av1`
+- `VK_KHR_video_decode_h264`, `VK_EXT_video_decode_h264`
+- `VK_KHR_video_encode_h264`, `VK_EXT_video_encode_h264`
+- `VK_KHR_video_decode_h265`, `VK_EXT_video_decode_h265`
+- `VK_KHR_video_encode_h265`, `VK_EXT_video_encode_h265`
+- `VK_KHR_video_maintenance1`
+
+The list is maintained in `forceDisabledExtensions` in
+[`generate-new/src/Bespoke.hs`](./generate-new/src/Bespoke.hs).
 
 This is currently a 64 bit only library.
 
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
@@ -94,11 +94,14 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (BindAccelerationStructureMemoryInfoNV)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2 (BindBufferMemoryDeviceGroupInfo)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindBufferMemoryInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorBufferEmbeddedSamplersInfoEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorSetsInfoKHR)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2 (BindImageMemoryDeviceGroupInfo)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindImageMemoryInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (BindImageMemorySwapchainInfoKHR)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion (BindImagePlaneMemoryInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (BindIndexBufferIndirectCommandNV)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindMemoryStatusKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands_compute (BindPipelineIndirectCommandNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (BindShaderGroupIndirectCommandNV)
 import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo)
@@ -524,6 +527,7 @@
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_physical_device_drm (PhysicalDeviceDrmPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (PhysicalDeviceDynamicRenderingFeatures)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments (PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state2 (PhysicalDeviceExtendedDynamicState2FeaturesEXT)
@@ -582,7 +586,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_filter_cubic (PhysicalDeviceImageViewImageFormatInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockFeatures)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockProperties)
@@ -590,14 +594,16 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_MSFT_layered_driver (PhysicalDeviceLayeredDriverPropertiesMSFT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_legacy_dithering (PhysicalDeviceLegacyDitheringFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core10.DeviceInitialization (PhysicalDeviceLimits)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_linear_color_attachment (PhysicalDeviceLinearColorAttachmentFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (PhysicalDeviceMaintenance3Properties)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5PropertiesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6FeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6PropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionPropertiesNV)
@@ -626,6 +632,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (PhysicalDeviceOpticalFlowPropertiesNV)
 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_NV_per_stage_descriptor_set (PhysicalDevicePerStageDescriptorSetFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeatures)
@@ -689,19 +696,24 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueuePropertiesAMDX)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsPropertiesNV)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types (PhysicalDeviceShaderSubgroupExtendedTypesFeatures)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation (PhysicalDeviceShaderTerminateInvocationFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT)
@@ -777,7 +789,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pipeline_properties (PipelinePropertiesIdentifierEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conservative_rasterization (PipelineRasterizationConservativeStateCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PipelineRasterizationDepthClipStateCreateInfoEXT)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PipelineRasterizationLineStateCreateInfoEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PipelineRasterizationProvokingVertexStateCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Core10.Pipeline (PipelineRasterizationStateCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_rasterization_order (PipelineRasterizationStateRasterizationOrderAMD)
@@ -811,6 +823,9 @@
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_private_data (PrivateDataSlotCreateInfo)
 import {-# SOURCE #-} Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory (ProtectedSubmitInfo)
 import {-# SOURCE #-} Vulkan.Core10.PipelineLayout (PushConstantRange)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushConstantsInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetWithTemplateInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_low_latency (QueryLowLatencySupportNV)
 import {-# SOURCE #-} Vulkan.Core10.Query (QueryPoolCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (QueryPoolPerformanceCreateInfoKHR)
@@ -848,9 +863,11 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_QCOM_render_pass_transform (RenderPassTransformBeginInfoQCOM)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (RenderingAreaInfoKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (RenderingAttachmentInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering (RenderingFragmentDensityMapAttachmentInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering (RenderingFragmentShadingRateAttachmentInfoKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (RenderingInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (ResolveImageInfo2)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing_motion_blur (SRTDataNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_sample_locations (SampleLocationEXT)
@@ -877,6 +894,7 @@
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_synchronization2 (SemaphoreSubmitInfo)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreTypeCreateInfo)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreWaitInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (SetDescriptorBufferOffsetsInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_low_latency2 (SetLatencyMarkerInfoNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_generated_commands (SetStateFlagsIndirectCommandNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (ShaderCreateInfoEXT)
@@ -1096,9 +1114,13 @@
   Extends AttachmentDescription2 AttachmentDescriptionStencilLayout = ()
   Extends AttachmentReference2 AttachmentReferenceStencilLayout = ()
   Extends BindBufferMemoryInfo BindBufferMemoryDeviceGroupInfo = ()
+  Extends BindBufferMemoryInfo BindMemoryStatusKHR = ()
+  Extends BindDescriptorBufferEmbeddedSamplersInfoEXT PipelineLayoutCreateInfo = ()
+  Extends BindDescriptorSetsInfoKHR PipelineLayoutCreateInfo = ()
   Extends BindImageMemoryInfo BindImageMemoryDeviceGroupInfo = ()
   Extends BindImageMemoryInfo BindImageMemorySwapchainInfoKHR = ()
   Extends BindImageMemoryInfo BindImagePlaneMemoryInfo = ()
+  Extends BindImageMemoryInfo BindMemoryStatusKHR = ()
   Extends BindSparseInfo DeviceGroupBindSparseInfo = ()
   Extends BindSparseInfo TimelineSemaphoreSubmitInfo = ()
   Extends BindSparseInfo FrameBoundaryEXT = ()
@@ -1123,6 +1145,8 @@
   Extends CommandBufferInheritanceInfo CommandBufferInheritanceRenderingInfo = ()
   Extends CommandBufferInheritanceInfo AttachmentSampleCountInfoAMD = ()
   Extends CommandBufferInheritanceInfo MultiviewPerViewAttributesInfoNVX = ()
+  Extends CommandBufferInheritanceInfo RenderingAttachmentLocationInfoKHR = ()
+  Extends CommandBufferInheritanceInfo RenderingInputAttachmentIndexInfoKHR = ()
   Extends CommandBufferSubmitInfo RenderPassStripeSubmitInfoARM = ()
   Extends ComputePipelineCreateInfo PipelineCreateFlags2CreateInfoKHR = ()
   Extends ComputePipelineCreateInfo PipelineCreationFeedbackCreateInfo = ()
@@ -1158,6 +1182,7 @@
   Extends DeviceCreateInfo PhysicalDeviceInlineUniformBlockFeatures = ()
   Extends DeviceCreateInfo PhysicalDeviceMaintenance4Features = ()
   Extends DeviceCreateInfo PhysicalDeviceMaintenance5FeaturesKHR = ()
+  Extends DeviceCreateInfo PhysicalDeviceMaintenance6FeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderDrawParametersFeatures = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderFloat16Int8Features = ()
   Extends DeviceCreateInfo PhysicalDeviceHostQueryResetFeatures = ()
@@ -1211,7 +1236,7 @@
   Extends DeviceCreateInfo PhysicalDeviceCoverageReductionModeFeaturesNV = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderClockFeaturesKHR = ()
-  Extends DeviceCreateInfo PhysicalDeviceIndexTypeUint8FeaturesEXT = ()
+  Extends DeviceCreateInfo PhysicalDeviceIndexTypeUint8FeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDeviceShaderSMBuiltinsFeaturesNV = ()
   Extends DeviceCreateInfo PhysicalDeviceFragmentShaderInterlockFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceSeparateDepthStencilLayoutsFeatures = ()
@@ -1220,7 +1245,7 @@
   Extends DeviceCreateInfo PhysicalDeviceShaderDemoteToHelperInvocationFeatures = ()
   Extends DeviceCreateInfo PhysicalDeviceTexelBufferAlignmentFeaturesEXT = ()
   Extends DeviceCreateInfo PhysicalDeviceSubgroupSizeControlFeatures = ()
-  Extends DeviceCreateInfo PhysicalDeviceLineRasterizationFeaturesEXT = ()
+  Extends DeviceCreateInfo PhysicalDeviceLineRasterizationFeaturesKHR = ()
   Extends DeviceCreateInfo PhysicalDevicePipelineCreationCacheControlFeatures = ()
   Extends DeviceCreateInfo PhysicalDeviceVulkan11Features = ()
   Extends DeviceCreateInfo PhysicalDeviceVulkan12Features = ()
@@ -1314,12 +1339,19 @@
   Extends DeviceCreateInfo PhysicalDeviceCubicWeightsFeaturesQCOM = ()
   Extends DeviceCreateInfo PhysicalDeviceImageProcessing2FeaturesQCOM = ()
   Extends DeviceCreateInfo PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = ()
+  Extends DeviceCreateInfo PhysicalDevicePerStageDescriptorSetFeaturesNV = ()
   Extends DeviceCreateInfo PhysicalDeviceExternalFormatResolveFeaturesANDROID = ()
   Extends DeviceCreateInfo PhysicalDeviceCudaKernelLaunchFeaturesNV = ()
   Extends DeviceCreateInfo DeviceQueueShaderCoreControlCreateInfoARM = ()
   Extends DeviceCreateInfo PhysicalDeviceSchedulingControlsFeaturesARM = ()
   Extends DeviceCreateInfo PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = ()
   Extends DeviceCreateInfo PhysicalDeviceRenderPassStripedFeaturesARM = ()
+  Extends DeviceCreateInfo PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = ()
+  Extends DeviceCreateInfo PhysicalDeviceShaderSubgroupRotateFeaturesKHR = ()
+  Extends DeviceCreateInfo PhysicalDeviceShaderExpectAssumeFeaturesKHR = ()
+  Extends DeviceCreateInfo PhysicalDeviceShaderFloatControls2FeaturesKHR = ()
+  Extends DeviceCreateInfo PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = ()
+  Extends DeviceCreateInfo PhysicalDeviceShaderQuadControlFeaturesKHR = ()
   Extends DeviceQueueCreateInfo DeviceQueueGlobalPriorityCreateInfoKHR = ()
   Extends DeviceQueueCreateInfo DeviceQueueShaderCoreControlCreateInfoARM = ()
   Extends EventCreateInfo ExportMetalObjectCreateInfoEXT = ()
@@ -1354,6 +1386,8 @@
   Extends GraphicsPipelineCreateInfo MultiviewPerViewAttributesInfoNVX = ()
   Extends GraphicsPipelineCreateInfo GraphicsPipelineLibraryCreateInfoEXT = ()
   Extends GraphicsPipelineCreateInfo PipelineRobustnessCreateInfoEXT = ()
+  Extends GraphicsPipelineCreateInfo RenderingAttachmentLocationInfoKHR = ()
+  Extends GraphicsPipelineCreateInfo RenderingInputAttachmentIndexInfoKHR = ()
   Extends ImageBlit2 CopyCommandTransformInfoQCOM = ()
   Extends ImageCreateInfo DedicatedAllocationImageCreateInfoNV = ()
   Extends ImageCreateInfo ExternalMemoryImageCreateInfoNV = ()
@@ -1439,6 +1473,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceInlineUniformBlockFeatures = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceMaintenance4Features = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceMaintenance5FeaturesKHR = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceMaintenance6FeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderDrawParametersFeatures = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderFloat16Int8Features = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceHostQueryResetFeatures = ()
@@ -1490,7 +1525,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceCoverageReductionModeFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderClockFeaturesKHR = ()
-  Extends PhysicalDeviceFeatures2 PhysicalDeviceIndexTypeUint8FeaturesEXT = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceIndexTypeUint8FeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderSMBuiltinsFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceFragmentShaderInterlockFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceSeparateDepthStencilLayoutsFeatures = ()
@@ -1499,7 +1534,7 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderDemoteToHelperInvocationFeatures = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceTexelBufferAlignmentFeaturesEXT = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceSubgroupSizeControlFeatures = ()
-  Extends PhysicalDeviceFeatures2 PhysicalDeviceLineRasterizationFeaturesEXT = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceLineRasterizationFeaturesKHR = ()
   Extends PhysicalDeviceFeatures2 PhysicalDevicePipelineCreationCacheControlFeatures = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceVulkan11Features = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceVulkan12Features = ()
@@ -1592,11 +1627,18 @@
   Extends PhysicalDeviceFeatures2 PhysicalDeviceCubicWeightsFeaturesQCOM = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceImageProcessing2FeaturesQCOM = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDevicePerStageDescriptorSetFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceExternalFormatResolveFeaturesANDROID = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceCudaKernelLaunchFeaturesNV = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceSchedulingControlsFeaturesARM = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = ()
   Extends PhysicalDeviceFeatures2 PhysicalDeviceRenderPassStripedFeaturesARM = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderSubgroupRotateFeaturesKHR = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderExpectAssumeFeaturesKHR = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderFloatControls2FeaturesKHR = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = ()
+  Extends PhysicalDeviceFeatures2 PhysicalDeviceShaderQuadControlFeaturesKHR = ()
   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceExternalImageFormatInfo = ()
   Extends PhysicalDeviceImageFormatInfo2 ImageFormatListCreateInfo = ()
   Extends PhysicalDeviceImageFormatInfo2 PhysicalDeviceImageDrmFormatModifierInfoEXT = ()
@@ -1623,6 +1665,7 @@
   Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance3Properties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance4Properties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance5PropertiesKHR = ()
+  Extends PhysicalDeviceProperties2 PhysicalDeviceMaintenance6PropertiesKHR = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceFloatControlsProperties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceExternalMemoryHostPropertiesEXT = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceConservativeRasterizationPropertiesEXT = ()
@@ -1653,7 +1696,7 @@
   Extends PhysicalDeviceProperties2 PhysicalDeviceSubgroupSizeControlProperties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceSubpassShadingPropertiesHUAWEI = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceClusterCullingShaderPropertiesHUAWEI = ()
-  Extends PhysicalDeviceProperties2 PhysicalDeviceLineRasterizationPropertiesEXT = ()
+  Extends PhysicalDeviceProperties2 PhysicalDeviceLineRasterizationPropertiesKHR = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan11Properties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan12Properties = ()
   Extends PhysicalDeviceProperties2 PhysicalDeviceVulkan13Properties = ()
@@ -1705,7 +1748,7 @@
   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationConservativeStateCreateInfoEXT = ()
   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationStateStreamCreateInfoEXT = ()
   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationDepthClipStateCreateInfoEXT = ()
-  Extends PipelineRasterizationStateCreateInfo PipelineRasterizationLineStateCreateInfoEXT = ()
+  Extends PipelineRasterizationStateCreateInfo PipelineRasterizationLineStateCreateInfoKHR = ()
   Extends PipelineRasterizationStateCreateInfo PipelineRasterizationProvokingVertexStateCreateInfoEXT = ()
   Extends PipelineRasterizationStateCreateInfo DepthBiasRepresentationInfoEXT = ()
   Extends PipelineShaderStageCreateInfo (ShaderModuleCreateInfo '[]) = ()
@@ -1732,6 +1775,9 @@
   Extends PresentInfoKHR FrameBoundaryEXT = ()
   Extends PresentInfoKHR SwapchainPresentFenceInfoEXT = ()
   Extends PresentInfoKHR SwapchainPresentModeInfoEXT = ()
+  Extends PushConstantsInfoKHR PipelineLayoutCreateInfo = ()
+  Extends PushDescriptorSetInfoKHR PipelineLayoutCreateInfo = ()
+  Extends PushDescriptorSetWithTemplateInfoKHR PipelineLayoutCreateInfo = ()
   Extends QueryPoolCreateInfo QueryPoolPerformanceCreateInfoKHR = ()
   Extends QueryPoolCreateInfo QueryPoolPerformanceQueryCreateInfoINTEL = ()
   Extends QueueFamilyProperties2 QueueFamilyGlobalPriorityPropertiesKHR = ()
@@ -1778,6 +1824,7 @@
   Extends SemaphoreCreateInfo ExportMetalObjectCreateInfoEXT = ()
   Extends SemaphoreCreateInfo ImportMetalSharedEventInfoEXT = ()
   Extends SemaphoreCreateInfo QueryLowLatencySupportNV = ()
+  Extends SetDescriptorBufferOffsetsInfoEXT PipelineLayoutCreateInfo = ()
   Extends ShaderCreateInfoEXT PipelineShaderStageRequiredSubgroupSizeCreateInfo = ()
   Extends ShaderModuleCreateInfo ShaderModuleValidationCacheCreateInfoEXT = ()
   Extends SubmitInfo Win32KeyedMutexAcquireReleaseInfoNV = ()
@@ -1932,6 +1979,7 @@
   STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO_KHR -> go @BufferUsageFlags2CreateInfoKHR
   STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO -> go @(ShaderModuleCreateInfo '[])
   STRUCTURE_TYPE_PIPELINE_CREATE_FLAGS_2_CREATE_INFO_KHR -> go @PipelineCreateFlags2CreateInfoKHR
+  STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO -> go @PipelineLayoutCreateInfo
   STRUCTURE_TYPE_DISPLAY_PRESENT_INFO_KHR -> go @DisplayPresentInfoKHR
   STRUCTURE_TYPE_DEBUG_REPORT_CALLBACK_CREATE_INFO_EXT -> go @DebugReportCallbackCreateInfoEXT
   STRUCTURE_TYPE_VALIDATION_FLAGS_EXT -> go @ValidationFlagsEXT
@@ -2044,6 +2092,8 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_4_PROPERTIES -> go @PhysicalDeviceMaintenance4Properties
   STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_FEATURES_KHR -> go @PhysicalDeviceMaintenance5FeaturesKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_5_PROPERTIES_KHR -> go @PhysicalDeviceMaintenance5PropertiesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR -> go @PhysicalDeviceMaintenance6FeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR -> go @PhysicalDeviceMaintenance6PropertiesKHR
   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
@@ -2177,7 +2227,7 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL -> go @PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL
   STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL -> go @QueryPoolPerformanceQueryCreateInfoINTEL
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CLOCK_FEATURES_KHR -> go @PhysicalDeviceShaderClockFeaturesKHR
-  STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT -> go @PhysicalDeviceIndexTypeUint8FeaturesEXT
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR -> go @PhysicalDeviceIndexTypeUint8FeaturesKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV -> go @PhysicalDeviceShaderSMBuiltinsPropertiesNV
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV -> go @PhysicalDeviceShaderSMBuiltinsFeaturesNV
   STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADER_INTERLOCK_FEATURES_EXT -> go @PhysicalDeviceFragmentShaderInterlockFeaturesEXT
@@ -2196,9 +2246,9 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI -> go @PhysicalDeviceSubpassShadingPropertiesHUAWEI
   STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI -> go @PhysicalDeviceClusterCullingShaderPropertiesHUAWEI
   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
-  STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT -> go @PipelineRasterizationLineStateCreateInfoEXT
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR -> go @PhysicalDeviceLineRasterizationFeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR -> go @PhysicalDeviceLineRasterizationPropertiesKHR
+  STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR -> go @PipelineRasterizationLineStateCreateInfoKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_CREATION_CACHE_CONTROL_FEATURES -> go @PhysicalDevicePipelineCreationCacheControlFeatures
   STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_FEATURES -> go @PhysicalDeviceVulkan11Features
   STRUCTURE_TYPE_PHYSICAL_DEVICE_VULKAN_1_1_PROPERTIES -> go @PhysicalDeviceVulkan11Properties
@@ -2401,6 +2451,7 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX -> go @PhysicalDeviceShaderEnqueuePropertiesAMDX
   STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX -> go @PhysicalDeviceShaderEnqueueFeaturesAMDX
   STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX -> go @PipelineShaderStageNodeCreateInfoAMDX
+  STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR -> go @BindMemoryStatusKHR
   STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM -> go @PhysicalDeviceCubicClampFeaturesQCOM
   STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM -> go @PhysicalDeviceYcbcrDegammaFeaturesQCOM
   STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM -> go @SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM
@@ -2412,6 +2463,7 @@
   STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM -> go @SamplerBlockMatchWindowCreateInfoQCOM
   STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV -> go @PhysicalDeviceDescriptorPoolOverallocationFeaturesNV
   STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT -> go @PhysicalDeviceLayeredDriverPropertiesMSFT
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV -> go @PhysicalDevicePerStageDescriptorSetFeaturesNV
   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID -> go @PhysicalDeviceExternalFormatResolveFeaturesANDROID
   STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID -> go @PhysicalDeviceExternalFormatResolvePropertiesANDROID
   STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID -> go @AndroidHardwareBufferFormatResolvePropertiesANDROID
@@ -2428,6 +2480,14 @@
   STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM -> go @PhysicalDeviceRenderPassStripedPropertiesARM
   STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM -> go @RenderPassStripeBeginInfoARM
   STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM -> go @RenderPassStripeSubmitInfoARM
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR -> go @PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR -> go @PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR -> go @PhysicalDeviceShaderExpectAssumeFeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR -> go @PhysicalDeviceShaderFloatControls2FeaturesKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR -> go @PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+  STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR -> go @RenderingAttachmentLocationInfoKHR
+  STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR -> go @RenderingInputAttachmentIndexInfoKHR
+  STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR -> go @PhysicalDeviceShaderQuadControlFeaturesKHR
   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
@@ -2484,6 +2544,7 @@
 {-# complete (::&) :: BufferUsageFlags2CreateInfoKHR #-}
 {-# complete (::&) :: ShaderModuleCreateInfo #-}
 {-# complete (::&) :: PipelineCreateFlags2CreateInfoKHR #-}
+{-# complete (::&) :: PipelineLayoutCreateInfo #-}
 {-# complete (::&) :: DisplayPresentInfoKHR #-}
 {-# complete (::&) :: DebugReportCallbackCreateInfoEXT #-}
 {-# complete (::&) :: ValidationFlagsEXT #-}
@@ -2596,6 +2657,8 @@
 {-# complete (::&) :: PhysicalDeviceMaintenance4Properties #-}
 {-# complete (::&) :: PhysicalDeviceMaintenance5FeaturesKHR #-}
 {-# complete (::&) :: PhysicalDeviceMaintenance5PropertiesKHR #-}
+{-# complete (::&) :: PhysicalDeviceMaintenance6FeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceMaintenance6PropertiesKHR #-}
 {-# complete (::&) :: PhysicalDeviceShaderDrawParametersFeatures #-}
 {-# complete (::&) :: PhysicalDeviceShaderFloat16Int8Features #-}
 {-# complete (::&) :: PhysicalDeviceFloatControlsProperties #-}
@@ -2729,7 +2792,7 @@
 {-# complete (::&) :: PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL #-}
 {-# complete (::&) :: QueryPoolPerformanceQueryCreateInfoINTEL #-}
 {-# complete (::&) :: PhysicalDeviceShaderClockFeaturesKHR #-}
-{-# complete (::&) :: PhysicalDeviceIndexTypeUint8FeaturesEXT #-}
+{-# complete (::&) :: PhysicalDeviceIndexTypeUint8FeaturesKHR #-}
 {-# complete (::&) :: PhysicalDeviceShaderSMBuiltinsPropertiesNV #-}
 {-# complete (::&) :: PhysicalDeviceShaderSMBuiltinsFeaturesNV #-}
 {-# complete (::&) :: PhysicalDeviceFragmentShaderInterlockFeaturesEXT #-}
@@ -2748,9 +2811,9 @@
 {-# complete (::&) :: PhysicalDeviceSubpassShadingPropertiesHUAWEI #-}
 {-# complete (::&) :: PhysicalDeviceClusterCullingShaderPropertiesHUAWEI #-}
 {-# complete (::&) :: MemoryOpaqueCaptureAddressAllocateInfo #-}
-{-# complete (::&) :: PhysicalDeviceLineRasterizationFeaturesEXT #-}
-{-# complete (::&) :: PhysicalDeviceLineRasterizationPropertiesEXT #-}
-{-# complete (::&) :: PipelineRasterizationLineStateCreateInfoEXT #-}
+{-# complete (::&) :: PhysicalDeviceLineRasterizationFeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceLineRasterizationPropertiesKHR #-}
+{-# complete (::&) :: PipelineRasterizationLineStateCreateInfoKHR #-}
 {-# complete (::&) :: PhysicalDevicePipelineCreationCacheControlFeatures #-}
 {-# complete (::&) :: PhysicalDeviceVulkan11Features #-}
 {-# complete (::&) :: PhysicalDeviceVulkan11Properties #-}
@@ -2953,6 +3016,7 @@
 {-# complete (::&) :: PhysicalDeviceShaderEnqueuePropertiesAMDX #-}
 {-# complete (::&) :: PhysicalDeviceShaderEnqueueFeaturesAMDX #-}
 {-# complete (::&) :: PipelineShaderStageNodeCreateInfoAMDX #-}
+{-# complete (::&) :: BindMemoryStatusKHR #-}
 {-# complete (::&) :: PhysicalDeviceCubicClampFeaturesQCOM #-}
 {-# complete (::&) :: PhysicalDeviceYcbcrDegammaFeaturesQCOM #-}
 {-# complete (::&) :: SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM #-}
@@ -2964,6 +3028,7 @@
 {-# complete (::&) :: SamplerBlockMatchWindowCreateInfoQCOM #-}
 {-# complete (::&) :: PhysicalDeviceDescriptorPoolOverallocationFeaturesNV #-}
 {-# complete (::&) :: PhysicalDeviceLayeredDriverPropertiesMSFT #-}
+{-# complete (::&) :: PhysicalDevicePerStageDescriptorSetFeaturesNV #-}
 {-# complete (::&) :: PhysicalDeviceExternalFormatResolveFeaturesANDROID #-}
 {-# complete (::&) :: PhysicalDeviceExternalFormatResolvePropertiesANDROID #-}
 {-# complete (::&) :: AndroidHardwareBufferFormatResolvePropertiesANDROID #-}
@@ -2980,6 +3045,14 @@
 {-# complete (::&) :: PhysicalDeviceRenderPassStripedPropertiesARM #-}
 {-# complete (::&) :: RenderPassStripeBeginInfoARM #-}
 {-# complete (::&) :: RenderPassStripeSubmitInfoARM #-}
+{-# complete (::&) :: PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceShaderSubgroupRotateFeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceShaderExpectAssumeFeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceShaderFloatControls2FeaturesKHR #-}
+{-# complete (::&) :: PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR #-}
+{-# complete (::&) :: RenderingAttachmentLocationInfoKHR #-}
+{-# complete (::&) :: RenderingInputAttachmentIndexInfoKHR #-}
+{-# complete (::&) :: PhysicalDeviceShaderQuadControlFeaturesKHR #-}
 
 -- | 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
@@ -52,6 +52,8 @@
                                    , pattern MAX_GLOBAL_PRIORITY_SIZE_KHR
                                    , MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT
                                    , pattern MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT
+                                   , MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR
+                                   , pattern MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR
                                    , SHADER_INDEX_UNUSED_AMDX
                                    , pattern SHADER_INDEX_UNUSED_AMDX
                                    , pattern NULL_HANDLE
@@ -360,6 +362,13 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_module_identifier VK_EXT_shader_module_identifier>
 pattern MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT :: forall a . Integral a => a
 pattern MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT = 32
+
+
+type MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR = 7
+
+-- No documentation found for TopLevel "VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR"
+pattern MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR :: forall a . Integral a => a
+pattern MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR = 7
 
 
 type SHADER_INDEX_UNUSED_AMDX = 0xffffffff
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
@@ -321,6 +321,17 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkBufferCreateInfo-None-09499# If the @pNext@ chain does not
+--     include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
+--     structure, @usage@ must be a valid combination of
+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values
+--
+-- -   #VUID-VkBufferCreateInfo-None-09500# If the @pNext@ chain does not
+--     include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
+--     structure, @usage@ must not be 0
+--
 -- -   #VUID-VkBufferCreateInfo-size-00912# @size@ /must/ be greater than
 --     @0@
 --
@@ -419,8 +430,9 @@
 --
 -- -   #VUID-VkBufferCreateInfo-usage-04813# If @usage@ includes
 --     @VK_BUFFER_USAGE_VIDEO_DECODE_SRC_BIT_KHR@ or
---     @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the @pNext@ chain
---     /must/ include a
+--     @VK_BUFFER_USAGE_VIDEO_DECODE_DST_BIT_KHR@, and @flags@ does not
+--     include @VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then
+--     the @pNext@ chain /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
@@ -430,8 +442,9 @@
 --
 -- -   #VUID-VkBufferCreateInfo-usage-04814# If @usage@ includes
 --     @VK_BUFFER_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@ or
---     @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, then the @pNext@ chain
---     /must/ include a
+--     @VK_BUFFER_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, and @flags@ does not
+--     include @VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then
+--     the @pNext@ chain /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
@@ -439,6 +452,11 @@
 --     structure with a @videoCodecOperation@ member specifying an encode
 --     operation
 --
+-- -   #VUID-VkBufferCreateInfo-flags-08325# If @flags@ includes
+--     @VK_BUFFER_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-videoMaintenance1 videoMaintenance1>
+--     /must/ be enabled
+--
 -- -   #VUID-VkBufferCreateInfo-size-06409# @size@ /must/ be less than or
 --     equal to
 --     'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties'::@maxBufferSize@
@@ -490,17 +508,6 @@
 --     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT'
 --     or
 --     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT'
---
--- -   #VUID-VkBufferCreateInfo-None-09205# If the @pNext@ chain does not
---     include a
---     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
---     structure, @usage@ must be a valid combination of
---     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values
---
--- -   #VUID-VkBufferCreateInfo-None-09206# If the @pNext@ chain does not
---     include a
---     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
---     structure, @usage@ /must/ not be @0@
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -108,6 +108,8 @@
 import Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlags)
 import Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits (QueryPipelineStatisticFlags)
 import Vulkan.Core10.Handles (RenderPass)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR)
 import Vulkan.Core10.Enums.Result (Result)
 import Vulkan.Core10.Enums.Result (Result(..))
 import Vulkan.CStruct.Extends (SomeStruct)
@@ -756,8 +758,10 @@
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.CommandBufferInheritanceRenderingInfo',
 --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.CommandBufferInheritanceViewportScissorInfoNV',
 --     'Vulkan.Extensions.VK_ANDROID_external_memory_android_hardware_buffer.ExternalFormatANDROID',
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX',
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR',
 --     or
---     'Vulkan.Extensions.VK_KHR_dynamic_rendering.MultiviewPerViewAttributesInfoNVX'
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
 --
 -- -   #VUID-VkCommandBufferInheritanceInfo-sType-unique# The @sType@ value
 --     of each struct in the @pNext@ chain /must/ be unique
@@ -839,6 +843,8 @@
   getNext CommandBufferInheritanceInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends CommandBufferInheritanceInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @RenderingInputAttachmentIndexInfoKHR = Just f
+    | Just Refl <- eqT @e @RenderingAttachmentLocationInfoKHR = Just f
     | Just Refl <- eqT @e @MultiviewPerViewAttributesInfoNVX = Just f
     | Just Refl <- eqT @e @AttachmentSampleCountInfoAMD = Just f
     | Just Refl <- eqT @e @CommandBufferInheritanceRenderingInfo = Just f
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
@@ -1497,10 +1497,6 @@
 --     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
 --     provided when @layout@ was created
 --
--- -   #VUID-vkCmdBindDescriptorSets-pipelineBindPoint-00361#
---     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
---     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
---
 -- -   #VUID-vkCmdBindDescriptorSets-pDynamicOffsets-01971# Each element of
 --     @pDynamicOffsets@ which corresponds to a descriptor binding with
 --     type
@@ -1518,7 +1514,7 @@
 -- -   #VUID-vkCmdBindDescriptorSets-pDescriptorSets-01979# For each
 --     dynamic uniform or storage buffer binding in @pDescriptorSets@, the
 --     sum of the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#dynamic-effective-offset effective offset>
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#dynamic-effective-offset effective offset>
 --     and the range of the binding /must/ be less than or equal to the
 --     size of the buffer
 --
@@ -1534,11 +1530,21 @@
 --     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT'
 --     flag set
 --
--- -   #VUID-vkCmdBindDescriptorSets-graphicsPipelineLibrary-06754# If
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-graphicsPipelineLibrary graphicsPipelineLibrary>
+-- -   #VUID-vkCmdBindDescriptorSets-pDescriptorSets-06563# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-graphicsPipelineLibrary graphicsPipelineLibrary>
 --     is not enabled, each element of @pDescriptorSets@ /must/ be a valid
 --     'Vulkan.Core10.Handles.DescriptorSet'
 --
+-- -   #VUID-vkCmdBindDescriptorSets-pDescriptorSets-08010# Each element of
+--     @pDescriptorSets@ /must/ have been allocated with a
+--     'Vulkan.Core10.Handles.DescriptorSetLayout' which was not created
+--     with
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'
+--
+-- -   #VUID-vkCmdBindDescriptorSets-pipelineBindPoint-00361#
+--     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
+--     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdBindDescriptorSets-commandBuffer-parameter#
@@ -1665,6 +1671,16 @@
 
 -- | vkCmdBindIndexBuffer - Bind an index buffer to a command buffer
 --
+-- = Description
+--
+-- If the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+-- feature is enabled, @buffer@ /can/ be
+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'. If @buffer@ is
+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>
+-- feature is enabled, every index fetched results in a value of zero.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdBindIndexBuffer-offset-08782# @offset@ /must/ be less
@@ -1688,17 +1704,26 @@
 --     be 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_NONE_KHR'
 --
 -- -   #VUID-vkCmdBindIndexBuffer-indexType-08787# If @indexType@ is
---     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT', the
+--     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR', the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-indexTypeUint8 indexTypeUint8>
 --     feature /must/ be enabled
 --
+-- -   #VUID-vkCmdBindIndexBuffer-None-09493# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+--     is not enabled, @buffer@ /must/ not be
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--
+-- -   #VUID-vkCmdBindIndexBuffer-buffer-09494# If @buffer@ is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', offset /must/ be zero
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdBindIndexBuffer-commandBuffer-parameter# @commandBuffer@
 --     /must/ be a valid 'Vulkan.Core10.Handles.CommandBuffer' handle
 --
--- -   #VUID-vkCmdBindIndexBuffer-buffer-parameter# @buffer@ /must/ be a
---     valid 'Vulkan.Core10.Handles.Buffer' handle
+-- -   #VUID-vkCmdBindIndexBuffer-buffer-parameter# If @buffer@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @buffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.Buffer' handle
 --
 -- -   #VUID-vkCmdBindIndexBuffer-indexType-parameter# @indexType@ /must/
 --     be a valid 'Vulkan.Core10.Enums.IndexType.IndexType' value
@@ -1715,8 +1740,9 @@
 --     called outside of a video coding scope
 --
 -- -   #VUID-vkCmdBindIndexBuffer-commonparent# Both of @buffer@, and
---     @commandBuffer@ /must/ have been created, allocated, or retrieved
---     from the same 'Vulkan.Core10.Handles.Device'
+--     @commandBuffer@ that are valid handles of non-ignored parameters
+--     /must/ have been created, allocated, or retrieved from the same
+--     'Vulkan.Core10.Handles.Device'
 --
 -- == Host Synchronization
 --
@@ -4315,9 +4341,9 @@
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
--- -   #VUID-vkCmdDraw-None-08666# If the @VK_EXT_line_rasterization@
---     extension is enabled, and a shader object is bound to any graphics
---     stage, and the most recent call to
+-- -   #VUID-vkCmdDraw-None-08666# If the @VK_KHR_line_rasterization@ or
+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader
+--     object is bound to any graphics stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -4328,8 +4354,9 @@
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
--- -   #VUID-vkCmdDraw-None-08667# If the @VK_EXT_line_rasterization@
---     extension is enabled, and a shader object is bound to the
+-- -   #VUID-vkCmdDraw-None-08667# If the @VK_KHR_line_rasterization@ or
+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader
+--     object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -4342,9 +4369,9 @@
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
--- -   #VUID-vkCmdDraw-None-08668# If the @VK_EXT_line_rasterization@
---     extension is enabled, and a shader object that outputs line
---     primitives is bound to the
+-- -   #VUID-vkCmdDraw-None-08668# If the @VK_KHR_line_rasterization@ or
+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader
+--     object that outputs line primitives is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -4364,9 +4391,9 @@
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
--- -   #VUID-vkCmdDraw-None-08669# If the @VK_EXT_line_rasterization@
---     extension is enabled, and a shader object is bound to any graphics
---     stage, and the most recent call to
+-- -   #VUID-vkCmdDraw-None-08669# If the @VK_KHR_line_rasterization@ or
+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader
+--     object is bound to any graphics stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -4377,8 +4404,9 @@
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
--- -   #VUID-vkCmdDraw-None-08670# If the @VK_EXT_line_rasterization@
---     extension is enabled, and a shader object is bound to the
+-- -   #VUID-vkCmdDraw-None-08670# If the @VK_KHR_line_rasterization@ or
+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader
+--     object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -4391,9 +4419,9 @@
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
--- -   #VUID-vkCmdDraw-None-08671# If the @VK_EXT_line_rasterization@
---     extension is enabled, and a shader object that outputs line
---     primitives is bound to the
+-- -   #VUID-vkCmdDraw-None-08671# If the @VK_KHR_line_rasterization@ or
+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader
+--     object that outputs line primitives is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -4407,15 +4435,15 @@
 --
 -- -   #VUID-vkCmdDraw-None-07849# If the bound graphics pipeline state was
 --     created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
--- -   #VUID-vkCmdDraw-None-08672# If the @VK_EXT_line_rasterization@
---     extension is enabled, and a shader object is bound to any graphics
---     stage, and the most recent call to
+-- -   #VUID-vkCmdDraw-None-08672# If the @VK_KHR_line_rasterization@ or
+--     @VK_EXT_line_rasterization@ extension is enabled, and a shader
+--     object is bound to any graphics stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -5093,7 +5121,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -5106,7 +5134,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -5119,7 +5147,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -5132,7 +5160,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -5386,6 +5414,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDraw-None-09548# If the current render pass was begun
+--     with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDraw-None-09549# If the current render pass was begun
+--     with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDraw-commandBuffer-02712# If @commandBuffer@ is a
 --     protected command buffer and
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
@@ -5696,7 +5743,7 @@
 -- Subsequent index values are retrieved from consecutive locations in the
 -- index buffer. Indices are first compared to the primitive restart value,
 -- then zero extended to 32 bits (if the @indexType@ is
--- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT' or
+-- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR' or
 -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT16') and have
 -- @vertexOffset@ added to them, before being supplied as the @vertexIndex@
 -- value.
@@ -8101,8 +8148,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -8114,8 +8162,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -8129,8 +8177,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -8151,8 +8200,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -8164,8 +8214,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -8179,8 +8229,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -8194,15 +8245,16 @@
 --
 -- -   #VUID-vkCmdDrawIndexed-None-07849# If the bound graphics pipeline
 --     state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexed-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -8881,7 +8933,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -8894,7 +8946,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -8907,7 +8959,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -8920,7 +8972,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -9176,6 +9228,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawIndexed-None-09548# If the current render pass was
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawIndexed-None-09549# If the current render pass was
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawIndexed-commandBuffer-02712# If @commandBuffer@ is a
 --     protected command buffer and
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
@@ -9365,7 +9436,9 @@
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_MESH_BIT_EXT'
 --     stages
 --
--- -   #VUID-vkCmdDrawIndexed-None-07312# An index buffer /must/ be bound
+-- -   #VUID-vkCmdDrawIndexed-None-07312# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+--     is not enabled, a valid index buffer /must/ be bound
 --
 -- -   #VUID-vkCmdDrawIndexed-robustBufferAccess2-07825# If
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
@@ -11907,8 +11980,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -11920,8 +11994,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -11935,8 +12009,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -11957,8 +12032,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -11970,8 +12046,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -11985,8 +12061,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -12000,15 +12077,16 @@
 --
 -- -   #VUID-vkCmdDrawIndirect-None-07849# If the bound graphics pipeline
 --     state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirect-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -12687,7 +12765,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -12700,7 +12778,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -12713,7 +12791,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -12726,7 +12804,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -12982,6 +13060,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawIndirect-None-09548# If the current render pass was
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawIndirect-None-09549# If the current render pass was
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawIndirect-None-04007# All vertex input bindings
 --     accessed via vertex input variables declared in the vertex shader
 --     entry point’s interface /must/ have either valid or
@@ -15686,8 +15783,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -15699,8 +15797,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -15714,8 +15812,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -15736,8 +15835,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -15749,8 +15849,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -15764,8 +15864,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -15779,15 +15880,16 @@
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-07849# If the bound graphics
 --     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -16467,7 +16569,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -16480,7 +16582,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -16493,7 +16595,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -16506,7 +16608,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -16767,6 +16869,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-09548# If the current render
+--     pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-09549# If the current render
+--     pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawIndexedIndirect-None-04007# All vertex input bindings
 --     accessed via vertex input variables declared in the vertex shader
 --     entry point’s interface /must/ have either valid or
@@ -16957,8 +17078,9 @@
 --     be less than or equal to
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxDrawIndirectCount@
 --
--- -   #VUID-vkCmdDrawIndexedIndirect-None-07312# An index buffer /must/ be
---     bound
+-- -   #VUID-vkCmdDrawIndexedIndirect-None-07312# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+--     is not enabled, a valid index buffer /must/ be bound
 --
 -- -   #VUID-vkCmdDrawIndexedIndirect-robustBufferAccess2-07825# If
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
@@ -21174,6 +21296,13 @@
 --     instance this is recorded in uses multiview, then @baseArrayLayer@
 --     /must/ be zero and @layerCount@ /must/ be one
 --
+-- -   #VUID-vkCmdClearAttachments-colorAttachment-09503# The
+--     @colorAttachment@ member of each element of @pAttachments@ /must/
+--     not identify a color attachment that is currently mapped to
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' in @commandBuffer@
+--     via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'
+--
 -- -   #VUID-vkCmdClearAttachments-aspectMask-09298# If the subpass this is
 --     recorded in performs an external format resolve, the @aspectMask@
 --     member of any element of @pAttachments@ /must/ not include
@@ -22757,7 +22886,7 @@
 --
 -- -   #VUID-vkCmdPipelineBarrier-dependencyFlags-07891# If
 --     'cmdPipelineBarrier' is called within a render pass instance, and
---     and the source stage masks of any memory barriers include
+--     the source stage masks of any memory barriers include
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>,
 --     then @dependencyFlags@ /must/ include
 --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_BY_REGION_BIT'
@@ -22777,22 +22906,41 @@
 --     view in the current subpass, dependency flags /must/ include
 --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'
 --
--- -   #VUID-vkCmdPipelineBarrier-shaderTileImageColorReadAccess-08718# If
---     'cmdPipelineBarrier' is called within a render pass instance and
---     none of the
+-- -   #VUID-vkCmdPipelineBarrier-None-09553# If none of the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageColorReadAccess shaderTileImageColorReadAccess>,
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>,
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>
---     features are enabled, the render pass /must/ not have been started
---     with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>,
+--     or
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>
+--     features are enabled, and the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, 'cmdPipelineBarrier' /must/ not be called
+--     within a render pass instance started with
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
 --
--- -   #VUID-vkCmdPipelineBarrier-None-08719# If 'cmdPipelineBarrier' is
+-- -   #VUID-vkCmdPipelineBarrier-None-09554# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, and 'cmdPipelineBarrier' is called within a
+--     render pass instance started with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     there /must/ be no buffer or image memory barriers specified by this
+--     command
+--
+-- -   #VUID-vkCmdPipelineBarrier-image-09555# If 'cmdPipelineBarrier' is
 --     called within a render pass instance started with
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
---     it /must/ adhere to the restrictions in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-barriers-explicit-renderpass-tileimage Explicit Render Pass Tile Image Access Synchronization>
+--     and the @image@ member of any image memory barrier is used as an
+--     attachment in the current render pass instance, it /must/ be in the
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--     or 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' layout
 --
+-- -   #VUID-vkCmdPipelineBarrier-srcStageMask-09556# If
+--     'cmdPipelineBarrier' is called within a render pass instance started
+--     with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     this command /must/ only specify
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>
+--     in @srcStageMask@ and @dstStageMask@
+--
 -- -   #VUID-vkCmdPipelineBarrier-srcStageMask-06461# Any pipeline stage
 --     included in @srcStageMask@ /must/ be supported by the capabilities
 --     of the queue family specified by the @queueFamilyIndex@ member of
@@ -23089,6 +23237,10 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>
 --     queries
 --
+-- -   #VUID-vkCmdBeginQuery-None-08370# If there is a bound video session,
+--     then it /must/ not have been created with
+--     @VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR@
+--
 -- -   #VUID-vkCmdBeginQuery-queryType-07128# If the @queryType@ used to
 --     create @queryPool@ was @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and
 --     there is a bound video session, then @queryPool@ /must/ have been
@@ -23100,12 +23252,6 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
 --     the bound video session was created with
 --
--- -   #VUID-vkCmdBeginQuery-queryType-04862# If the @queryType@ used to
---     create @queryPool@ was @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@,
---     then the 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@
---     was allocated from /must/ support
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>
---
 -- -   #VUID-vkCmdBeginQuery-queryType-07129# If the @queryType@ used to
 --     create @queryPool@ was @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@,
 --     then there /must/ be a bound video session
@@ -23379,10 +23525,6 @@
 --     render pass instance, the corresponding 'cmdBeginQuery'* command
 --     /must/ have been called previously within the same subpass
 --
--- -   #VUID-vkCmdEndQuery-None-07008# If called outside of a render pass
---     instance, the corresponding 'cmdBeginQuery'* command /must/ have
---     been called outside of a render pass instance
---
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdEndQuery-commandBuffer-parameter# @commandBuffer@ /must/
@@ -23887,6 +24029,11 @@
 -- defines specific meaning for values returned here, though
 -- implementations are free to return other values.
 --
+-- If the status value written is negative, indicating that the operations
+-- within the query completed unsuccessfully, then all other results
+-- written by this command are undefined unless otherwise specified for any
+-- of the results of the used query type.
+--
 -- Results for any available query written by this command are final and
 -- represent the final result of the query. If
 -- 'Vulkan.Core10.Enums.QueryResultFlagBits.QUERY_RESULT_PARTIAL_BIT' is
@@ -24484,6 +24631,24 @@
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
 --     usage bit
 --
+-- -   #VUID-vkCmdBeginRenderPass-initialLayout-09537# If any of the
+--     @initialLayout@ or @finalLayout@ member of the
+--     'Vulkan.Core10.Pass.AttachmentDescription' structures or the
+--     @layout@ member of the 'Vulkan.Core10.Pass.AttachmentReference'
+--     structures specified when creating the render pass specified in the
+--     @renderPass@ member of @pRenderPassBegin@ is
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--     then the corresponding attachment image view of the framebuffer
+--     specified in the @framebuffer@ member of @pRenderPassBegin@ /must/
+--     have been created with a @usage@ value including either
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or
+--     both
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
+--     and either of
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdBeginRenderPass-commandBuffer-parameter# @commandBuffer@
@@ -25333,6 +25498,24 @@
 --     each element of @pCommandBuffers@ /must/ not have been recorded with
 --     'Vulkan.Core10.Enums.CommandBufferUsageFlagBits.COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT'
 --
+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-09504# If
+--     'cmdExecuteCommands' is being called within a render pass instance
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     the color attachment mapping state specified by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'
+--     in the inheritance info of each element of @pCommandBuffers@ and in
+--     the current state of @commandBuffer@ /must/ match
+--
+-- -   #VUID-vkCmdExecuteCommands-pCommandBuffers-09505# If
+--     'cmdExecuteCommands' is being called within a render pass instance
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     the input attachment mapping state specified by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--     in the inheritance info of each element of @pCommandBuffers@ and in
+--     the current state of @commandBuffer@ /must/ match
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdExecuteCommands-commandBuffer-parameter# @commandBuffer@
@@ -26418,7 +26601,10 @@
 --     'Vulkan.Extensions.VK_QCOM_multiview_per_view_render_areas.MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM'
 --     structure included in the @pNext@ chain is not @0@, then
 --     @renderArea@ /must/ specify a render area that includes the union of
---     all per view render areas. If the @pNext@ chain contains a
+--     all per view render areas.
+--
+-- -   #VUID-VkRenderPassBeginInfo-pNext-09539# If the @pNext@ chain
+--     contains a
 --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeBeginInfoARM'
 --     structure, the union of stripe areas defined by the elements of
 --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeInfoARM'::@pStripeInfos@
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
@@ -1525,6 +1525,15 @@
 --     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'
 --     to the corresponding immutable sampler
 --
+-- -   #VUID-VkWriteDescriptorSet-descriptorType-09506# If @descriptorType@
+--     is
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',
+--     @dstSet@ was allocated with a layout that included immutable
+--     samplers for @dstBinding@, and those samplers enable
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>,
+--     then @imageView@ /must/ not be
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--
 -- -   #VUID-VkWriteDescriptorSet-descriptorType-00327# If @descriptorType@
 --     is
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER'
@@ -1619,7 +1628,8 @@
 --     or
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',
 --     the @imageView@ member of each element of @pImageInfo@ /must/ have
---     been created with the identity swizzle
+--     been created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
 --
 -- -   #VUID-VkWriteDescriptorSet-descriptorType-00337# If @descriptorType@
 --     is
@@ -1742,6 +1752,7 @@
 -- 'Vulkan.Core10.Handles.BufferView', 'DescriptorBufferInfo',
 -- 'DescriptorImageInfo', 'Vulkan.Core10.Handles.DescriptorSet',
 -- 'Vulkan.Core10.Enums.DescriptorType.DescriptorType',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType',
 -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR',
 -- 'updateDescriptorSets'
@@ -2248,9 +2259,10 @@
 --     and @descriptorCount@ is equal to @1@, @pImmutableSamplers@ /must/
 --     not be @NULL@
 --
--- -   #VUID-VkDescriptorSetLayoutBinding-descriptorCount-00283# If
---     @descriptorCount@ is not @0@, @stageFlags@ /must/ be a valid
---     combination of
+-- -   #VUID-VkDescriptorSetLayoutBinding-descriptorCount-09465# If
+--     @descriptorCount@ is not @0@, @stageFlags@ /must/ be
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_ALL' or a
+--     valid combination of other
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values
 --
 -- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-01510# If
@@ -2270,6 +2282,20 @@
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_MUTABLE_EXT',
 --     then @pImmutableSamplers@ /must/ be @NULL@
 --
+-- -   #VUID-VkDescriptorSetLayoutBinding-flags-09466# If
+--     'DescriptorSetLayoutCreateInfo'::@flags@ contains
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',
+--     and @descriptorCount@ is not @0@, then @stageFlags@ /must/ be a
+--     valid combination of
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_CONTROL_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT',
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT'
+--     and
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT'
+--     values
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkDescriptorSetLayoutBinding-descriptorType-parameter#
@@ -2402,9 +2428,12 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-VkDescriptorSetLayoutCreateInfo-binding-00279# The
---     'DescriptorSetLayoutBinding'::@binding@ members of the elements of
---     the @pBindings@ array /must/ each have different values
+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-binding-00279# If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-perStageDescriptorSet perStageDescriptorSet>
+--     feature is not enabled, or @flags@ does not contain
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',
+--     then the 'DescriptorSetLayoutBinding'::@binding@ members of the
+--     elements of the @pBindings@ array /must/ each have different values
 --
 -- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-00280# If @flags@
 --     contains
@@ -2513,6 +2542,21 @@
 --     then @flags@ /must/ not contain
 --     'Vulkan.Extensions.VK_VALVE_mutable_descriptor_type.DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_VALVE'
 --
+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-09463# If @flags@
+--     contains
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',
+--     then
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-perStageDescriptorSet perStageDescriptorSet>
+--     /must/ be enabled
+--
+-- -   #VUID-VkDescriptorSetLayoutCreateInfo-flags-09464# If @flags@
+--     contains
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV',
+--     then there /must/ not be any two elements of the @pBindings@ array
+--     with the same 'DescriptorSetLayoutBinding'::@binding@ value and
+--     their 'DescriptorSetLayoutBinding'::@stageFlags@ containing the same
+--     bit
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkDescriptorSetLayoutCreateInfo-sType-sType# @sType@ /must/ be
@@ -2626,6 +2670,12 @@
 -- @descriptorCount@ value, as indicated by
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties'::@combinedImageSamplerDescriptorCount@.
 --
+-- For simplicity the application /can/ use the
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR'::@maxCombinedImageSamplerDescriptorCount@
+-- property, which is sized to accommodate any and all
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>
+-- supported by the implementation.
+--
 -- == Valid Usage
 --
 -- -   #VUID-VkDescriptorPoolSize-descriptorCount-00302# @descriptorCount@
@@ -2973,10 +3023,10 @@
 --     is included in the @pNext@ chain, and
 --     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo'::@descriptorSetCount@
 --     is not zero, then
---     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo'::pDescriptorCounts[i]
+--     'Vulkan.Core12.Promoted_From_VK_EXT_descriptor_indexing.DescriptorSetVariableDescriptorCountAllocateInfo'::@pDescriptorCounts@[i]
 --     /must/ be less than or equal to
---     'DescriptorSetLayoutBinding'::descriptorCount for the corresponding
---     binding used to create @pSetLayouts@[i]
+--     'DescriptorSetLayoutBinding'::@descriptorCount@ for the
+--     corresponding binding used to create @pSetLayouts@[i]
 --
 -- -   #VUID-VkDescriptorSetAllocateInfo-pSetLayouts-04610# If any element
 --     of @pSetLayouts@ was created with the
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
@@ -131,6 +131,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_device_diagnostics_config (PhysicalDeviceDiagnosticsConfigFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_displacement_micromap (PhysicalDeviceDisplacementMicromapFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (PhysicalDeviceDynamicRenderingFeatures)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments (PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state2 (PhysicalDeviceExtendedDynamicState2FeaturesEXT)
@@ -164,15 +165,16 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_sliced_view_of_3d (PhysicalDeviceImageSlicedViewOf3DFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_invocation_mask (PhysicalDeviceInvocationMaskFeaturesHUAWEI)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_legacy_dithering (PhysicalDeviceLegacyDitheringFeaturesEXT)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_linear_color_attachment (PhysicalDeviceLinearColorAttachmentFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5FeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_priority (PhysicalDeviceMemoryPriorityFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_mesh_shader (PhysicalDeviceMeshShaderFeaturesEXT)
@@ -188,6 +190,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_opacity_micromap (PhysicalDeviceOpacityMicromapFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (PhysicalDeviceOpticalFlowFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_pageable_device_local_memory (PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_NV_per_stage_descriptor_set (PhysicalDevicePerStageDescriptorSetFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_pipeline_executable_properties (PhysicalDevicePipelineExecutablePropertiesFeaturesKHR)
@@ -229,15 +232,20 @@
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectFeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types (PhysicalDeviceShaderSubgroupExtendedTypesFeatures)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation (PhysicalDeviceShaderTerminateInvocationFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT)
@@ -940,6 +948,7 @@
 --     'Vulkan.Extensions.VK_NV_device_diagnostics_config.PhysicalDeviceDiagnosticsConfigFeaturesNV',
 --     'Vulkan.Extensions.VK_NV_displacement_micromap.PhysicalDeviceDisplacementMicromapFeaturesNV',
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeatures',
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments.PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT',
 --     'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',
 --     'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT',
@@ -972,15 +981,16 @@
 --     'Vulkan.Extensions.VK_EXT_image_sliced_view_of_3d.PhysicalDeviceImageSlicedViewOf3DFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT',
 --     'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',
---     'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',
+--     'Vulkan.Extensions.VK_KHR_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesKHR',
 --     'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV',
 --     'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeatures',
 --     'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI',
 --     'Vulkan.Extensions.VK_EXT_legacy_dithering.PhysicalDeviceLegacyDitheringFeaturesEXT',
---     'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationFeaturesKHR',
 --     'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV',
 --     'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features',
 --     'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5FeaturesKHR',
+--     'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6FeaturesKHR',
 --     'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV',
 --     'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT',
@@ -996,6 +1006,7 @@
 --     'Vulkan.Extensions.VK_EXT_opacity_micromap.PhysicalDeviceOpacityMicromapFeaturesEXT',
 --     'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowFeaturesNV',
 --     'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
+--     'Vulkan.Extensions.VK_NV_per_stage_descriptor_set.PhysicalDevicePerStageDescriptorSetFeaturesNV',
 --     'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',
 --     'Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeatures',
 --     'Vulkan.Extensions.VK_KHR_pipeline_executable_properties.PhysicalDevicePipelineExecutablePropertiesFeaturesKHR',
@@ -1037,15 +1048,20 @@
 --     'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures',
 --     'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD',
 --     'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueueFeaturesAMDX',
+--     'Vulkan.Extensions.VK_KHR_shader_expect_assume.PhysicalDeviceShaderExpectAssumeFeaturesKHR',
 --     'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',
+--     'Vulkan.Extensions.VK_KHR_shader_float_controls2.PhysicalDeviceShaderFloatControls2FeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT',
 --     'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',
 --     'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeatures',
 --     'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',
+--     'Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence.PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierFeaturesEXT',
 --     'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectFeaturesEXT',
+--     'Vulkan.Extensions.VK_KHR_shader_quad_control.PhysicalDeviceShaderQuadControlFeaturesKHR',
 --     'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',
 --     'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',
+--     'Vulkan.Extensions.VK_KHR_shader_subgroup_rotate.PhysicalDeviceShaderSubgroupRotateFeaturesKHR',
 --     'Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR',
 --     'Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeatures',
 --     'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImageFeaturesEXT',
@@ -1064,6 +1080,7 @@
 --     'Vulkan.Core11.Promoted_From_VK_KHR_variable_pointers.PhysicalDeviceVariablePointersFeatures',
 --     'Vulkan.Extensions.VK_KHR_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesKHR',
 --     'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT',
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoMaintenance1FeaturesKHR VkPhysicalDeviceVideoMaintenance1FeaturesKHR>,
 --     'Vulkan.Core12.PhysicalDeviceVulkan11Features',
 --     'Vulkan.Core12.PhysicalDeviceVulkan12Features',
 --     'Vulkan.Core13.PhysicalDeviceVulkan13Features',
@@ -1154,12 +1171,19 @@
   getNext DeviceCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends DeviceCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderQuadControlFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderFloatControls2FeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderExpectAssumeFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderSubgroupRotateFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRenderPassStripedFeaturesARM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSchedulingControlsFeaturesARM = Just f
     | Just Refl <- eqT @e @DeviceQueueShaderCoreControlCreateInfoARM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCudaKernelLaunchFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExternalFormatResolveFeaturesANDROID = Just f
+    | Just Refl <- eqT @e @PhysicalDevicePerStageDescriptorSetFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceImageProcessing2FeaturesQCOM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCubicWeightsFeaturesQCOM = Just f
@@ -1253,7 +1277,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f
     | Just Refl <- eqT @e @PhysicalDeviceVulkan11Features = Just f
     | Just Refl <- eqT @e @PhysicalDevicePipelineCreationCacheControlFeatures = Just f
-    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSubgroupSizeControlFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceTexelBufferAlignmentFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderDemoteToHelperInvocationFeatures = Just f
@@ -1262,7 +1286,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceSeparateDepthStencilLayoutsFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderInterlockFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderSMBuiltinsFeaturesNV = Just f
-    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderClockFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCoverageReductionModeFeaturesNV = Just f
@@ -1316,6 +1340,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 @PhysicalDeviceMaintenance6FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance5FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance4Features = Just f
     | Just Refl <- eqT @e @PhysicalDeviceInlineUniformBlockFeatures = 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
@@ -4655,7 +4655,7 @@
   , -- | #limits-maxCombinedClipAndCullDistances#
     -- @maxCombinedClipAndCullDistances@ is the maximum combined number of clip
     -- and cull distances that /can/ be used in a single shader stage. The sum
-    -- of the sizes of any pair of arrays declared with the @ClipDistance@ and
+    -- of the sizes of all arrays declared with the @ClipDistance@ and
     -- @CullDistance@ built-in decoration used by a single shader stage in a
     -- shader module /must/ be less than or equal to this limit.
     maxCombinedClipAndCullDistances :: Word32
diff --git a/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs b/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
--- a/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
+++ b/src/Vulkan/Core10/Enums/AttachmentLoadOp.hs
@@ -3,7 +3,7 @@
 module Vulkan.Core10.Enums.AttachmentLoadOp  (AttachmentLoadOp( ATTACHMENT_LOAD_OP_LOAD
                                                               , ATTACHMENT_LOAD_OP_CLEAR
                                                               , ATTACHMENT_LOAD_OP_DONT_CARE
-                                                              , ATTACHMENT_LOAD_OP_NONE_EXT
+                                                              , ATTACHMENT_LOAD_OP_NONE_KHR
                                                               , ..
                                                               )) where
 
@@ -54,16 +54,16 @@
 -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_COLOR_ATTACHMENT_WRITE_BIT'.
 pattern ATTACHMENT_LOAD_OP_DONT_CARE = AttachmentLoadOp 2
 
--- | 'ATTACHMENT_LOAD_OP_NONE_EXT' specifies that the previous contents of
+-- | 'ATTACHMENT_LOAD_OP_NONE_KHR' specifies that the previous contents of
 -- the image will be undefined inside the render pass. No access type is
 -- used as the image is not accessed.
-pattern ATTACHMENT_LOAD_OP_NONE_EXT = AttachmentLoadOp 1000400000
+pattern ATTACHMENT_LOAD_OP_NONE_KHR = AttachmentLoadOp 1000400000
 
 {-# COMPLETE
   ATTACHMENT_LOAD_OP_LOAD
   , ATTACHMENT_LOAD_OP_CLEAR
   , ATTACHMENT_LOAD_OP_DONT_CARE
-  , ATTACHMENT_LOAD_OP_NONE_EXT ::
+  , ATTACHMENT_LOAD_OP_NONE_KHR ::
     AttachmentLoadOp
   #-}
 
@@ -78,7 +78,7 @@
   [ (ATTACHMENT_LOAD_OP_LOAD, "LOAD")
   , (ATTACHMENT_LOAD_OP_CLEAR, "CLEAR")
   , (ATTACHMENT_LOAD_OP_DONT_CARE, "DONT_CARE")
-  , (ATTACHMENT_LOAD_OP_NONE_EXT, "NONE_EXT")
+  , (ATTACHMENT_LOAD_OP_NONE_KHR, "NONE_KHR")
   ]
 
 instance Show AttachmentLoadOp where
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
@@ -1,7 +1,8 @@
 {-# language CPP #-}
 -- No documentation found for Chapter "DescriptorSetLayoutCreateFlagBits"
 module Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits  ( DescriptorSetLayoutCreateFlags
-                                                              , DescriptorSetLayoutCreateFlagBits( DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT
+                                                              , DescriptorSetLayoutCreateFlagBits( DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV
+                                                                                                 , DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT
                                                                                                  , DESCRIPTOR_SET_LAYOUT_CREATE_INDIRECT_BINDABLE_BIT_NV
                                                                                                  , DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT
                                                                                                  , DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
@@ -34,6 +35,11 @@
 newtype DescriptorSetLayoutCreateFlagBits = DescriptorSetLayoutCreateFlagBits Flags
   deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)
 
+-- | 'DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV' specifies that binding
+-- numbers in descriptor sets using this layout /may/ represent different
+-- resources and\/or types of resources in each stage.
+pattern DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV = DescriptorSetLayoutCreateFlagBits 0x00000040
+
 -- | 'DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT' specifies that
 -- descriptor sets using this layout /must/ be allocated from a descriptor
 -- pool created with the
@@ -93,6 +99,10 @@
 showTableDescriptorSetLayoutCreateFlagBits :: [(DescriptorSetLayoutCreateFlagBits, String)]
 showTableDescriptorSetLayoutCreateFlagBits =
   [
+    ( DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV
+    , "PER_STAGE_BIT_NV"
+    )
+  ,
     ( DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT
     , "HOST_ONLY_POOL_BIT_EXT"
     )
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
@@ -9,6 +9,7 @@
                                                       , DYNAMIC_STATE_STENCIL_COMPARE_MASK
                                                       , DYNAMIC_STATE_STENCIL_WRITE_MASK
                                                       , DYNAMIC_STATE_STENCIL_REFERENCE
+                                                      , DYNAMIC_STATE_LINE_STIPPLE_KHR
                                                       , DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT
                                                       , DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV
                                                       , DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV
@@ -30,6 +31,7 @@
                                                       , DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT
                                                       , DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT
                                                       , DYNAMIC_STATE_RASTERIZATION_STREAM_EXT
+                                                      , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
                                                       , DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
                                                       , DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT
                                                       , DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
@@ -40,12 +42,10 @@
                                                       , DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
                                                       , DYNAMIC_STATE_POLYGON_MODE_EXT
                                                       , DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT
-                                                      , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
                                                       , DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
                                                       , DYNAMIC_STATE_LOGIC_OP_EXT
                                                       , DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
                                                       , DYNAMIC_STATE_VERTEX_INPUT_EXT
-                                                      , DYNAMIC_STATE_LINE_STIPPLE_EXT
                                                       , DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
                                                       , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV
                                                       , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV
@@ -126,7 +126,7 @@
 -- the @depthBiasConstantFactor@, @depthBiasClamp@ and
 -- @depthBiasSlopeFactor@ states in
 -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo' will be
--- ignored and /must/ be set dynamically with either
+-- ignored and /must/ be set dynamically with
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetDepthBias' or
 -- 'Vulkan.Extensions.VK_EXT_depth_bias_control.cmdSetDepthBias2EXT' before
 -- any draws are performed with
@@ -181,6 +181,9 @@
 -- @stencilTestEnable@ set to 'Vulkan.Core10.FundamentalTypes.TRUE'
 pattern DYNAMIC_STATE_STENCIL_REFERENCE = DynamicState 8
 
+-- No documentation found for Nested "VkDynamicState" "VK_DYNAMIC_STATE_LINE_STIPPLE_KHR"
+pattern DYNAMIC_STATE_LINE_STIPPLE_KHR = DynamicState 1000259000
+
 -- | 'DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT' specifies that the
 -- 'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
 -- and
@@ -280,7 +283,7 @@
 
 -- | 'DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT' specifies that the
 -- @stippledLineEnable@ state in
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'
 -- will be ignored and /must/ be set dynamically with
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'
 -- before any draw call.
@@ -288,7 +291,7 @@
 
 -- | 'DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT' specifies that the
 -- @lineRasterizationMode@ state in
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'
 -- will be ignored and /must/ be set dynamically with
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'
 -- before any draw call.
@@ -352,6 +355,14 @@
 -- before any draw call.
 pattern DYNAMIC_STATE_RASTERIZATION_STREAM_EXT = DynamicState 1000455013
 
+-- | 'DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT' specifies that the
+-- @domainOrigin@ state in
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo'
+-- will be ignored and /must/ be set dynamically with
+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetTessellationDomainOriginEXT'
+-- before any draw call.
+pattern DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = DynamicState 1000455002
+
 -- | 'DYNAMIC_STATE_COLOR_WRITE_MASK_EXT' specifies that the @colorWriteMask@
 -- state in 'Vulkan.Core10.Pipeline.PipelineColorBlendAttachmentState' will
 -- be ignored and /must/ be set dynamically with
@@ -428,14 +439,6 @@
 -- before any draw call.
 pattern DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT = DynamicState 1000455003
 
--- | 'DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT' specifies that the
--- @domainOrigin@ state in
--- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance2.PipelineTessellationDomainOriginStateCreateInfo'
--- will be ignored and /must/ be set dynamically with
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetTessellationDomainOriginEXT'
--- before any draw call.
-pattern DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT = DynamicState 1000455002
-
 -- | 'DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT' specifies that the
 -- @pColorWriteEnables@ state in
 -- 'Vulkan.Extensions.VK_EXT_color_write_enable.PipelineColorWriteCreateInfoEXT'
@@ -465,17 +468,6 @@
 -- before any drawing commands
 pattern DYNAMIC_STATE_VERTEX_INPUT_EXT = DynamicState 1000352000
 
--- | 'DYNAMIC_STATE_LINE_STIPPLE_EXT' specifies that the @lineStippleFactor@
--- and @lineStipplePattern@ state in
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'
--- will be ignored and /must/ be set dynamically with
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
--- before any draws are performed with a pipeline state with
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'
--- member @stippledLineEnable@ set to
--- 'Vulkan.Core10.FundamentalTypes.TRUE'.
-pattern DYNAMIC_STATE_LINE_STIPPLE_EXT = DynamicState 1000259000
-
 -- | 'DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR' specifies that state in
 -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.PipelineFragmentShadingRateStateCreateInfoKHR'
 -- and
@@ -495,8 +487,8 @@
 -- before any drawing commands.
 pattern DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV = DynamicState 1000205001
 
--- | 'DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV' specifies that the the
--- exclusive scissors /must/ be explicitly enabled with
+-- | 'DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV' specifies that the exclusive
+-- scissors /must/ be explicitly enabled with
 -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.cmdSetExclusiveScissorEnableNV'
 -- and the @exclusiveScissorCount@ value in
 -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PipelineViewportExclusiveScissorStateCreateInfoNV'
@@ -707,6 +699,7 @@
   , DYNAMIC_STATE_STENCIL_COMPARE_MASK
   , DYNAMIC_STATE_STENCIL_WRITE_MASK
   , DYNAMIC_STATE_STENCIL_REFERENCE
+  , DYNAMIC_STATE_LINE_STIPPLE_KHR
   , DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT
   , DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV
   , DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV
@@ -728,6 +721,7 @@
   , DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT
   , DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT
   , DYNAMIC_STATE_RASTERIZATION_STREAM_EXT
+  , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
   , DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
   , DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT
   , DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
@@ -738,12 +732,10 @@
   , DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
   , DYNAMIC_STATE_POLYGON_MODE_EXT
   , DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT
-  , DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
   , DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
   , DYNAMIC_STATE_LOGIC_OP_EXT
   , DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
   , DYNAMIC_STATE_VERTEX_INPUT_EXT
-  , DYNAMIC_STATE_LINE_STIPPLE_EXT
   , DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
   , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV
   , DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV
@@ -796,6 +788,7 @@
     , "STENCIL_WRITE_MASK"
     )
   , (DYNAMIC_STATE_STENCIL_REFERENCE, "STENCIL_REFERENCE")
+  , (DYNAMIC_STATE_LINE_STIPPLE_KHR, "LINE_STIPPLE_KHR")
   ,
     ( DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT
     , "ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT"
@@ -881,6 +874,10 @@
     , "RASTERIZATION_STREAM_EXT"
     )
   ,
+    ( DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
+    , "TESSELLATION_DOMAIN_ORIGIN_EXT"
+    )
+  ,
     ( DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
     , "COLOR_WRITE_MASK_EXT"
     )
@@ -915,10 +912,6 @@
     , "DEPTH_CLAMP_ENABLE_EXT"
     )
   ,
-    ( DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
-    , "TESSELLATION_DOMAIN_ORIGIN_EXT"
-    )
-  ,
     ( DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
     , "COLOR_WRITE_ENABLE_EXT"
     )
@@ -928,7 +921,6 @@
     , "PATCH_CONTROL_POINTS_EXT"
     )
   , (DYNAMIC_STATE_VERTEX_INPUT_EXT, "VERTEX_INPUT_EXT")
-  , (DYNAMIC_STATE_LINE_STIPPLE_EXT, "LINE_STIPPLE_EXT")
   ,
     ( DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
     , "FRAGMENT_SHADING_RATE_KHR"
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
@@ -10,6 +10,7 @@
                                                     , IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
                                                     , IMAGE_LAYOUT_PREINITIALIZED
                                                     , IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
+                                                    , IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR
                                                     , IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
                                                     , IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT
                                                     , IMAGE_LAYOUT_SHARED_PRESENT_KHR
@@ -185,6 +186,19 @@
 -- usage bits enabled.
 pattern IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT = ImageLayout 1000339000
 
+-- | 'IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR' /must/ only be used as either a
+-- storage image, or a color or depth\/stencil attachment and an input
+-- attachment. This layout is valid only for image subresources of images
+-- created with either
+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or
+-- both
+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
+-- and either of
+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'
+-- or
+-- 'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'.
+pattern IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR = ImageLayout 1000232000
+
 -- | 'IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR' /must/ only
 -- be used as a
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-fragment-shading-rate-attachment fragment shading rate attachment>
@@ -272,6 +286,7 @@
   , IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL
   , IMAGE_LAYOUT_PREINITIALIZED
   , IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
+  , IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR
   , IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
   , IMAGE_LAYOUT_FRAGMENT_DENSITY_MAP_OPTIMAL_EXT
   , IMAGE_LAYOUT_SHARED_PRESENT_KHR
@@ -325,6 +340,10 @@
   ,
     ( IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT
     , "ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT"
+    )
+  ,
+    ( IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR
+    , "RENDERING_LOCAL_READ_KHR"
     )
   ,
     ( IMAGE_LAYOUT_FRAGMENT_SHADING_RATE_ATTACHMENT_OPTIMAL_KHR
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
@@ -2,7 +2,7 @@
 -- No documentation found for Chapter "IndexType"
 module Vulkan.Core10.Enums.IndexType  (IndexType( INDEX_TYPE_UINT16
                                                 , INDEX_TYPE_UINT32
-                                                , INDEX_TYPE_UINT8_EXT
+                                                , INDEX_TYPE_UINT8_KHR
                                                 , INDEX_TYPE_NONE_KHR
                                                 , ..
                                                 )) where
@@ -40,9 +40,9 @@
 -- values.
 pattern INDEX_TYPE_UINT32 = IndexType 1
 
--- | 'INDEX_TYPE_UINT8_EXT' specifies that indices are 8-bit unsigned integer
+-- | 'INDEX_TYPE_UINT8_KHR' specifies that indices are 8-bit unsigned integer
 -- values.
-pattern INDEX_TYPE_UINT8_EXT = IndexType 1000265000
+pattern INDEX_TYPE_UINT8_KHR = IndexType 1000265000
 
 -- | 'INDEX_TYPE_NONE_KHR' specifies that no indices are provided.
 pattern INDEX_TYPE_NONE_KHR = IndexType 1000165000
@@ -50,7 +50,7 @@
 {-# COMPLETE
   INDEX_TYPE_UINT16
   , INDEX_TYPE_UINT32
-  , INDEX_TYPE_UINT8_EXT
+  , INDEX_TYPE_UINT8_KHR
   , INDEX_TYPE_NONE_KHR ::
     IndexType
   #-}
@@ -65,7 +65,7 @@
 showTableIndexType =
   [ (INDEX_TYPE_UINT16, "UINT16")
   , (INDEX_TYPE_UINT32, "UINT32")
-  , (INDEX_TYPE_UINT8_EXT, "UINT8_EXT")
+  , (INDEX_TYPE_UINT8_KHR, "UINT8_KHR")
   , (INDEX_TYPE_NONE_KHR, "NONE_KHR")
   ]
 
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
@@ -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.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.PresentInfoKHR'
 newtype Result = Result Int32
   deriving newtype (Eq, Ord, Storable, Zero)
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
@@ -50,13 +50,28 @@
                                                         , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
                                                         , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV
+                                                        , STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT
+                                                        , STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT
+                                                        , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR
+                                                        , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR
+                                                        , STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR
+                                                        , STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR
+                                                        , STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR
                                                         , STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR
+                                                        , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX
                                                         , STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX
                                                         , STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX
                                                         , STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX
                                                         , STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR
@@ -70,6 +85,7 @@
                                                         , STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV
                                                         , STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR
@@ -146,6 +162,7 @@
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
                                                         , STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV
                                                         , STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV
@@ -172,6 +189,7 @@
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM
                                                         , STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
                                                         , STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
@@ -364,11 +382,7 @@
                                                         , STRUCTURE_TYPE_PIPELINE_INFO_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
-                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
-                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
-                                                        , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
-                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
                                                         , STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT
                                                         , STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT
                                                         , STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT
@@ -393,7 +407,11 @@
                                                         , STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
+                                                        , STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR
+                                                        , STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR
+                                                        , STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
                                                         , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR
@@ -856,10 +874,13 @@
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.BindAccelerationStructureMemoryInfoNV',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorBufferEmbeddedSamplersInfoEXT',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorSetsInfoKHR',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',
 -- 'Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.BindSparseInfo',
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkBindVideoSessionMemoryInfoKHR VkBindVideoSessionMemoryInfoKHR>,
 -- 'Vulkan.Extensions.VK_QCOM_filter_cubic_weights.BlitImageCubicWeightsInfoQCOM',
@@ -1217,6 +1238,7 @@
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_driver_properties.PhysicalDeviceDriverProperties',
 -- 'Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeatures',
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments.PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT',
@@ -1274,21 +1296,23 @@
 -- 'Vulkan.Extensions.VK_EXT_filter_cubic.PhysicalDeviceImageViewImageFormatInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',
--- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',
+-- 'Vulkan.Extensions.VK_KHR_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV',
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeatures',
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockProperties',
 -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI',
 -- 'Vulkan.Extensions.VK_MSFT_layered_driver.PhysicalDeviceLayeredDriverPropertiesMSFT',
 -- 'Vulkan.Extensions.VK_EXT_legacy_dithering.PhysicalDeviceLegacyDitheringFeaturesEXT',
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT',
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationFeaturesKHR',
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationPropertiesKHR',
 -- 'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties',
 -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5FeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5PropertiesKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6FeaturesKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_memory_budget.PhysicalDeviceMemoryBudgetPropertiesEXT',
 -- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV',
 -- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV',
@@ -1316,6 +1340,7 @@
 -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowPropertiesNV',
 -- 'Vulkan.Extensions.VK_EXT_pci_bus_info.PhysicalDevicePCIBusInfoPropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
+-- 'Vulkan.Extensions.VK_NV_per_stage_descriptor_set.PhysicalDevicePerStageDescriptorSetFeaturesNV',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR',
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeatures',
@@ -1378,19 +1403,24 @@
 -- 'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD',
 -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueueFeaturesAMDX',
 -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueuePropertiesAMDX',
+-- 'Vulkan.Extensions.VK_KHR_shader_expect_assume.PhysicalDeviceShaderExpectAssumeFeaturesKHR',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',
+-- 'Vulkan.Extensions.VK_KHR_shader_float_controls2.PhysicalDeviceShaderFloatControls2FeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeatures',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductProperties',
 -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',
+-- 'Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence.PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierPropertiesEXT',
 -- 'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectPropertiesEXT',
+-- 'Vulkan.Extensions.VK_KHR_shader_quad_control.PhysicalDeviceShaderQuadControlFeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',
 -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsPropertiesNV',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',
+-- 'Vulkan.Extensions.VK_KHR_shader_subgroup_rotate.PhysicalDeviceShaderSubgroupRotateFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeatures',
 -- 'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImageFeaturesEXT',
@@ -1424,6 +1454,7 @@
 -- 'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT',
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoFormatInfoKHR VkPhysicalDeviceVideoFormatInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoMaintenance1FeaturesKHR VkPhysicalDeviceVideoMaintenance1FeaturesKHR>,
 -- 'Vulkan.Core12.PhysicalDeviceVulkan11Features',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan12Features',
@@ -1464,7 +1495,7 @@
 -- 'Vulkan.Extensions.VK_EXT_pipeline_properties.PipelinePropertiesIdentifierEXT',
 -- 'Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT',
 -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo',
 -- 'Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD',
@@ -1495,6 +1526,9 @@
 -- 'Vulkan.Extensions.VK_GOOGLE_display_timing.PresentTimesInfoGOOGLE',
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_private_data.PrivateDataSlotCreateInfo',
 -- 'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushConstantsInfoKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetWithTemplateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_low_latency.QueryLowLatencySupportNV',
 -- 'Vulkan.Core10.Query.QueryPoolCreateInfo',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR',
@@ -1529,9 +1563,11 @@
 -- 'Vulkan.Extensions.VK_QCOM_render_pass_transform.RenderPassTransformBeginInfoQCOM',
 -- 'Vulkan.Extensions.VK_KHR_maintenance5.RenderingAreaInfoKHR',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingAttachmentInfo',
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT',
 -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo',
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2.ResolveImageInfo2',
 -- 'Vulkan.Extensions.VK_EXT_sample_locations.SampleLocationsInfoEXT',
 -- 'Vulkan.Extensions.VK_QCOM_image_processing2.SamplerBlockMatchWindowCreateInfoQCOM',
@@ -1556,6 +1592,7 @@
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.SemaphoreSubmitInfo',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreTypeCreateInfo',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.SemaphoreWaitInfo',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT',
 -- 'Vulkan.Extensions.VK_NV_low_latency2.SetLatencyMarkerInfoNV',
 -- 'Vulkan.Extensions.VK_EXT_shader_object.ShaderCreateInfoEXT',
 -- 'Vulkan.Core10.Shader.ShaderModuleCreateInfo',
@@ -1610,6 +1647,11 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoBeginCodingInfoKHR VkVideoBeginCodingInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCodingControlInfoKHR VkVideoCodingControlInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1CapabilitiesKHR VkVideoDecodeAV1CapabilitiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1DpbSlotInfoKHR VkVideoDecodeAV1DpbSlotInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1PictureInfoKHR VkVideoDecodeAV1PictureInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1ProfileInfoKHR VkVideoDecodeAV1ProfileInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1SessionParametersCreateInfoKHR VkVideoDecodeAV1SessionParametersCreateInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeCapabilitiesKHR VkVideoDecodeCapabilitiesKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264CapabilitiesKHR VkVideoDecodeH264CapabilitiesKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264DpbSlotInfoKHR VkVideoDecodeH264DpbSlotInfoKHR>,
@@ -1626,34 +1668,34 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeInfoKHR VkVideoDecodeInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR>,
--- <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#VkVideoEncodeH264DpbSlotInfoEXT VkVideoEncodeH264DpbSlotInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoEXT VkVideoEncodeH264GopRemainingFrameInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264NaluSliceInfoEXT VkVideoEncodeH264NaluSliceInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoEXT VkVideoEncodeH264PictureInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoEXT VkVideoEncodeH264ProfileInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesEXT VkVideoEncodeH264QualityLevelPropertiesEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlInfoEXT VkVideoEncodeH264RateControlInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoEXT VkVideoEncodeH264RateControlLayerInfoEXT>,
--- <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#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#VkVideoEncodeH264SessionParametersFeedbackInfoEXT VkVideoEncodeH264SessionParametersFeedbackInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoEXT VkVideoEncodeH264SessionParametersGetInfoEXT>,
--- <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#VkVideoEncodeH265GopRemainingFrameInfoEXT VkVideoEncodeH265GopRemainingFrameInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceSegmentInfoEXT VkVideoEncodeH265NaluSliceSegmentInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265PictureInfoEXT VkVideoEncodeH265PictureInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoEXT VkVideoEncodeH265ProfileInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265QualityLevelPropertiesEXT VkVideoEncodeH265QualityLevelPropertiesEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlInfoEXT VkVideoEncodeH265RateControlInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT>,
--- <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#VkVideoEncodeH265SessionParametersFeedbackInfoEXT VkVideoEncodeH265SessionParametersFeedbackInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoEXT VkVideoEncodeH265SessionParametersGetInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesKHR VkVideoEncodeH264CapabilitiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264DpbSlotInfoKHR VkVideoEncodeH264DpbSlotInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoKHR VkVideoEncodeH264GopRemainingFrameInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264NaluSliceInfoKHR VkVideoEncodeH264NaluSliceInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoKHR VkVideoEncodeH264PictureInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoKHR VkVideoEncodeH264ProfileInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesKHR VkVideoEncodeH264QualityLevelPropertiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlInfoKHR VkVideoEncodeH264RateControlInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoKHR VkVideoEncodeH264RateControlLayerInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoKHR VkVideoEncodeH264SessionCreateInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersAddInfoKHR VkVideoEncodeH264SessionParametersAddInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersCreateInfoKHR VkVideoEncodeH264SessionParametersCreateInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersFeedbackInfoKHR VkVideoEncodeH264SessionParametersFeedbackInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoKHR VkVideoEncodeH264SessionParametersGetInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesKHR VkVideoEncodeH265CapabilitiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265DpbSlotInfoKHR VkVideoEncodeH265DpbSlotInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265GopRemainingFrameInfoKHR VkVideoEncodeH265GopRemainingFrameInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265NaluSliceSegmentInfoKHR VkVideoEncodeH265NaluSliceSegmentInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265PictureInfoKHR VkVideoEncodeH265PictureInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoKHR VkVideoEncodeH265ProfileInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265QualityLevelPropertiesKHR VkVideoEncodeH265QualityLevelPropertiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlInfoKHR VkVideoEncodeH265RateControlInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoKHR VkVideoEncodeH265RateControlLayerInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoKHR VkVideoEncodeH265SessionCreateInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersAddInfoKHR VkVideoEncodeH265SessionParametersAddInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersCreateInfoKHR VkVideoEncodeH265SessionParametersCreateInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersFeedbackInfoKHR VkVideoEncodeH265SessionParametersFeedbackInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoKHR VkVideoEncodeH265SessionParametersGetInfoKHR>,
 -- <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#VkVideoEncodeQualityLevelInfoKHR VkVideoEncodeQualityLevelInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeQualityLevelPropertiesKHR VkVideoEncodeQualityLevelPropertiesKHR>,
@@ -1664,6 +1706,7 @@
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeUsageInfoKHR VkVideoEncodeUsageInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEndCodingInfoKHR VkVideoEndCodingInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoFormatPropertiesKHR VkVideoFormatPropertiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoInlineQueryInfoKHR VkVideoInlineQueryInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>,
@@ -1835,9 +1878,51 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV = StructureType 1000546000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT"
+pattern STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT = StructureType 1000545008
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT"
+pattern STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT = StructureType 1000545007
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR"
+pattern STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR = StructureType 1000545006
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR"
+pattern STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR = StructureType 1000545005
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR"
+pattern STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR = StructureType 1000545004
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR"
+pattern STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR = StructureType 1000545003
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR"
+pattern STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR = StructureType 1000545002
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR = StructureType 1000545001
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR = StructureType 1000545000
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR = StructureType 1000544000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR"
 pattern STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR = StructureType 1000184000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR = StructureType 1000259002
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR"
+pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR = StructureType 1000259001
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR = StructureType 1000259000
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR = StructureType 1000265000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT = StructureType 1000530000
 
@@ -1856,6 +1941,9 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX"
 pattern STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX = StructureType 1000529000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR = StructureType 1000528000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR = StructureType 1000190002
 
@@ -1895,6 +1983,9 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM = StructureType 1000518000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV = StructureType 1000516000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM"
 pattern STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM = StructureType 1000510001
 
@@ -2123,6 +2214,9 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT = StructureType 1000437000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR = StructureType 1000434000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV = StructureType 1000430000
 
@@ -2201,6 +2295,9 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM"
 pattern STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM = StructureType 1000417000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR = StructureType 1000416000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM = StructureType 1000415000
 
@@ -2777,21 +2874,9 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT = StructureType 1000267000
 
--- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"
-pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = StructureType 1000265000
-
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT = StructureType 1000260000
 
--- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"
-pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = StructureType 1000259002
-
--- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"
-pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = StructureType 1000259001
-
--- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"
-pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = StructureType 1000259000
-
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT"
 pattern STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT = StructureType 1000256000
 
@@ -2864,9 +2949,21 @@
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT = StructureType 1000237000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR = StructureType 1000235000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT = StructureType 1000234000
 
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR"
+pattern STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR = StructureType 1000232002
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR"
+pattern STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR = StructureType 1000232001
+
+-- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR = StructureType 1000232000
+
 -- No documentation found for Nested "VkStructureType" "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD"
 pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD = StructureType 1000229000
 
@@ -4142,13 +4239,28 @@
   , STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO
   , STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV
+  , STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT
+  , STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT
+  , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR
+  , STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR
+  , STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR
+  , STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR
+  , STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR
   , STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR
+  , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX
   , STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX
   , STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX
   , STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX
   , STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR
   , STRUCTURE_TYPE_PIPELINE_VERTEX_INPUT_DIVISOR_STATE_CREATE_INFO_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR
@@ -4162,6 +4274,7 @@
   , STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV
   , STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_KHR
@@ -4238,6 +4351,7 @@
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
   , STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV
   , STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV
@@ -4264,6 +4378,7 @@
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM
   , STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_PAGEABLE_DEVICE_LOCAL_MEMORY_FEATURES_EXT
   , STRUCTURE_TYPE_SAMPLER_BORDER_COLOR_COMPONENT_MAPPING_CREATE_INFO_EXT
@@ -4456,11 +4571,7 @@
   , STRUCTURE_TYPE_PIPELINE_INFO_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_PIPELINE_EXECUTABLE_PROPERTIES_FEATURES_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT
-  , STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
-  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
-  , STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
-  , STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
   , STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT
   , STRUCTURE_TYPE_SURFACE_FULL_SCREEN_EXCLUSIVE_WIN32_INFO_EXT
   , STRUCTURE_TYPE_SURFACE_CAPABILITIES_FULL_SCREEN_EXCLUSIVE_EXT
@@ -4485,7 +4596,11 @@
   , STRUCTURE_TYPE_MEMORY_PRIORITY_ALLOCATE_INFO_EXT
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_PRIORITY_FEATURES_EXT
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
+  , STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR
+  , STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR
+  , STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
   , STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_KHR
@@ -5094,10 +5209,66 @@
     , "PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV"
     )
   ,
+    ( STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT
+    , "BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT"
+    )
+  ,
+    ( STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT
+    , "SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT"
+    )
+  ,
+    ( STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR
+    , "PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR
+    , "PUSH_DESCRIPTOR_SET_INFO_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR
+    , "PUSH_CONSTANTS_INFO_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR
+    , "BIND_DESCRIPTOR_SETS_INFO_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR
+    , "BIND_MEMORY_STATUS_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR
+    , "PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR
+    , "PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR
+    , "PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR"
+    )
+  ,
     ( STRUCTURE_TYPE_CALIBRATED_TIMESTAMP_INFO_KHR
     , "CALIBRATED_TIMESTAMP_INFO_KHR"
     )
   ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR
+    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR
+    , "PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR
+    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR
+    , "PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR"
+    )
+  ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT
     , "PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT"
     )
@@ -5122,6 +5293,10 @@
     , "SCREEN_BUFFER_PROPERTIES_QNX"
     )
   ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR
+    , "PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR"
+    )
+  ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR
     , "PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_FEATURES_KHR"
     )
@@ -5174,6 +5349,10 @@
     , "PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM"
     )
   ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV
+    , "PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV"
+    )
+  ,
     ( STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM
     , "MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM"
     )
@@ -5478,6 +5657,10 @@
     , "PHYSICAL_DEVICE_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_FEATURES_EXT"
     )
   ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR
+    , "PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR"
+    )
+  ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
     , "PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV"
     )
@@ -5582,6 +5765,10 @@
     , "DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM"
     )
   ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR
+    , "PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR"
+    )
+  ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM
     , "PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM"
     )
@@ -6347,26 +6534,10 @@
     , "PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_FEATURES_EXT"
     )
   ,
-    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
-    , "PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"
-    )
-  ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT
     , "PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT_FEATURES_EXT"
     )
   ,
-    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
-    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"
-    )
-  ,
-    ( STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
-    , "PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"
-    )
-  ,
-    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
-    , "PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"
-    )
-  ,
     ( STRUCTURE_TYPE_HEADLESS_SURFACE_CREATE_INFO_EXT
     , "HEADLESS_SURFACE_CREATE_INFO_EXT"
     )
@@ -6463,8 +6634,24 @@
     , "PHYSICAL_DEVICE_MEMORY_BUDGET_PROPERTIES_EXT"
     )
   ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR
+    , "PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR"
+    )
+  ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT
     , "PHYSICAL_DEVICE_SHADER_IMAGE_ATOMIC_INT64_FEATURES_EXT"
+    )
+  ,
+    ( STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR
+    , "RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR
+    , "RENDERING_ATTACHMENT_LOCATION_INFO_KHR"
+    )
+  ,
+    ( STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR
+    , "PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR"
     )
   ,
     ( STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
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
@@ -376,6 +376,10 @@
 --     with
 --     'Vulkan.Core10.Enums.EventCreateFlagBits.EVENT_CREATE_DEVICE_ONLY_BIT'
 --
+-- -   #VUID-vkSetEvent-event-09543# @event@ /must/ not be waited on by a
+--     command buffer in the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#commandbuffers-lifecycle pending state>
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkSetEvent-device-parameter# @device@ /must/ be a valid
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
@@ -195,6 +195,38 @@
 -- profile /must/ advertise the @VK_KHR_global_priority@ extension in
 -- @pProperties@.
 --
+-- Implementations claiming support for the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#roadmap-2024 Roadmap 2024>
+-- profile /must/ advertise the following extensions in @pProperties@:
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_load_store_op_none VK_KHR_load_store_op_none>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_quad_control VK_KHR_shader_quad_control>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>
+--
+-- -   <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>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls2 VK_KHR_shader_float_controls2>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_expect_assume VK_KHR_shader_expect_assume>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_vertex_attribute_divisor VK_KHR_vertex_attribute_divisor>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_index_type_uint8 VK_KHR_index_type_uint8>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_map_memory2 VK_KHR_map_memory2>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance5 VK_KHR_maintenance5>
+--
+-- -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>
+--
 -- Note
 --
 -- Due to platform details on Android, 'enumerateDeviceExtensionProperties'
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
@@ -212,7 +212,7 @@
 -- 'Vulkan.Extensions.VK_QCOM_tile_properties.TilePropertiesQCOM',
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoCapabilitiesKHR VkVideoCapabilitiesKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeCapabilitiesKHR VkVideoEncodeCapabilitiesKHR>,
--- <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#VkVideoEncodeH265CapabilitiesKHR VkVideoEncodeH265CapabilitiesKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoPictureResourceInfoKHR VkVideoPictureResourceInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>,
 -- 'Vulkan.Extensions.VK_KHR_fragment_shading_rate.cmdSetFragmentShadingRateKHR',
@@ -493,6 +493,7 @@
 -- 'Vulkan.Extensions.VK_NV_displacement_micromap.PhysicalDeviceDisplacementMicromapFeaturesNV',
 -- 'Vulkan.Extensions.VK_EXT_physical_device_drm.PhysicalDeviceDrmPropertiesEXT',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PhysicalDeviceDynamicRenderingFeatures',
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments.PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_scissor_exclusive.PhysicalDeviceExclusiveScissorFeaturesNV',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.PhysicalDeviceExtendedDynamicState2FeaturesEXT',
@@ -536,17 +537,19 @@
 -- 'Vulkan.Extensions.VK_EXT_image_sliced_view_of_3d.PhysicalDeviceImageSlicedViewOf3DFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_image_view_min_lod.PhysicalDeviceImageViewMinLodFeaturesEXT',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer.PhysicalDeviceImagelessFramebufferFeatures',
--- 'Vulkan.Extensions.VK_EXT_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesEXT',
+-- 'Vulkan.Extensions.VK_KHR_index_type_uint8.PhysicalDeviceIndexTypeUint8FeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_inherited_viewport_scissor.PhysicalDeviceInheritedViewportScissorFeaturesNV',
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockFeatures',
 -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.PhysicalDeviceInvocationMaskFeaturesHUAWEI',
 -- 'Vulkan.Extensions.VK_EXT_legacy_dithering.PhysicalDeviceLegacyDitheringFeaturesEXT',
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits',
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationFeaturesEXT',
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationFeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_linear_color_attachment.PhysicalDeviceLinearColorAttachmentFeaturesNV',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Features',
 -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5FeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5PropertiesKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6FeaturesKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR',
 -- 'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionFeaturesNV',
 -- 'Vulkan.Extensions.VK_EXT_memory_priority.PhysicalDeviceMemoryPriorityFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderFeaturesEXT',
@@ -565,6 +568,7 @@
 -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowFeaturesNV',
 -- 'Vulkan.Extensions.VK_NV_optical_flow.PhysicalDeviceOpticalFlowPropertiesNV',
 -- 'Vulkan.Extensions.VK_EXT_pageable_device_local_memory.PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT',
+-- 'Vulkan.Extensions.VK_NV_per_stage_descriptor_set.PhysicalDevicePerStageDescriptorSetFeaturesNV',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_performance_query.PhysicalDevicePerformanceQueryPropertiesKHR',
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control.PhysicalDevicePipelineCreationCacheControlFeatures',
@@ -611,16 +615,21 @@
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters.PhysicalDeviceShaderDrawParametersFeatures',
 -- 'Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests.PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD',
 -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.PhysicalDeviceShaderEnqueueFeaturesAMDX',
+-- 'Vulkan.Extensions.VK_KHR_shader_expect_assume.PhysicalDeviceShaderExpectAssumeFeaturesKHR',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8.PhysicalDeviceShaderFloat16Int8Features',
+-- 'Vulkan.Extensions.VK_KHR_shader_float_controls2.PhysicalDeviceShaderFloatControls2FeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_shader_image_atomic_int64.PhysicalDeviceShaderImageAtomicInt64FeaturesEXT',
 -- 'Vulkan.Extensions.VK_NV_shader_image_footprint.PhysicalDeviceShaderImageFootprintFeaturesNV',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductFeatures',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product.PhysicalDeviceShaderIntegerDotProductProperties',
 -- 'Vulkan.Extensions.VK_INTEL_shader_integer_functions2.PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL',
+-- 'Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence.PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR',
 -- 'Vulkan.Extensions.VK_EXT_shader_module_identifier.PhysicalDeviceShaderModuleIdentifierFeaturesEXT',
 -- 'Vulkan.Extensions.VK_EXT_shader_object.PhysicalDeviceShaderObjectFeaturesEXT',
+-- 'Vulkan.Extensions.VK_KHR_shader_quad_control.PhysicalDeviceShaderQuadControlFeaturesKHR',
 -- 'Vulkan.Extensions.VK_NV_shader_sm_builtins.PhysicalDeviceShaderSMBuiltinsFeaturesNV',
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types.PhysicalDeviceShaderSubgroupExtendedTypesFeatures',
+-- 'Vulkan.Extensions.VK_KHR_shader_subgroup_rotate.PhysicalDeviceShaderSubgroupRotateFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow.PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation.PhysicalDeviceShaderTerminateInvocationFeatures',
 -- 'Vulkan.Extensions.VK_EXT_shader_tile_image.PhysicalDeviceShaderTileImageFeaturesEXT',
@@ -645,6 +654,7 @@
 -- 'Vulkan.Extensions.VK_KHR_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorFeaturesKHR',
 -- 'Vulkan.Extensions.VK_KHR_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesKHR',
 -- 'Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state.PhysicalDeviceVertexInputDynamicStateFeaturesEXT',
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkPhysicalDeviceVideoMaintenance1FeaturesKHR VkPhysicalDeviceVideoMaintenance1FeaturesKHR>,
 -- 'Vulkan.Core12.PhysicalDeviceVulkan11Features',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',
 -- 'Vulkan.Core12.PhysicalDeviceVulkan12Features',
@@ -669,7 +679,7 @@
 -- 'Vulkan.Core10.Pipeline.PipelineInputAssemblyStateCreateInfo',
 -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo',
 -- 'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR',
 -- 'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV',
 -- 'Vulkan.Extensions.VK_EXT_sample_locations.PipelineSampleLocationsStateCreateInfoEXT',
@@ -692,20 +702,21 @@
 -- 'Vulkan.Extensions.VK_NV_low_latency2.SwapchainLatencyCreateInfoNV',
 -- 'Vulkan.Extensions.VK_NV_present_barrier.SwapchainPresentBarrierCreateInfoNV',
 -- 'Vulkan.Extensions.VK_AMD_texture_gather_bias_lod.TextureLODGatherFormatPropertiesAMD',
--- <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#VkVideoEncodeH264GopRemainingFrameInfoEXT VkVideoEncodeH264GopRemainingFrameInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoEXT VkVideoEncodeH264PictureInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesEXT VkVideoEncodeH264QualityLevelPropertiesEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoEXT VkVideoEncodeH264RateControlLayerInfoEXT>,
--- <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#VkVideoEncodeH264SessionParametersFeedbackInfoEXT VkVideoEncodeH264SessionParametersFeedbackInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoEXT VkVideoEncodeH264SessionParametersGetInfoEXT>,
--- <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#VkVideoEncodeH265GopRemainingFrameInfoEXT VkVideoEncodeH265GopRemainingFrameInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoEXT VkVideoEncodeH265RateControlLayerInfoEXT>,
--- <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#VkVideoEncodeH265SessionParametersFeedbackInfoEXT VkVideoEncodeH265SessionParametersFeedbackInfoEXT>,
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoEXT VkVideoEncodeH265SessionParametersGetInfoEXT>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1ProfileInfoKHR VkVideoDecodeAV1ProfileInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264CapabilitiesKHR VkVideoEncodeH264CapabilitiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264GopRemainingFrameInfoKHR VkVideoEncodeH264GopRemainingFrameInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264PictureInfoKHR VkVideoEncodeH264PictureInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264QualityLevelPropertiesKHR VkVideoEncodeH264QualityLevelPropertiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264RateControlLayerInfoKHR VkVideoEncodeH264RateControlLayerInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionCreateInfoKHR VkVideoEncodeH264SessionCreateInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersFeedbackInfoKHR VkVideoEncodeH264SessionParametersFeedbackInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264SessionParametersGetInfoKHR VkVideoEncodeH264SessionParametersGetInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265CapabilitiesKHR VkVideoEncodeH265CapabilitiesKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265GopRemainingFrameInfoKHR VkVideoEncodeH265GopRemainingFrameInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265RateControlLayerInfoKHR VkVideoEncodeH265RateControlLayerInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionCreateInfoKHR VkVideoEncodeH265SessionCreateInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersFeedbackInfoKHR VkVideoEncodeH265SessionParametersFeedbackInfoKHR>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265SessionParametersGetInfoKHR VkVideoEncodeH265SessionParametersGetInfoKHR>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeSessionParametersFeedbackInfoKHR VkVideoEncodeSessionParametersFeedbackInfoKHR>,
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.cmdBuildAccelerationStructureNV',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdExecuteGeneratedCommandsNV',
@@ -949,6 +960,7 @@
 -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',
 -- 'Vulkan.Core13.PhysicalDeviceVulkan13Properties',
 -- 'Vulkan.Extensions.VK_QNX_external_memory_screen_buffer.ScreenBufferPropertiesQNX',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',
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
@@ -163,6 +163,7 @@
 -- 'Vulkan.Core12.PhysicalDeviceVulkan11Properties',
 -- 'Vulkan.Core13.PhysicalDeviceVulkan13Properties',
 -- 'Vulkan.Extensions.VK_QNX_external_memory_screen_buffer.ScreenBufferPropertiesQNX',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryBind',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseImageMemoryRequirements',
 -- 'Vulkan.Core10.SparseResourceMemoryManagement.SparseMemoryBind',
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
@@ -597,9 +597,11 @@
 -- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.cmdBeginRenderingKHR',
 -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginTransformFeedbackEXT',
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR>,
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdBindDescriptorBufferEmbeddedSamplers2EXT',
 -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT',
 -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBuffersEXT',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdBindDescriptorSets2KHR',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer',
 -- 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR',
 -- 'Vulkan.Extensions.VK_HUAWEI_invocation_mask.cmdBindInvocationMaskHUAWEI',
@@ -706,7 +708,10 @@
 -- 'Vulkan.Extensions.VK_KHR_synchronization2.cmdPipelineBarrier2KHR',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.cmdPreprocessGeneratedCommandsNV',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdPushConstants',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdPushConstants2KHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdPushDescriptorSet2KHR',
 -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdPushDescriptorSetWithTemplate2KHR',
 -- 'Vulkan.Extensions.VK_KHR_push_descriptor.cmdPushDescriptorSetWithTemplateKHR',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdResetEvent',
 -- 'Vulkan.Core13.Promoted_From_VK_KHR_synchronization2.cmdResetEvent2',
@@ -751,6 +756,7 @@
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT',
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnable',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.cmdSetDescriptorBufferOffsets2EXT',
 -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdSetDescriptorBufferOffsetsEXT',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_device_group.cmdSetDeviceMask',
 -- 'Vulkan.Extensions.VK_KHR_device_group.cmdSetDeviceMaskKHR',
@@ -770,6 +776,7 @@
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT',
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdSetLineWidth',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT',
@@ -788,6 +795,8 @@
 -- 'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdSetRayTracingPipelineStackSizeKHR',
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR',
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingInputAttachmentIndicesKHR',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRepresentativeFragmentTestEnableNV',
 -- 'Vulkan.Extensions.VK_EXT_sample_locations.cmdSetSampleLocationsEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT',
@@ -1152,13 +1161,19 @@
 -- = 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_maintenance6.BindDescriptorBufferEmbeddedSamplersInfoEXT',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorSetsInfoKHR',
 -- 'Vulkan.Core10.Pipeline.ComputePipelineCreateInfo',
 -- 'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.DescriptorUpdateTemplateCreateInfo',
 -- 'Vulkan.Extensions.VK_AMDX_shader_enqueue.ExecutionGraphPipelineCreateInfoAMDX',
 -- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',
 -- 'Vulkan.Extensions.VK_NV_device_generated_commands.IndirectCommandsLayoutTokenNV',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushConstantsInfoKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetWithTemplateInfoKHR',
 -- 'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.RayTracingPipelineCreateInfoKHR',
 -- 'Vulkan.Extensions.VK_NV_ray_tracing.RayTracingPipelineCreateInfoNV',
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT',
 -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBufferEmbeddedSamplersEXT',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindDescriptorSets',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdPushConstants',
@@ -1202,6 +1217,7 @@
 -- = 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_maintenance6.BindDescriptorSetsInfoKHR',
 -- 'Vulkan.Core10.DescriptorSet.CopyDescriptorSet',
 -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet',
 -- 'Vulkan.Core10.DescriptorSet.allocateDescriptorSets',
@@ -1358,6 +1374,7 @@
 -- = 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#VkVideoInlineQueryInfoKHR VkVideoInlineQueryInfoKHR>,
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery',
 -- 'Vulkan.Extensions.VK_EXT_transform_feedback.cmdBeginQueryIndexedEXT',
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdCopyQueryPoolResults',
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
@@ -1077,8 +1077,9 @@
 --     or
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
 --
--- -   #VUID-VkImageCreateInfo-samples-02258# @samples@ /must/ be a bit
---     value that is set in @imageCreateSampleCounts@ (as defined in
+-- -   #VUID-VkImageCreateInfo-samples-02258# @samples@ /must/ be a valid
+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value
+--     that is set in @imageCreateSampleCounts@ (as defined in
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>)
 --
 -- -   #VUID-VkImageCreateInfo-usage-00968# If the
@@ -1553,8 +1554,9 @@
 -- -   #VUID-VkImageCreateInfo-usage-04815# If @usage@ includes
 --     @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@,
 --     @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, or
---     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the @pNext@ chain
---     /must/ include a
+--     @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, and @flags@ does not
+--     include @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then
+--     the @pNext@ chain /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
@@ -1565,14 +1567,29 @@
 -- -   #VUID-VkImageCreateInfo-usage-04816# If @usage@ includes
 --     @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@,
 --     @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@, or
---     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the @pNext@ chain
---     /must/ include a
+--     @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, and @flags@ does not
+--     include @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then
+--     the @pNext@ chain /must/ include a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
 --     structure with @profileCount@ greater than @0@ and @pProfiles@
 --     including at least one
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
 --     structure with a @videoCodecOperation@ member specifying an encode
 --     operation
+--
+-- -   #VUID-VkImageCreateInfo-flags-08328# If @flags@ includes
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-videoMaintenance1 videoMaintenance1>
+--     /must/ be enabled
+--
+-- -   #VUID-VkImageCreateInfo-flags-08329# If @flags@ includes
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@ does
+--     not include @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then @usage@
+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@
+--
+-- -   #VUID-VkImageCreateInfo-flags-08331# If @flags@ includes
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then @usage@
+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@
 --
 -- -   #VUID-VkImageCreateInfo-pNext-06811# If the @pNext@ chain includes a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileListInfoKHR VkVideoProfileListInfoKHR>
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
@@ -807,6 +807,42 @@
 --     /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'
 --
+-- -   #VUID-VkImageViewCreateInfo-image-08333# If @image@ was created with
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@
+--     contains @VK_IMAGE_USAGE_VIDEO_DECODE_DST_BIT_KHR@, then the image
+--     view’s
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_DECODE_OUTPUT_BIT_KHR@
+--
+-- -   #VUID-VkImageViewCreateInfo-image-08334# If @image@ was created with
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@
+--     contains @VK_IMAGE_USAGE_VIDEO_DECODE_DPB_BIT_KHR@, then the image
+--     view’s
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_DECODE_DPB_BIT_KHR@
+--
+-- -   #VUID-VkImageViewCreateInfo-image-08335# If @image@ was created with
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then @usage@
+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_DECODE_SRC_BIT_KHR@
+--
+-- -   #VUID-VkImageViewCreateInfo-image-08336# If @image@ was created with
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@
+--     contains @VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR@, then the image
+--     view’s
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_ENCODE_INPUT_BIT_KHR@
+--
+-- -   #VUID-VkImageViewCreateInfo-image-08337# If @image@ was created with
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@ and @usage@
+--     contains @VK_IMAGE_USAGE_VIDEO_ENCODE_DPB_BIT_KHR@, then the image
+--     view’s
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-view-format-features format features>
+--     /must/ contain @VK_FORMAT_FEATURE_VIDEO_ENCODE_DPB_BIT_KHR@
+--
+-- -   #VUID-VkImageViewCreateInfo-image-08338# If @image@ was created with
+--     @VK_IMAGE_CREATE_VIDEO_PROFILE_INDEPENDENT_BIT_KHR@, then @usage@
+--     /must/ not include @VK_IMAGE_USAGE_VIDEO_ENCODE_DST_BIT_KHR@
+--
 -- -   #VUID-VkImageViewCreateInfo-usage-08932# If @usage@ contains
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT',
 --     and any of the following is true:
@@ -925,8 +961,17 @@
 -- -   #VUID-VkImageViewCreateInfo-image-07072# If @image@ was created with
 --     the
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'
---     flag and @format@ is a non-compressed format, the @levelCount@ and
---     @layerCount@ members of @subresourceRange@ /must/ both be @1@
+--     flag and @format@ is a non-compressed format, the @levelCount@
+--     member of @subresourceRange@ /must/ be @1@
+--
+-- -   #VUID-VkImageViewCreateInfo-image-09487# If @image@ was created with
+--     the
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'
+--     flag, the
+--     'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR'::@blockTexelViewCompatibleMultipleLayers@
+--     property is not set to 'Vulkan.Core10.FundamentalTypes.TRUE', and
+--     @format@ is a non-compressed format, then the @layerCount@ member of
+--     @subresourceRange@ /must/ be @1@
 --
 -- -   #VUID-VkImageViewCreateInfo-pNext-01585# If a
 --     'Vulkan.Core12.Promoted_From_VK_KHR_image_format_list.ImageFormatListCreateInfo'
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
@@ -810,6 +810,32 @@
 --     feature is not enabled, @newLayout@ /must/ not be
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT'
 --
+-- -   #VUID-VkImageMemoryBarrier-srcQueueFamilyIndex-09550# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--     then @image@ /must/ have been created with either
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or
+--     with both
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
+--     and either of
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
+-- -   #VUID-VkImageMemoryBarrier-dynamicRenderingLocalRead-09551# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @oldLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
+-- -   #VUID-VkImageMemoryBarrier-dynamicRenderingLocalRead-09552# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @newLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
 -- -   #VUID-VkImageMemoryBarrier-subresourceRange-01486#
 --     @subresourceRange.baseMipLevel@ /must/ be less than the @mipLevels@
 --     specified in 'Vulkan.Core10.Image.ImageCreateInfo' when @image@ was
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
@@ -780,10 +780,23 @@
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT'
 --
 -- -   #VUID-VkAttachmentDescription-samples-08745# @samples@ /must/ be a
---     bit value that is set in @imageCreateSampleCounts@ (as defined in
+--     valid 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits'
+--     value that is set in @imageCreateSampleCounts@ (as defined in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>)
 --     for the given @format@
 --
+-- -   #VUID-VkAttachmentDescription-dynamicRenderingLocalRead-09544# If
+--     the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @initialLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
+-- -   #VUID-VkAttachmentDescription-dynamicRenderingLocalRead-09545# If
+--     the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @finalLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
 -- -   #VUID-VkAttachmentDescription-format-06698# @format@ /must/ not be
 --     VK_FORMAT_UNDEFINED
 --
@@ -1013,6 +1026,11 @@
 --     feature is not enabled, @layout@ /must/ not be
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT'
 --
+-- -   #VUID-VkAttachmentReference-dynamicRenderingLocalRead-09546# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @layout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkAttachmentReference-layout-parameter# @layout@ /must/ be a
@@ -1438,7 +1456,7 @@
 --     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'
 --
 -- -   #VUID-VkSubpassDescription-pDepthStencilAttachment-04438#
---     @pDepthStencilAttachment@ and @pColorAttachments@ must not contain
+--     @pDepthStencilAttachment@ and @pColorAttachments@ /must/ not contain
 --     references to the same attachment
 --
 -- == Valid Usage (Implicit)
@@ -2297,8 +2315,9 @@
 -- is 'Vulkan.Core10.FundamentalTypes.FALSE', then all pipelines to be
 -- bound with the subpass /must/ have the same value for
 -- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo'::@rasterizationSamples@.
--- In all such cases, @rasterizationSamples@ /must/ be a bit value that is
--- set in
+-- In all such cases, @rasterizationSamples@ /must/ be a valid
+-- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value that
+-- is set in
 -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@framebufferNoAttachmentsSampleCounts@.
 --
 -- == Valid Usage
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
@@ -184,7 +184,7 @@
 import Vulkan.Core10.Enums.PipelineMultisampleStateCreateFlags (PipelineMultisampleStateCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_conservative_rasterization (PipelineRasterizationConservativeStateCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_depth_clip_enable (PipelineRasterizationDepthClipStateCreateInfoEXT)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PipelineRasterizationLineStateCreateInfoEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (PipelineRasterizationProvokingVertexStateCreateInfoEXT)
 import Vulkan.Core10.Enums.PipelineRasterizationStateCreateFlags (PipelineRasterizationStateCreateFlags)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_rasterization_order (PipelineRasterizationStateRasterizationOrderAMD)
@@ -214,6 +214,8 @@
 import Vulkan.Core10.Enums.PrimitiveTopology (PrimitiveTopology)
 import Vulkan.Core10.FundamentalTypes (Rect2D)
 import Vulkan.Core10.Handles (RenderPass)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR)
 import Vulkan.Core10.Enums.Result (Result)
 import Vulkan.Core10.Enums.Result (Result(..))
 import Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits)
@@ -1095,10 +1097,11 @@
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxCullDistances@
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-maxCombinedClipAndCullDistances-00710#
---     If the identified entry point includes any variables in its
---     interface that are declared with the @ClipDistance@ or
---     @CullDistance@ @BuiltIn@ decoration, those variables /must/ not have
---     array sizes which sum to more than
+--     If the identified entry point includes variables in its interface
+--     that are declared with the @ClipDistance@ @BuiltIn@ decoration and
+--     variables in its interface that are declared with the @CullDistance@
+--     @BuiltIn@ decoration, those variables /must/ not have array sizes
+--     which sum to more than
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxCombinedClipAndCullDistances@
 --
 -- -   #VUID-VkPipelineShaderStageCreateInfo-maxSampleMaskWords-00711# If
@@ -1449,6 +1452,13 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkComputePipelineCreateInfo-None-09497# If the @pNext@ chain
+--     does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'
+--     structure, @flags@ must be a valid combination of
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
+--     values
+--
 -- -   #VUID-VkComputePipelineCreateInfo-flags-07984# If @flags@ contains
 --     the
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'
@@ -1598,11 +1608,6 @@
 -- -   #VUID-VkComputePipelineCreateInfo-sType-unique# The @sType@ value of
 --     each struct in the @pNext@ chain /must/ be unique
 --
--- -   #VUID-VkComputePipelineCreateInfo-flags-parameter# @flags@ /must/ be
---     a valid combination of
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
---     values
---
 -- -   #VUID-VkComputePipelineCreateInfo-stage-parameter# @stage@ /must/ be
 --     a valid 'PipelineShaderStageCreateInfo' structure
 --
@@ -2122,7 +2127,7 @@
     -- of 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR' or
     -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer' is equal to
     -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT32', 0xFF when @indexType@
-    -- is equal to 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT', or
+    -- is equal to 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR', or
     -- 0xFFFF when @indexType@ is equal to
     -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT16'. Primitive restart is
     -- not allowed for “list” topologies, unless one of the features
@@ -2530,7 +2535,7 @@
 --     'Vulkan.Extensions.VK_EXT_depth_bias_control.DepthBiasRepresentationInfoEXT',
 --     'Vulkan.Extensions.VK_EXT_conservative_rasterization.PipelineRasterizationConservativeStateCreateInfoEXT',
 --     'Vulkan.Extensions.VK_EXT_depth_clip_enable.PipelineRasterizationDepthClipStateCreateInfoEXT',
---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR',
 --     'Vulkan.Extensions.VK_EXT_provoking_vertex.PipelineRasterizationProvokingVertexStateCreateInfoEXT',
 --     'Vulkan.Extensions.VK_AMD_rasterization_order.PipelineRasterizationStateRasterizationOrderAMD',
 --     or
@@ -2618,7 +2623,7 @@
   extends _ f
     | Just Refl <- eqT @e @DepthBiasRepresentationInfoEXT = Just f
     | Just Refl <- eqT @e @PipelineRasterizationProvokingVertexStateCreateInfoEXT = Just f
-    | Just Refl <- eqT @e @PipelineRasterizationLineStateCreateInfoEXT = Just f
+    | Just Refl <- eqT @e @PipelineRasterizationLineStateCreateInfoKHR = Just f
     | Just Refl <- eqT @e @PipelineRasterizationDepthClipStateCreateInfoEXT = Just f
     | Just Refl <- eqT @e @PipelineRasterizationStateStreamCreateInfoEXT = Just f
     | Just Refl <- eqT @e @PipelineRasterizationConservativeStateCreateInfoEXT = Just f
@@ -3920,6 +3925,8 @@
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT'
 --     flag
 --
+-- -   'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- If a pipeline specifies
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization state>
 -- either directly or by including it as a pipeline library and
@@ -3964,6 +3971,8 @@
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
 --     flags
 --
+-- -   'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'
+--
 -- If a pipeline specifies
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization state>
 -- either directly or by including it as a pipeline library and
@@ -4033,6 +4042,13 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkGraphicsPipelineCreateInfo-None-09497# If the @pNext@ chain
+--     does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'
+--     structure, @flags@ must be a valid combination of
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
+--     values
+--
 -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-07984# If @flags@ contains
 --     the
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'
@@ -4389,7 +4405,7 @@
 --     'PipelineMultisampleStateCreateInfo' structure
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09027# If
---     @pMultisampleState@ is not @NULL@ is /must/ be a valid pointer to a
+--     @pMultisampleState@ is not @NULL@ it /must/ be a valid pointer to a
 --     valid 'PipelineMultisampleStateCreateInfo' structure
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-alphaToCoverageEnable-08891# If
@@ -4857,11 +4873,11 @@
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,
 --     and @pMultisampleState@ is not @NULL@, the @lineRasterizationMode@
 --     member of a
---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'
 --     structure included in the @pNext@ chain of @pRasterizationState@ is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR'
 --     or
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the @alphaToCoverageEnable@, @alphaToOneEnable@, and
 --     @sampleShadingEnable@ members of @pMultisampleState@ /must/ all be
 --     'Vulkan.Core10.FundamentalTypes.FALSE'
@@ -4870,12 +4886,12 @@
 --     pipeline requires
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,
 --     the @stippledLineEnable@ member of
---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'
 --     is 'Vulkan.Core10.FundamentalTypes.TRUE', and no element of the
 --     @pDynamicStates@ member of @pDynamicState@ is
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT',
+--     'Vulkan.Extensions.VK_EXT_line_rasterization.DYNAMIC_STATE_LINE_STIPPLE_EXT',
 --     then the @lineStippleFactor@ member of
---     'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'
 --     /must/ be in the range [1,256]
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-03372# @flags@ /must/ not
@@ -5689,9 +5705,10 @@
 --     is not @0@, and @multiviewMeshShader@ is not enabled, then @pStages@
 --     /must/ not include a mesh shader
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06061# If the pipeline
---     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06061# If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, the pipeline requires
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,
 --     and @renderPass@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE',
 --     fragment shaders in @pStages@ /must/ not include the
 --     @InputAttachment@ capability
@@ -5739,23 +5756,25 @@
 --     or
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06482# If the pipeline
---     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>
+-- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06482# If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, the pipeline requires
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>,
 --     and the @flags@ member of 'PipelineColorBlendStateCreateInfo'
 --     includes
 --     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT',
---     @renderpass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--     @renderPass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06483# If the pipeline
---     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>
+-- -   #VUID-VkGraphicsPipelineCreateInfo-None-09526# If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, the pipeline requires
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>,
 --     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'
 --     includes
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT'
 --     or
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT',
---     @renderpass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--     @renderPass@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pColorAttachmentSamples-06592# If
 --     the
@@ -5777,29 +5796,29 @@
 --     is not 0, it /must/ be a valid
 --     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06484# If the pipeline
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09527# If the pipeline
 --     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>
---     and the @flags@ member of 'PipelineColorBlendStateCreateInfo'
---     includes
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output interface state>,
+--     @renderPass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and
+--     the @flags@ member of 'PipelineColorBlendStateCreateInfo' includes
 --     'Vulkan.Core10.Enums.PipelineColorBlendStateCreateFlagBits.PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT'
 --     @subpass@ /must/ have been created with
 --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06485# If the pipeline
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09528# If the pipeline
 --     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>
---     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'
---     includes
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,
+--     @renderPass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and
+--     the @flags@ member of 'PipelineDepthStencilStateCreateInfo' includes
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT',
 --     @subpass@ /must/ have been created with
 --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06486# If the pipeline
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09529# If the pipeline
 --     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>
---     and the @flags@ member of 'PipelineDepthStencilStateCreateInfo'
---     includes
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,
+--     @renderPass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and
+--     the @flags@ member of 'PipelineDepthStencilStateCreateInfo' includes
 --     'Vulkan.Core10.Enums.PipelineDepthStencilStateCreateFlagBits.PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT',
 --     @subpass@ /must/ have been created with
 --     'Vulkan.Core10.Enums.SubpassDescriptionFlagBits.SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT'
@@ -5903,7 +5922,8 @@
 --     @layout@ /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout'
 --     handle
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06603# If
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-06603# If the pipeline
+--     requires
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,
 --     or
@@ -5912,11 +5932,9 @@
 --     @renderPass@ /must/ be a valid 'Vulkan.Core10.Handles.RenderPass'
 --     handle
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-stageCount-06604# If the pipeline
+-- -   #VUID-VkGraphicsPipelineCreateInfo-stageCount-09530# If the pipeline
 --     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>
---     or
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-pre-rasterization pre-rasterization shader state>,
 --     @stageCount@ /must/ be greater than @0@
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-graphicsPipelineLibrary-06606# If
@@ -6096,25 +6114,10 @@
 --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT',
 --     an element of
 --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@
---     includes the other subset, and any element of the @pSetLayouts@
---     array which @layout@ was created with was
---     'Vulkan.Core10.APIConstants.NULL_HANDLE', then the corresponding
---     element of the @pSetLayouts@ array used to create the library’s
---     @layout@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
---
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06680# If
---     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@
---     includes only one of
---     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT'
---     or
---     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT',
---     an element of
---     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@
---     includes the other subset, and any element of the @pSetLayouts@
---     array used to create the library’s @layout@ was
---     'Vulkan.Core10.APIConstants.NULL_HANDLE', then the corresponding
---     element of the @pSetLayouts@ array used to create this pipeline’s
---     @layout@ /must/ not be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--     includes the other subset, any element of the @pSetLayouts@ array
+--     when @layout@ was created and the corresponding element of the
+--     @pSetLayouts@ array used to create the library’s @layout@ /must/ not
+--     both be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pLibraries-06681# If one element
 --     of
@@ -6287,17 +6290,21 @@
 --     create each library /must/ be compatible or all equal to
 --     'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-06629# If the
---     pipeline requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>
---     @pMultisampleState@ /must/ be @NULL@ or a valid pointer to a valid
---     'PipelineMultisampleStateCreateInfo' structure
---
--- -   #VUID-VkGraphicsPipelineCreateInfo-renderpass-06631# If the pipeline
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderpass-06631# If @renderPass@
+--     is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', the pipeline
 --     requires
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>
---     and @renderpass@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
---     then @pMultisampleState@ /must/ not be @NULL@
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>,
+--     and the @VK_EXT_extended_dynamic_state3@ extension is not enabled or
+--     any of the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT',
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT', or
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT'
+--     dynamic states is not set, or
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-alphaToOne alphaToOne>
+--     is enabled on the device and
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT'
+--     is not set, then @pMultisampleState@ /must/ be a valid pointer to a
+--     valid 'PipelineMultisampleStateCreateInfo' structure
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-Input-06632# If the pipeline
 --     requires
@@ -6305,7 +6312,17 @@
 --     with a fragment shader that either enables
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-sampleshading sample shading>
 --     or decorates any variable in the @Input@ storage class with
---     @Sample@, then @pMultisampleState@ /must/ not be @NULL@
+--     @Sample@, and the @VK_EXT_extended_dynamic_state3@ extension is not
+--     enabled or any of the
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT',
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT', or
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT'
+--     dynamic states is not set, or
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-alphaToOne alphaToOne>
+--     is enabled on the device and
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT'
+--     is not set, then @pMultisampleState@ /must/ be a valid pointer to a
+--     valid 'PipelineMultisampleStateCreateInfo' structure
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06633# If
 --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@
@@ -6348,7 +6365,7 @@
 --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@
 --     was created with
 --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT'
---     and a value of @pMultisampleState->sampleShading@ equal
+--     and a value of @pMultisampleState->sampleShadingEnable@ equal
 --     'Vulkan.Core10.FundamentalTypes.TRUE', and if a different element of
 --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@
 --     was created with
@@ -6360,7 +6377,7 @@
 --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@
 --     includes
 --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT',
---     @pMultisampleState->sampleShading@ is
+--     @pMultisampleState->sampleShadingEnable@ is
 --     'Vulkan.Core10.FundamentalTypes.TRUE', and an element of
 --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@
 --     was created with
@@ -6368,6 +6385,19 @@
 --     the @pMultisampleState@ used to create that library /must/ be
 --     /identically defined/ @pMultisampleState@
 --
+-- -   #VUID-VkGraphicsPipelineCreateInfo-pLibraries-09567# If one element
+--     of
+--     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR'::@pLibraries@
+--     was created with
+--     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT'
+--     and a value of @pMultisampleState->sampleShadingEnable@ equal
+--     'Vulkan.Core10.FundamentalTypes.TRUE', and if
+--     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@
+--     includes
+--     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT',
+--     @pMultisampleState@ /must/ be /identically defined/ to that used to
+--     create the library
+--
 -- -   #VUID-VkGraphicsPipelineCreateInfo-flags-06638# If
 --     'Vulkan.Extensions.VK_EXT_graphics_pipeline_library.GraphicsPipelineLibraryCreateInfoEXT'::@flags@
 --     includes only one of
@@ -6807,7 +6837,7 @@
 --     is enabled, then the index of the most significant bit in each
 --     element of
 --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'::@pViewMasks@
---     /must/ be less than @pViewportState@::@viewportCount@
+--     /must/ be less than @pViewportState->viewportCount@
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07731# If the
 --     pipeline requires
@@ -6820,7 +6850,7 @@
 --     is enabled, then the index of the most significant bit in each
 --     element of
 --     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'::@pViewMasks@
---     /must/ be less than @pViewportState@::@scissorCount@
+--     /must/ be less than @pViewportState->scissorCount@
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pStages-08711# If @pStages@
 --     includes a fragment shader stage,
@@ -6850,8 +6880,9 @@
 --     @rasterizationSamples@ is not dynamic, and the @pNext@ chain
 --     includes a
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'
---     structure, @rasterizationSamples@ /must/ be a bit value that is set
---     in @imageCreateSampleCounts@ (as defined in
+--     structure, @rasterizationSamples@ /must/ be a valid
+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value
+--     that is set in @imageCreateSampleCounts@ (as defined in
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>)
 --     for every element of @depthAttachmentFormat@,
 --     @stencilAttachmentFormat@ and the @pColorAttachmentFormats@ array
@@ -7127,6 +7158,26 @@
 --     /must/ not statically use a variable with the
 --     @PrimitiveShadingRateKHR@ built-in
 --
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09531# If the pipeline
+--     is being created with
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-shader fragment shader state>
+--     and
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output state>,
+--     and the value of @renderPass@ is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'::@colorAttachmentCount@
+--     /must/ be equal to
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@
+--
+-- -   #VUID-VkGraphicsPipelineCreateInfo-renderPass-09532# If the pipeline
+--     is being created with
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#pipelines-graphics-subsets-fragment-output fragment output state>,
+--     and the value of @renderPass@ is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@colorAttachmentCount@
+--     /must/ be equal to
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-sType-sType# @sType@ /must/ be
@@ -7149,17 +7200,14 @@
 --     'Vulkan.Extensions.VK_KHR_pipeline_library.PipelineLibraryCreateInfoKHR',
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo',
 --     'Vulkan.Extensions.VK_NV_representative_fragment_test.PipelineRepresentativeFragmentTestStateCreateInfoNV',
+--     'Vulkan.Extensions.VK_EXT_pipeline_robustness.PipelineRobustnessCreateInfoEXT',
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR',
 --     or
---     'Vulkan.Extensions.VK_EXT_pipeline_robustness.PipelineRobustnessCreateInfoEXT'
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
 --
 -- -   #VUID-VkGraphicsPipelineCreateInfo-sType-unique# The @sType@ value
 --     of each struct in the @pNext@ chain /must/ be unique
 --
--- -   #VUID-VkGraphicsPipelineCreateInfo-flags-parameter# @flags@ /must/
---     be a valid combination of
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
---     values
---
 -- -   #VUID-VkGraphicsPipelineCreateInfo-pDynamicState-parameter# If
 --     @pDynamicState@ is not @NULL@, @pDynamicState@ /must/ be a valid
 --     pointer to a valid 'PipelineDynamicStateCreateInfo' structure
@@ -7327,6 +7375,8 @@
   getNext GraphicsPipelineCreateInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends GraphicsPipelineCreateInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @RenderingInputAttachmentIndexInfoKHR = Just f
+    | Just Refl <- eqT @e @RenderingAttachmentLocationInfoKHR = Just f
     | Just Refl <- eqT @e @PipelineRobustnessCreateInfoEXT = Just f
     | Just Refl <- eqT @e @GraphicsPipelineLibraryCreateInfoEXT = Just f
     | Just Refl <- eqT @e @MultiviewPerViewAttributesInfoNVX = Just f
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
@@ -709,9 +709,6 @@
 -- -   #VUID-VkPipelineLayoutCreateInfo-sType-sType# @sType@ /must/ be
 --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO'
 --
--- -   #VUID-VkPipelineLayoutCreateInfo-pNext-pNext# @pNext@ /must/ be
---     @NULL@
---
 -- -   #VUID-VkPipelineLayoutCreateInfo-flags-parameter# @flags@ /must/ be
 --     a valid combination of
 --     'Vulkan.Core10.Enums.PipelineLayoutCreateFlagBits.PipelineLayoutCreateFlagBits'
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
@@ -309,6 +309,11 @@
 -- defines specific meaning for values returned here, though
 -- implementations are free to return other values.
 --
+-- If the status value written is negative, indicating that the operations
+-- within the query completed unsuccessfully, then all other results
+-- written by this command are undefined unless otherwise specified for any
+-- of the results of the used query type.
+--
 -- Note
 --
 -- If
@@ -601,6 +606,10 @@
 --     'Vulkan.Core10.Enums.QueryPipelineStatisticFlagBits.QueryPipelineStatisticFlagBits'
 --     values
 --
+-- -   #VUID-VkQueryPoolCreateInfo-queryType-09534# If @queryType@ is
+--     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PIPELINE_STATISTICS',
+--     @pipelineStatistics@ /must/ not be zero
+--
 -- -   #VUID-VkQueryPoolCreateInfo-queryType-03222# If @queryType@ is
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_PERFORMANCE_QUERY_KHR',
 --     the @pNext@ chain /must/ include a
@@ -651,11 +660,12 @@
 --     'Vulkan.Extensions.VK_KHR_performance_query.QueryPoolPerformanceCreateInfoKHR',
 --     'Vulkan.Extensions.VK_INTEL_performance_query.QueryPoolPerformanceQueryCreateInfoINTEL',
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueryPoolVideoEncodeFeedbackCreateInfoKHR VkQueryPoolVideoEncodeFeedbackCreateInfoKHR>,
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeAV1ProfileInfoKHR VkVideoDecodeAV1ProfileInfoKHR>,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH264ProfileInfoKHR VkVideoDecodeH264ProfileInfoKHR>,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeH265ProfileInfoKHR VkVideoDecodeH265ProfileInfoKHR>,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoDecodeUsageInfoKHR VkVideoDecodeUsageInfoKHR>,
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoEXT VkVideoEncodeH264ProfileInfoEXT>,
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoEXT VkVideoEncodeH265ProfileInfoEXT>,
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH264ProfileInfoKHR VkVideoEncodeH264ProfileInfoKHR>,
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeH265ProfileInfoKHR VkVideoEncodeH265ProfileInfoKHR>,
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoEncodeUsageInfoKHR VkVideoEncodeUsageInfoKHR>,
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoProfileInfoKHR VkVideoProfileInfoKHR>
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
@@ -262,14 +262,14 @@
 -- == Valid Usage
 --
 -- -   #VUID-vkGetPhysicalDeviceSparseImageFormatProperties-samples-01094#
---     @samples@ /must/ be a bit value that is set in
+--     @samples@ /must/ be a valid
+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value
+--     that is set in
 --     'Vulkan.Core10.DeviceInitialization.ImageFormatProperties'::@sampleCounts@
 --     returned by
 --     'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceImageFormatProperties'
 --     with @format@, @type@, @tiling@, and @usage@ equal to those in this
---     command and @flags@ equal to the value that is set in
---     'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ when the image is
---     created
+--     command
 --
 -- == Valid Usage (Implicit)
 --
@@ -778,6 +778,22 @@
 --     @memoryOffset@ /must/ match the memory requirements of the resource,
 --     as described in section
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-association>
+--
+-- -   #VUID-VkSparseMemoryBind-resourceOffset-09491# If the resource being
+--     bound is a 'Vulkan.Core10.Handles.Buffer', @resourceOffset@ and
+--     @memoryOffset@ /must/ be an integer multiple of the @alignment@ of
+--     the 'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure
+--     returned from a call to
+--     'Vulkan.Core10.MemoryManagement.getBufferMemoryRequirements' with
+--     the buffer resource
+--
+-- -   #VUID-VkSparseMemoryBind-resourceOffset-09492# If the resource being
+--     bound is a 'Vulkan.Core10.Handles.Image', @resourceOffset@ and
+--     @memoryOffset@ /must/ be an integer multiple of the @alignment@ of
+--     the 'Vulkan.Core10.MemoryManagement.MemoryRequirements' structure
+--     returned from a call to
+--     'Vulkan.Core10.MemoryManagement.getImageMemoryRequirements' with the
+--     image resource
 --
 -- -   #VUID-VkSparseMemoryBind-memory-01097# If @memory@ is not
 --     'Vulkan.Core10.APIConstants.NULL_HANDLE', @memory@ /must/ not have
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
@@ -9,6 +9,8 @@
                                                                              , SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
                                                                              , SUBGROUP_FEATURE_CLUSTERED_BIT
                                                                              , SUBGROUP_FEATURE_QUAD_BIT
+                                                                             , SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR
+                                                                             , SUBGROUP_FEATURE_ROTATE_BIT_KHR
                                                                              , SUBGROUP_FEATURE_PARTITIONED_BIT_NV
                                                                              , ..
                                                                              )
@@ -78,6 +80,17 @@
 -- @GroupNonUniformQuad@ capability.
 pattern SUBGROUP_FEATURE_QUAD_BIT = SubgroupFeatureFlagBits 0x00000080
 
+-- | #features-subgroup-rotate-clustered#
+-- 'SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR' specifies the device will
+-- accept SPIR-V shader modules that use the @ClusterSize@ operand to
+-- @OpGroupNonUniformRotateKHR@.
+pattern SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR = SubgroupFeatureFlagBits 0x00000400
+
+-- | #features-subgroup-rotate# 'SUBGROUP_FEATURE_ROTATE_BIT_KHR' specifies
+-- the device will accept SPIR-V shader modules containing the
+-- @GroupNonUniformRotateKHR@ capability.
+pattern SUBGROUP_FEATURE_ROTATE_BIT_KHR = SubgroupFeatureFlagBits 0x00000200
+
 -- | #features-subgroup-partitioned# 'SUBGROUP_FEATURE_PARTITIONED_BIT_NV'
 -- specifies the device will accept SPIR-V shader modules containing the
 -- @GroupNonUniformPartitionedNV@ capability.
@@ -111,6 +124,14 @@
     , "CLUSTERED_BIT"
     )
   , (SUBGROUP_FEATURE_QUAD_BIT, "QUAD_BIT")
+  ,
+    ( SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR
+    , "ROTATE_CLUSTERED_BIT_KHR"
+    )
+  ,
+    ( SUBGROUP_FEATURE_ROTATE_BIT_KHR
+    , "ROTATE_BIT_KHR"
+    )
   ,
     ( SUBGROUP_FEATURE_PARTITIONED_BIT_NV
     , "PARTITIONED_BIT_NV"
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
@@ -45,6 +45,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_maintenance6.PushDescriptorSetWithTemplateInfoKHR',
 -- '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',
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
@@ -52,6 +52,44 @@
 -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupUniformControlFlow shaderSubgroupUniformControlFlow>
 -- is enabled, @subgroupSize@ /must/ be greater than or equal to 4.
 --
+-- If the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderQuadControl shaderQuadControl>
+-- feature is supported, @supportedOperations@ /must/ include
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-subgroup-quad >.
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>
+-- is supported, and the implementation advertises support with a
+-- 'Vulkan.Core10.ExtensionDiscovery.ExtensionProperties'::@specVersion@
+-- greater than or equal to 2, and
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotate shaderSubgroupRotate>
+-- is supported,
+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'
+-- /must/ be returned in @subgroupSupportedOperations@. If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>
+-- is supported, and the implementation advertises support with a
+-- 'Vulkan.Core10.ExtensionDiscovery.ExtensionProperties'::@specVersion@
+-- greater than or equal to 2, and
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotateClustered shaderSubgroupRotateClustered>
+-- is supported,
+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'
+-- /must/ be returned in @subgroupSupportedOperations@.
+--
+-- Note
+--
+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'
+-- and
+-- 'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'
+-- were added in version 2 of the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate VK_KHR_shader_subgroup_rotate>
+-- extension, after the initial release, so there are implementations that
+-- do not advertise these bits. Applications should use the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotate shaderSubgroupRotate>
+-- and
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderSubgroupRotateClustered shaderSubgroupRotateClustered>
+-- features to determine and enable support. These bits are advertised here
+-- for consistency and for future dependencies.
+--
 -- == Valid Usage (Implicit)
 --
 -- = See Also
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
@@ -49,6 +49,7 @@
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2 (BindImageMemoryDeviceGroupInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_swapchain (BindImageMemorySwapchainInfoKHR)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion (BindImagePlaneMemoryInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindMemoryStatusKHR)
 import Vulkan.Core10.Handles (Buffer)
 import Vulkan.CStruct.Extends (Chain)
 import Vulkan.Core10.Handles (Device)
@@ -92,12 +93,27 @@
 -- On some implementations, it /may/ be more efficient to batch memory
 -- bindings into a single command.
 --
+-- If the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+-- feature is enabled, this command /must/ attempt to perform all of the
+-- memory binding operations described by @pBindInfos@, and /must/ not
+-- early exit on the first failure.
+--
+-- If any of the memory binding operations described by @pBindInfos@ fail,
+-- the 'Vulkan.Core10.Enums.Result.Result' returned by this command /must/
+-- be the return value of any one of the memory binding operations which
+-- did not return 'Vulkan.Core10.Enums.Result.SUCCESS'.
+--
 -- Note
 --
--- If 'bindBufferMemory2' fails, and @bindInfoCount@ was greater than one,
--- then the buffers referenced by @pBindInfos@ will be in an indeterminate
--- state, and must not be used. Applications should destroy these buffers.
+-- If the 'bindBufferMemory2' command failed,
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR' structures
+-- were not included in the @pNext@ chains of each element of @pBindInfos@,
+-- and @bindInfoCount@ was greater than one, then the buffers referenced by
+-- @pBindInfos@ will be in an indeterminate state, and must not be used.
 --
+-- Applications should destroy these buffers.
+--
 -- == Return Codes
 --
 -- [<https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-successcodes Success>]
@@ -159,12 +175,27 @@
 -- On some implementations, it /may/ be more efficient to batch memory
 -- bindings into a single command.
 --
+-- If the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+-- feature is enabled, this command /must/ attempt to perform all of the
+-- memory binding operations described by @pBindInfos@, and /must/ not
+-- early exit on the first failure.
+--
+-- If any of the memory binding operations described by @pBindInfos@ fail,
+-- the 'Vulkan.Core10.Enums.Result.Result' returned by this command /must/
+-- be the return value of any one of the memory binding operations which
+-- did not return 'Vulkan.Core10.Enums.Result.SUCCESS'.
+--
 -- Note
 --
--- If 'bindImageMemory2' fails, and @bindInfoCount@ was greater than one,
--- then the images referenced by @pBindInfos@ will be in an indeterminate
--- state, and must not be used. Applications should destroy these images.
+-- If the 'bindImageMemory2' command failed,
+-- 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR' structures
+-- were not included in the @pNext@ chains of each element of @pBindInfos@,
+-- and @bindInfoCount@ was greater than one, then the images referenced by
+-- @pBindInfos@ will be in an indeterminate state, and must not be used.
 --
+-- Applications should destroy these images.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkBindImageMemory2-pBindInfos-02858# If any
@@ -389,9 +420,11 @@
 -- -   #VUID-VkBindBufferMemoryInfo-sType-sType# @sType@ /must/ be
 --     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_BUFFER_MEMORY_INFO'
 --
--- -   #VUID-VkBindBufferMemoryInfo-pNext-pNext# @pNext@ /must/ be @NULL@
---     or a pointer to a valid instance of
+-- -   #VUID-VkBindBufferMemoryInfo-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.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindBufferMemoryDeviceGroupInfo'
+--     or 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR'
 --
 -- -   #VUID-VkBindBufferMemoryInfo-sType-unique# The @sType@ value of each
 --     struct in the @pNext@ chain /must/ be unique
@@ -440,6 +473,7 @@
   getNext BindBufferMemoryInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindBufferMemoryInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @BindMemoryStatusKHR = Just f
     | Just Refl <- eqT @e @BindBufferMemoryDeviceGroupInfo = Just f
     | otherwise = Nothing
 
@@ -762,8 +796,8 @@
 --     @NULL@ or a pointer to a valid instance of
 --     'Vulkan.Core11.Promoted_From_VK_KHR_device_groupAndVK_KHR_bind_memory2.BindImageMemoryDeviceGroupInfo',
 --     'Vulkan.Extensions.VK_KHR_swapchain.BindImageMemorySwapchainInfoKHR',
---     or
---     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo'
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo',
+--     or 'Vulkan.Extensions.VK_KHR_maintenance6.BindMemoryStatusKHR'
 --
 -- -   #VUID-VkBindImageMemoryInfo-sType-unique# The @sType@ value of each
 --     struct in the @pNext@ chain /must/ be unique
@@ -811,6 +845,7 @@
   getNext BindImageMemoryInfo{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindImageMemoryInfo e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @BindMemoryStatusKHR = Just f
     | Just Refl <- eqT @e @BindImagePlaneMemoryInfo = Just f
     | Just Refl <- eqT @e @BindImageMemorySwapchainInfoKHR = Just f
     | Just Refl <- eqT @e @BindImageMemoryDeviceGroupInfo = Just f
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
@@ -367,6 +367,19 @@
 -- are returned in
 -- 'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'::@usage@.
 --
+-- == Valid Usage
+--
+-- -   #VUID-VkPhysicalDeviceExternalBufferInfo-None-09499# If the @pNext@
+--     chain does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
+--     structure, @usage@ must be a valid combination of
+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values
+--
+-- -   #VUID-VkPhysicalDeviceExternalBufferInfo-None-09500# If the @pNext@
+--     chain does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
+--     structure, @usage@ must not be 0
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkPhysicalDeviceExternalBufferInfo-sType-sType# @sType@ /must/
@@ -385,13 +398,6 @@
 --     'Vulkan.Core10.Enums.BufferCreateFlagBits.BufferCreateFlagBits'
 --     values
 --
--- -   #VUID-VkPhysicalDeviceExternalBufferInfo-usage-parameter# @usage@
---     /must/ be a valid combination of
---     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values
---
--- -   #VUID-VkPhysicalDeviceExternalBufferInfo-usage-requiredbitmask#
---     @usage@ /must/ not be @0@
---
 -- -   #VUID-VkPhysicalDeviceExternalBufferInfo-handleType-parameter#
 --     @handleType@ /must/ be a valid
 --     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits'
@@ -457,7 +463,6 @@
     lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_BUFFER_INFO)
     pNext' <- fmap castPtr . ContT $ withZeroChain @es
     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
-    lift $ poke ((p `plusPtr` 20 :: Ptr BufferUsageFlags)) (zero)
     lift $ poke ((p `plusPtr` 24 :: Ptr ExternalMemoryHandleTypeFlagBits)) (zero)
     lift $ f
 
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
@@ -156,6 +156,7 @@
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_driver_properties (PhysicalDeviceDriverProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_physical_device_drm (PhysicalDeviceDrmPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (PhysicalDeviceDynamicRenderingFeatures)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_dynamic_rendering_unused_attachments (PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_scissor_exclusive (PhysicalDeviceExclusiveScissorFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_extended_dynamic_state2 (PhysicalDeviceExtendedDynamicState2FeaturesEXT)
@@ -207,21 +208,23 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_filter_cubic (PhysicalDeviceImageViewImageFormatInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_image_view_min_lod (PhysicalDeviceImageViewMinLodFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_imageless_framebuffer (PhysicalDeviceImagelessFramebufferFeatures)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_inherited_viewport_scissor (PhysicalDeviceInheritedViewportScissorFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockFeatures)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block (PhysicalDeviceInlineUniformBlockProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_HUAWEI_invocation_mask (PhysicalDeviceInvocationMaskFeaturesHUAWEI)
 import {-# SOURCE #-} Vulkan.Extensions.VK_MSFT_layered_driver (PhysicalDeviceLayeredDriverPropertiesMSFT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_legacy_dithering (PhysicalDeviceLegacyDitheringFeaturesEXT)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationFeaturesEXT)
-import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_line_rasterization (PhysicalDeviceLineRasterizationPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_linear_color_attachment (PhysicalDeviceLinearColorAttachmentFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_maintenance3 (PhysicalDeviceMaintenance3Properties)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Features)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_maintenance4 (PhysicalDeviceMaintenance4Properties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (PhysicalDeviceMaintenance5PropertiesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6FeaturesKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PhysicalDeviceMaintenance6PropertiesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_memory_budget (PhysicalDeviceMemoryBudgetPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_memory_decompression (PhysicalDeviceMemoryDecompressionPropertiesNV)
@@ -249,6 +252,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_optical_flow (PhysicalDeviceOpticalFlowPropertiesNV)
 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_NV_per_stage_descriptor_set (PhysicalDevicePerStageDescriptorSetFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_performance_query (PhysicalDevicePerformanceQueryPropertiesKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_pipeline_creation_cache_control (PhysicalDevicePipelineCreationCacheControlFeatures)
@@ -311,19 +315,24 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMD_shader_early_and_late_fragment_tests (PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX)
 import {-# SOURCE #-} Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueuePropertiesAMDX)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_float16_int8 (PhysicalDeviceShaderFloat16Int8Features)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductProperties)
 import {-# SOURCE #-} Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_module_identifier (PhysicalDeviceShaderModuleIdentifierPropertiesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectFeaturesEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (PhysicalDeviceShaderObjectPropertiesEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsPropertiesNV)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_shader_subgroup_extended_types (PhysicalDeviceShaderSubgroupExtendedTypesFeatures)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow (PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_shader_terminate_invocation (PhysicalDeviceShaderTerminateInvocationFeatures)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT)
@@ -904,11 +913,18 @@
   getNext PhysicalDeviceFeatures2{..} = next
   extends :: forall e b proxy. Typeable e => proxy e -> (Extends PhysicalDeviceFeatures2 e => b) -> Maybe b
   extends _ f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderQuadControlFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderFloatControls2FeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderExpectAssumeFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderSubgroupRotateFeaturesKHR = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRenderPassStripedFeaturesARM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceRelaxedLineRasterizationFeaturesIMG = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSchedulingControlsFeaturesARM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCudaKernelLaunchFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceExternalFormatResolveFeaturesANDROID = Just f
+    | Just Refl <- eqT @e @PhysicalDevicePerStageDescriptorSetFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceDescriptorPoolOverallocationFeaturesNV = Just f
     | Just Refl <- eqT @e @PhysicalDeviceImageProcessing2FeaturesQCOM = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCubicWeightsFeaturesQCOM = Just f
@@ -1001,7 +1017,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceVulkan12Features = Just f
     | Just Refl <- eqT @e @PhysicalDeviceVulkan11Features = Just f
     | Just Refl <- eqT @e @PhysicalDevicePipelineCreationCacheControlFeatures = Just f
-    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceLineRasterizationFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSubgroupSizeControlFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceTexelBufferAlignmentFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderDemoteToHelperInvocationFeatures = Just f
@@ -1010,7 +1026,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceSeparateDepthStencilLayoutsFeatures = Just f
     | Just Refl <- eqT @e @PhysicalDeviceFragmentShaderInterlockFeaturesEXT = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderSMBuiltinsFeaturesNV = Just f
-    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesEXT = Just f
+    | Just Refl <- eqT @e @PhysicalDeviceIndexTypeUint8FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderClockFeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL = Just f
     | Just Refl <- eqT @e @PhysicalDeviceCoverageReductionModeFeaturesNV = Just f
@@ -1062,6 +1078,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 @PhysicalDeviceMaintenance6FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance5FeaturesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance4Features = Just f
     | Just Refl <- eqT @e @PhysicalDeviceInlineUniformBlockFeatures = Just f
@@ -1165,10 +1182,11 @@
 --     'Vulkan.Extensions.VK_QCOM_image_processing.PhysicalDeviceImageProcessingPropertiesQCOM',
 --     'Vulkan.Core13.Promoted_From_VK_EXT_inline_uniform_block.PhysicalDeviceInlineUniformBlockProperties',
 --     'Vulkan.Extensions.VK_MSFT_layered_driver.PhysicalDeviceLayeredDriverPropertiesMSFT',
---     'Vulkan.Extensions.VK_EXT_line_rasterization.PhysicalDeviceLineRasterizationPropertiesEXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.PhysicalDeviceLineRasterizationPropertiesKHR',
 --     'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties',
 --     'Vulkan.Core13.Promoted_From_VK_KHR_maintenance4.PhysicalDeviceMaintenance4Properties',
 --     'Vulkan.Extensions.VK_KHR_maintenance5.PhysicalDeviceMaintenance5PropertiesKHR',
+--     'Vulkan.Extensions.VK_KHR_maintenance6.PhysicalDeviceMaintenance6PropertiesKHR',
 --     'Vulkan.Extensions.VK_NV_memory_decompression.PhysicalDeviceMemoryDecompressionPropertiesNV',
 --     'Vulkan.Extensions.VK_EXT_mesh_shader.PhysicalDeviceMeshShaderPropertiesEXT',
 --     'Vulkan.Extensions.VK_NV_mesh_shader.PhysicalDeviceMeshShaderPropertiesNV',
@@ -1287,7 +1305,7 @@
     | Just Refl <- eqT @e @PhysicalDeviceVulkan13Properties = Just f
     | 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 @PhysicalDeviceLineRasterizationPropertiesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceClusterCullingShaderPropertiesHUAWEI = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSubpassShadingPropertiesHUAWEI = Just f
     | Just Refl <- eqT @e @PhysicalDeviceSubgroupSizeControlProperties = Just f
@@ -1318,6 +1336,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 @PhysicalDeviceMaintenance6PropertiesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance5PropertiesKHR = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance4Properties = Just f
     | Just Refl <- eqT @e @PhysicalDeviceMaintenance3Properties = Just f
@@ -2000,13 +2019,14 @@
     -- specifying the number of samples per texel.
     --
     -- #VUID-VkPhysicalDeviceSparseImageFormatInfo2-samples-01095# @samples@
-    -- /must/ be a bit value that is set in
+    -- /must/ be a valid
+    -- 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value that
+    -- is set in
     -- 'Vulkan.Core10.DeviceInitialization.ImageFormatProperties'::@sampleCounts@
     -- returned by
     -- 'Vulkan.Core10.DeviceInitialization.getPhysicalDeviceImageFormatProperties'
     -- with @format@, @type@, @tiling@, and @usage@ equal to those in this
-    -- command and @flags@ equal to the value that is set in
-    -- 'Vulkan.Core10.Image.ImageCreateInfo'::@flags@ when the image is created
+    -- command
     --
     -- #VUID-VkPhysicalDeviceSparseImageFormatInfo2-samples-parameter#
     -- @samples@ /must/ be a valid
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
@@ -790,14 +790,7 @@
 -- -   #VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-pBindingFlags-03004#
 --     If an element of @pBindingFlags@ includes
 --     'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT',
---     then all other elements of
---     'Vulkan.Core10.DescriptorSet.DescriptorSetLayoutCreateInfo'::@pBindings@
---     /must/ have a smaller value of @binding@
---
--- -   #VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-pBindingFlags-09379#
---     If an element of @pBindingFlags@ includes
---     'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT',
---     then it /must/ be the element with the the highest @binding@ number
+--     then it /must/ be the element with the highest @binding@ number
 --
 -- -   #VUID-VkDescriptorSetLayoutBindingFlagsCreateInfo-descriptorBindingUniformBufferUpdateAfterBind-03005#
 --     If
@@ -986,13 +979,6 @@
 --     If @descriptorSetCount@ is not zero, @descriptorSetCount@ /must/
 --     equal
 --     'Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo'::@descriptorSetCount@
---
--- -   #VUID-VkDescriptorSetVariableDescriptorCountAllocateInfo-pSetLayouts-03046#
---     If
---     'Vulkan.Core10.DescriptorSet.DescriptorSetAllocateInfo'::@pSetLayouts@[i]
---     has a variable-sized descriptor binding, then @pDescriptorCounts@[i]
---     /must/ be less than or equal to the descriptor count specified for
---     that binding when the descriptor set layout was created
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -401,6 +401,24 @@
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT'
 --     usage bit
 --
+-- -   #VUID-vkCmdBeginRenderPass2-initialLayout-09538# If any of the
+--     @initialLayout@ or @finalLayout@ member of the
+--     'Vulkan.Core10.Pass.AttachmentDescription' structures or the
+--     @layout@ member of the 'Vulkan.Core10.Pass.AttachmentReference'
+--     structures specified when creating the render pass specified in the
+--     @renderPass@ member of @pRenderPassBegin@ is
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--     then the corresponding attachment image view of the framebuffer
+--     specified in the @framebuffer@ member of @pRenderPassBegin@ /must/
+--     have been created with a @usage@ value including either
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or
+--     both
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
+--     and either of
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdBeginRenderPass2-commandBuffer-parameter# @commandBuffer@
@@ -891,10 +909,23 @@
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT'
 --
 -- -   #VUID-VkAttachmentDescription2-samples-08745# @samples@ /must/ be a
---     bit value that is set in @imageCreateSampleCounts@ (as defined in
+--     valid 'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits'
+--     value that is set in @imageCreateSampleCounts@ (as defined in
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-creation-limits Image Creation Limits>)
 --     for the given @format@
 --
+-- -   #VUID-VkAttachmentDescription2-dynamicRenderingLocalRead-09544# If
+--     the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @initialLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
+-- -   #VUID-VkAttachmentDescription2-dynamicRenderingLocalRead-09545# If
+--     the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @finalLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
 -- -   #VUID-VkAttachmentDescription2-pNext-06704# If the @pNext@ chain
 --     does not include a
 --     'Vulkan.Core12.Promoted_From_VK_KHR_separate_depth_stencil_layouts.AttachmentDescriptionStencilLayout'
@@ -1211,6 +1242,11 @@
 --     feature is not enabled, @layout@ /must/ not be
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT'
 --
+-- -   #VUID-VkAttachmentReference2-dynamicRenderingLocalRead-09546# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @layout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkAttachmentReference2-sType-sType# @sType@ /must/ be
@@ -1381,7 +1417,7 @@
 -- >         .a = VK_COMPONENT_SWIZZLE_IDENTITY},
 -- >     .xChromaOffset = properties.chromaOffsetX,
 -- >     .yChromaOffset = properties.chromaOffsetY,
--- >     .chromaFilter = ename:VK_FILTER_NEAREST,
+-- >     .chromaFilter = VK_FILTER_NEAREST,
 -- >     .forceExplicitReconstruction = ... };
 --
 -- where @properties@ is equal to
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
@@ -2468,8 +2468,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2481,8 +2482,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2496,8 +2497,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2518,8 +2520,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2531,8 +2534,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2546,8 +2549,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2561,15 +2565,16 @@
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-07849# If the bound graphics
 --     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectCount-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3249,7 +3254,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -3262,7 +3267,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -3275,7 +3280,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -3288,7 +3293,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -3550,6 +3555,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawIndirectCount-None-09548# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawIndirectCount-None-09549# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawIndirectCount-None-04007# All vertex input bindings
 --     accessed via vertex input variables declared in the vertex shader
 --     entry point’s interface /must/ have either valid or
@@ -6326,8 +6350,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6339,8 +6364,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6354,8 +6379,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6376,8 +6402,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6389,8 +6416,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6404,8 +6431,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6419,15 +6447,16 @@
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07849# If the bound
 --     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -7107,7 +7136,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -7120,7 +7149,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -7133,7 +7162,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -7146,7 +7175,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -7409,6 +7438,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-09548# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-09549# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-None-04007# All vertex input
 --     bindings accessed via vertex input variables declared in the vertex
 --     shader entry point’s interface /must/ have either valid or
@@ -7616,8 +7664,9 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-drawIndirectCount drawIndirectCount>
 --     is not enabled this function /must/ not be used
 --
--- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07312# An index buffer
---     /must/ be bound
+-- -   #VUID-vkCmdDrawIndexedIndirectCount-None-07312# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+--     is not enabled, a valid index buffer /must/ be bound
 --
 -- -   #VUID-vkCmdDrawIndexedIndirectCount-robustBufferAccess2-07825# If
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
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
@@ -40,6 +40,12 @@
 -- created as if the 'ImageFormatListCreateInfo' structure were not
 -- included in the @pNext@ chain of 'Vulkan.Core10.Image.ImageCreateInfo'.
 --
+-- == Valid Usage
+--
+-- -   #VUID-VkImageFormatListCreateInfo-viewFormatCount-09540# If
+--     @viewFormatCount@ is not 0, each element of @pViewFormats@ /must/
+--     not be 'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkImageFormatListCreateInfo-sType-sType# @sType@ /must/ be
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
@@ -190,6 +190,14 @@
 -- pass, as specified by 'RenderPassAttachmentBeginInfo', /must/ be created
 -- with parameters that are identical to those specified here.
 --
+-- == Valid Usage
+--
+-- -   #VUID-VkFramebufferAttachmentImageInfo-viewFormatCount-09536# If
+--     @viewFormatCount@ is not 0, and the render pass is not being used
+--     with an external format resolve attachment, each element of
+--     @pViewFormats@ /must/ not be
+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkFramebufferAttachmentImageInfo-sType-sType# @sType@ /must/
@@ -313,8 +321,8 @@
 --     element of @pAttachments@ /must/ only specify a single mip level
 --
 -- -   #VUID-VkRenderPassAttachmentBeginInfo-pAttachments-03219# Each
---     element of @pAttachments@ /must/ have been created with the identity
---     swizzle
+--     element of @pAttachments@ /must/ have been created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
 --
 -- -   #VUID-VkRenderPassAttachmentBeginInfo-pAttachments-04114# Each
 --     element of @pAttachments@ /must/ have been created with
diff --git a/src/Vulkan/Core13/Promoted_From_VK_EXT_private_data.hs b/src/Vulkan/Core13/Promoted_From_VK_EXT_private_data.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_EXT_private_data.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_EXT_private_data.hs
@@ -368,14 +368,16 @@
                -> -- | @objectType@ is a 'Vulkan.Core10.Enums.ObjectType.ObjectType' specifying
                   -- the type of object data is associated with.
                   --
-                  -- #VUID-vkGetPrivateData-objectType-04018# @objectType@ /must/ be
-                  -- 'Vulkan.Core10.Enums.ObjectType.OBJECT_TYPE_DEVICE', or an object type
-                  -- whose parent is 'Vulkan.Core10.Handles.Device'
-                  --
                   -- #VUID-vkGetPrivateData-objectType-parameter# @objectType@ /must/ be a
                   -- valid 'Vulkan.Core10.Enums.ObjectType.ObjectType' value
                   ObjectType
                -> -- | @objectHandle@ is a handle to the object data is associated with.
+                  --
+                  -- #VUID-vkGetPrivateData-objectType-04018# @objectHandle@ /must/ be
+                  -- @device@ or a child of @device@
+                  --
+                  -- #VUID-vkGetPrivateData-objectHandle-09498# @objectHandle@ /must/ be a
+                  -- valid handle to an object of type @objectType@
                   ("objectHandle" ::: Word64)
                -> -- | @privateDataSlot@ is a handle to a
                   -- 'Vulkan.Core13.Handles.PrivateDataSlot' specifying location of private
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_dynamic_rendering.hs
@@ -566,6 +566,18 @@
 --     have been created with
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'
 --
+-- -   #VUID-VkRenderingInfo-colorAttachmentCount-09476# If
+--     @colorAttachmentCount@ is not @0@ and there is an element of
+--     @pColorAttachments@ with either its @resolveMode@ member set to
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID',
+--     or its @imageView@ member not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', and its @resolveMode@
+--     member not set to
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE', the
+--     @resolveImageView@ member of that element of @pColorAttachments@
+--     /must/ have been created with
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'
+--
 -- -   #VUID-VkRenderingInfo-pDepthAttachment-06547# If @pDepthAttachment@
 --     is not @NULL@ and @pDepthAttachment->imageView@ is not
 --     'Vulkan.Core10.APIConstants.NULL_HANDLE',
@@ -578,6 +590,12 @@
 --     @pDepthAttachment->imageView@ /must/ have been created with
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
 --
+-- -   #VUID-VkRenderingInfo-pDepthAttachment-09477# If @pDepthAttachment@
+--     is not @NULL@ and @pDepthAttachment->resolveMode@ is not
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',
+--     @pDepthAttachment->resolveImageView@ /must/ have been created with
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
 -- -   #VUID-VkRenderingInfo-pStencilAttachment-06548# If
 --     @pStencilAttachment@ is not @NULL@ and
 --     @pStencilAttachment->imageView@ is not
@@ -593,6 +611,13 @@
 --     stencil usage including
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
 --
+-- -   #VUID-VkRenderingInfo-pStencilAttachment-09478# If
+--     @pStencilAttachment@ is not @NULL@ and
+--     @pStencilAttachment->resolveMode@ is not
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',
+--     @pStencilAttachment->resolveImageView@ /must/ have been created with
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
 -- -   #VUID-VkRenderingInfo-colorAttachmentCount-06090# If
 --     @colorAttachmentCount@ is not @0@ and the @imageView@ member of an
 --     element of @pColorAttachments@ is not
@@ -990,12 +1015,79 @@
 --     element of @pColorAttachments@ is
 --     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID',
 --     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'::@imageView@
---     /must/ be 'Vulkan.Core10.APIConstants.NULL_HANDLE' If the @pNext@
---     chain contains a
+--     /must/ be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--
+-- -   #VUID-VkRenderingInfo-pNext-09535# If the @pNext@ chain contains a
 --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeBeginInfoARM'
 --     structure, the union of stripe areas defined by the elements of
 --     'Vulkan.Extensions.VK_ARM_render_pass_striped.RenderPassStripeInfoARM'::@pStripeInfos@
 --     /must/ cover the @renderArea@
+--
+-- -   #VUID-VkRenderingInfo-colorAttachmentCount-09479# If
+--     @colorAttachmentCount@ is not @0@ and the @imageView@ member of an
+--     element of @pColorAttachments@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', that @imageView@ /must/
+--     have been created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--
+-- -   #VUID-VkRenderingInfo-colorAttachmentCount-09480# If
+--     @colorAttachmentCount@ is not @0@, and there is an element of
+--     @pColorAttachments@ with either its @resolveMode@ member set to
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID',
+--     or its @imageView@ member not set to
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE' and its @resolveMode@
+--     member not set to
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE', the
+--     @resolveImageView@ member of that element of @pColorAttachments@
+--     /must/ have been created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--
+-- -   #VUID-VkRenderingInfo-pDepthAttachment-09481# If @pDepthAttachment@
+--     is not @NULL@ and @pDepthAttachment->imageView@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',
+--     @pDepthAttachment->imageView@ /must/ have been created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--
+-- -   #VUID-VkRenderingInfo-pDepthAttachment-09482# If @pDepthAttachment@
+--     is not @NULL@, @pDepthAttachment->imageView@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', and
+--     @pDepthAttachment->resolveMode@ is not
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',
+--     @pDepthAttachment->resolveImageView@ /must/ have been created with
+--     the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--
+-- -   #VUID-VkRenderingInfo-pStencilAttachment-09483# If
+--     @pStencilAttachment@ is not @NULL@ and
+--     @pStencilAttachment->imageView@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE',
+--     @pStencilAttachment->imageView@ /must/ have been created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--
+-- -   #VUID-VkRenderingInfo-pStencilAttachment-09484# If
+--     @pStencilAttachment@ is not @NULL@, @pStencilAttachment->imageView@
+--     is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', and
+--     @pStencilAttachment->resolveMode@ is not
+--     'Vulkan.Core12.Enums.ResolveModeFlagBits.RESOLVE_MODE_NONE',
+--     @pStencilAttachment->resolveImageView@ /must/ have been created with
+--     the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--
+-- -   #VUID-VkRenderingInfo-imageView-09485# If the @imageView@ member of
+--     a
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentShadingRateAttachmentInfoKHR'
+--     structure included in the @pNext@ chain is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ have been
+--     created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
+--
+-- -   #VUID-VkRenderingInfo-imageView-09486# If the @imageView@ member of
+--     a
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering.RenderingFragmentDensityMapAttachmentInfoEXT'
+--     structure included in the @pNext@ chain is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ have been
+--     created with the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#resources-image-views-identity-mappings identity swizzle>
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_maintenance4.hs
@@ -313,12 +313,12 @@
 -- == Valid Usage
 --
 -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06416# The
---     @pCreateInfo@::@pNext@ chain /must/ not contain a
+--     @pCreateInfo->pNext@ chain /must/ not contain a
 --     'Vulkan.Extensions.VK_KHR_swapchain.ImageSwapchainCreateInfoKHR'
 --     structure
 --
 -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06776# The
---     @pCreateInfo@::@pNext@ chain /must/ not contain a
+--     @pCreateInfo->pNext@ chain /must/ not contain a
 --     'Vulkan.Extensions.VK_EXT_image_drm_format_modifier.ImageDrmFormatModifierExplicitCreateInfoEXT'
 --     structure
 --
@@ -335,16 +335,16 @@
 --     structure with non-zero @externalFormat@
 --
 -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06417# If
---     @pCreateInfo@::@format@ specifies a /multi-planar/ format and
---     @pCreateInfo@::@flags@ has
+--     @pCreateInfo->format@ specifies a /multi-planar/ format and
+--     @pCreateInfo->flags@ has
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
 --     set then @planeAspect@ /must/ not be
 --     'Vulkan.Extensions.VK_KHR_maintenance4.IMAGE_ASPECT_NONE_KHR'
 --
 -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06419# If
---     @pCreateInfo@::@flags@ has
+--     @pCreateInfo->flags@ has
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT'
---     set and if the @pCreateInfo@::@tiling@ is
+--     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
@@ -352,7 +352,7 @@
 --     bit
 --
 -- -   #VUID-VkDeviceImageMemoryRequirements-pCreateInfo-06420# If
---     @pCreateInfo@::@tiling@ is
+--     @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
@@ -396,9 +396,9 @@
   , -- | @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@::@tiling@ is
+    -- parameter is ignored unless @pCreateInfo->tiling@ is
     -- 'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_DRM_FORMAT_MODIFIER_EXT',
-    -- or @pCreateInfo@::@flags@ has
+    -- or @pCreateInfo->flags@ has
     -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_DISJOINT_BIT' set.
     planeAspect :: ImageAspectFlagBits
   }
diff --git a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
--- a/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
+++ b/src/Vulkan/Core13/Promoted_From_VK_KHR_synchronization2.hs
@@ -878,7 +878,7 @@
 --
 -- -   #VUID-vkCmdPipelineBarrier2-dependencyFlags-07891# If
 --     'cmdPipelineBarrier2' is called within a render pass instance, and
---     and the source stage masks of any memory barriers include
+--     the source stage masks of any memory barriers include
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>,
 --     then @dependencyFlags@ /must/ include
 --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_BY_REGION_BIT'
@@ -898,22 +898,41 @@
 --     view in the current subpass, dependency flags /must/ include
 --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'
 --
--- -   #VUID-vkCmdPipelineBarrier2-shaderTileImageColorReadAccess-08718# If
---     'cmdPipelineBarrier2' is called within a render pass instance and
---     none of the
+-- -   #VUID-vkCmdPipelineBarrier2-None-09553# If none of the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageColorReadAccess shaderTileImageColorReadAccess>,
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>,
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>
---     features are enabled, the render pass /must/ not have been started
---     with
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageStencilReadAccess shaderTileImageStencilReadAccess>,
+--     or
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shaderTileImageDepthReadAccess shaderTileImageDepthReadAccess>
+--     features are enabled, and the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, 'cmdPipelineBarrier2' /must/ not be called
+--     within a render pass instance started with
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
 --
--- -   #VUID-vkCmdPipelineBarrier2-None-08719# If 'cmdPipelineBarrier2' is
+-- -   #VUID-vkCmdPipelineBarrier2-None-09554# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, and 'cmdPipelineBarrier2' is called within a
+--     render pass instance started with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     there /must/ be no buffer or image memory barriers specified by this
+--     command
+--
+-- -   #VUID-vkCmdPipelineBarrier2-image-09555# If 'cmdPipelineBarrier2' is
 --     called within a render pass instance started with
 --     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
---     it /must/ adhere to the restrictions in
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-barriers-explicit-renderpass-tileimage Explicit Render Pass Tile Image Access Synchronization>
+--     and the @image@ member of any image memory barrier is used as an
+--     attachment in the current render pass instance, it /must/ be in the
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--     or 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL' layout
 --
+-- -   #VUID-vkCmdPipelineBarrier2-srcStageMask-09556# If
+--     'cmdPipelineBarrier2' is called within a render pass instance
+--     started with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     this command /must/ only specify
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-framebuffer-regions framebuffer-space stages>
+--     in @srcStageMask@ and @dstStageMask@
+--
 -- -   #VUID-vkCmdPipelineBarrier2-synchronization2-03848# The
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-synchronization2 synchronization2>
 --     feature /must/ be enabled
@@ -3602,6 +3621,32 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFeedbackLoopLayout attachmentFeedbackLoopLayout>
 --     feature is not enabled, @newLayout@ /must/ not be
 --     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT'
+--
+-- -   #VUID-VkImageMemoryBarrier2-srcQueueFamilyIndex-09550# If
+--     @srcQueueFamilyIndex@ and @dstQueueFamilyIndex@ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-queue-transfers queue family ownership transfer>
+--     or @oldLayout@ and @newLayout@ define an
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-image-layout-transitions image layout transition>,
+--     and @oldLayout@ or @newLayout@ is
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--     then @image@ /must/ have been created with either
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT', or
+--     with both
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT'
+--     and either of
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT'
+--     or
+--     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT'
+--
+-- -   #VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09551# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @oldLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
+-- -   #VUID-VkImageMemoryBarrier2-dynamicRenderingLocalRead-09552# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @newLayout@ /must/ not be
+--     'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
 --
 -- -   #VUID-VkImageMemoryBarrier2-subresourceRange-01486#
 --     @subresourceRange.baseMipLevel@ /must/ be less than the @mipLevels@
diff --git a/src/Vulkan/Dynamic.hs b/src/Vulkan/Dynamic.hs
--- a/src/Vulkan/Dynamic.hs
+++ b/src/Vulkan/Dynamic.hs
@@ -48,6 +48,8 @@
 import {-# SOURCE #-} Vulkan.CStruct.Extends (BaseOutStructure)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_ray_tracing (BindAccelerationStructureMemoryInfoNV)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindBufferMemoryInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorBufferEmbeddedSamplersInfoEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (BindDescriptorSetsInfoKHR)
 import {-# SOURCE #-} Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2 (BindImageMemoryInfo)
 import {-# SOURCE #-} Vulkan.Core10.SparseResourceMemoryManagement (BindSparseInfo)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (BlitImageInfo2)
@@ -357,6 +359,9 @@
 import {-# SOURCE #-} Vulkan.Core13.Handles (PrivateDataSlot)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_EXT_private_data (PrivateDataSlotCreateInfo)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushConstantsInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (PushDescriptorSetWithTemplateInfoKHR)
 import {-# SOURCE #-} Vulkan.Core10.Enums.QueryControlFlagBits (QueryControlFlags)
 import {-# SOURCE #-} Vulkan.Core10.Handles (QueryPool)
 import {-# SOURCE #-} Vulkan.Core10.Query (QueryPoolCreateInfo)
@@ -378,7 +383,9 @@
 import {-# SOURCE #-} Vulkan.Core10.Pass (RenderPassCreateInfo)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_create_renderpass2 (RenderPassCreateInfo2)
 import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance5 (RenderingAreaInfoKHR)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingAttachmentLocationInfoKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering (RenderingInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read (RenderingInputAttachmentIndexInfoKHR)
 import {-# SOURCE #-} Vulkan.Core13.Promoted_From_VK_KHR_copy_commands2 (ResolveImageInfo2)
 import {-# SOURCE #-} Vulkan.Core10.Enums.Result (Result)
 import {-# SOURCE #-} Vulkan.Core10.Enums.SampleCountFlagBits (SampleCountFlagBits)
@@ -400,6 +407,7 @@
 import {-# SOURCE #-} Vulkan.Extensions.VK_FUCHSIA_external_semaphore (SemaphoreGetZirconHandleInfoFUCHSIA)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreSignalInfo)
 import {-# SOURCE #-} Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore (SemaphoreWaitInfo)
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_maintenance6 (SetDescriptorBufferOffsetsInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.VK_NV_low_latency2 (SetLatencyMarkerInfoNV)
 import {-# SOURCE #-} Vulkan.Extensions.VK_EXT_shader_object (ShaderCreateInfoEXT)
 import {-# SOURCE #-} Vulkan.Extensions.Handles (ShaderEXT)
@@ -1163,7 +1171,7 @@
   , pVkGetPipelineExecutablePropertiesKHR :: FunPtr (Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result)
   , pVkGetPipelineExecutableStatisticsKHR :: FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result)
   , pVkGetPipelineExecutableInternalRepresentationsKHR :: FunPtr (Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result)
-  , pVkCmdSetLineStippleEXT :: FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ())
+  , pVkCmdSetLineStippleKHR :: FunPtr (Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ())
   , pVkCreateAccelerationStructureKHR :: FunPtr (Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result)
   , pVkCmdBuildAccelerationStructuresKHR :: FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ())
   , pVkCmdBuildAccelerationStructuresIndirectKHR :: FunPtr (Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ())
@@ -1330,11 +1338,19 @@
   , pVkCmdDispatchGraphAMDX :: FunPtr (Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ())
   , pVkCmdDispatchGraphIndirectAMDX :: FunPtr (Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ())
   , pVkCmdDispatchGraphIndirectCountAMDX :: FunPtr (Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("countInfo" ::: DeviceAddress) -> IO ())
+  , pVkCmdBindDescriptorSets2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pBindDescriptorSetsInfo" ::: Ptr (SomeStruct BindDescriptorSetsInfoKHR)) -> IO ())
+  , pVkCmdPushConstants2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pPushConstantsInfo" ::: Ptr (SomeStruct PushConstantsInfoKHR)) -> IO ())
+  , pVkCmdPushDescriptorSet2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pPushDescriptorSetInfo" ::: Ptr (SomeStruct PushDescriptorSetInfoKHR)) -> IO ())
+  , pVkCmdPushDescriptorSetWithTemplate2KHR :: FunPtr (Ptr CommandBuffer_T -> ("pPushDescriptorSetWithTemplateInfo" ::: Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR)) -> IO ())
+  , pVkCmdSetDescriptorBufferOffsets2EXT :: FunPtr (Ptr CommandBuffer_T -> ("pSetDescriptorBufferOffsetsInfo" ::: Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT)) -> IO ())
+  , pVkCmdBindDescriptorBufferEmbeddedSamplers2EXT :: FunPtr (Ptr CommandBuffer_T -> ("pBindDescriptorBufferEmbeddedSamplersInfo" ::: Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT)) -> IO ())
   , pVkSetLatencySleepModeNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSleepModeInfo" ::: Ptr LatencySleepModeInfoNV) -> IO Result)
   , pVkLatencySleepNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pSleepInfo" ::: Ptr LatencySleepInfoNV) -> IO Result)
   , pVkSetLatencyMarkerNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr SetLatencyMarkerInfoNV) -> IO ())
   , pVkGetLatencyTimingsNV :: FunPtr (Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr GetLatencyMarkerInfoNV) -> IO ())
   , pVkQueueNotifyOutOfBandNV :: FunPtr (Ptr Queue_T -> ("pQueueTypeInfo" ::: Ptr OutOfBandQueueTypeInfoNV) -> IO ())
+  , pVkCmdSetRenderingAttachmentLocationsKHR :: FunPtr (Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingAttachmentLocationInfoKHR) -> IO ())
+  , pVkCmdSetRenderingInputAttachmentIndicesKHR :: FunPtr (Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingInputAttachmentIndexInfoKHR) -> IO ())
   }
 
 deriving instance Eq DeviceCmds
@@ -1821,6 +1837,14 @@
     nullFunPtr
     nullFunPtr
     nullFunPtr
+    nullFunPtr
+    nullFunPtr
+    nullFunPtr
+    nullFunPtr
+    nullFunPtr
+    nullFunPtr
+    nullFunPtr
+    nullFunPtr
 
 foreign import ccall
 #if !defined(SAFE_FOREIGN_CALLS)
@@ -2184,7 +2208,8 @@
   vkGetPipelineExecutablePropertiesKHR <- getDeviceProcAddr' handle (Ptr "vkGetPipelineExecutablePropertiesKHR"#)
   vkGetPipelineExecutableStatisticsKHR <- getDeviceProcAddr' handle (Ptr "vkGetPipelineExecutableStatisticsKHR"#)
   vkGetPipelineExecutableInternalRepresentationsKHR <- getDeviceProcAddr' handle (Ptr "vkGetPipelineExecutableInternalRepresentationsKHR"#)
-  vkCmdSetLineStippleEXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetLineStippleEXT"#)
+  vkCmdSetLineStippleKHR <- getFirstDeviceProcAddr [ (Ptr "vkCmdSetLineStippleEXT"#)
+                                                   , (Ptr "vkCmdSetLineStippleKHR"#) ]
   vkCreateAccelerationStructureKHR <- getDeviceProcAddr' handle (Ptr "vkCreateAccelerationStructureKHR"#)
   vkCmdBuildAccelerationStructuresKHR <- getDeviceProcAddr' handle (Ptr "vkCmdBuildAccelerationStructuresKHR"#)
   vkCmdBuildAccelerationStructuresIndirectKHR <- getDeviceProcAddr' handle (Ptr "vkCmdBuildAccelerationStructuresIndirectKHR"#)
@@ -2385,11 +2410,19 @@
   vkCmdDispatchGraphAMDX <- getDeviceProcAddr' handle (Ptr "vkCmdDispatchGraphAMDX"#)
   vkCmdDispatchGraphIndirectAMDX <- getDeviceProcAddr' handle (Ptr "vkCmdDispatchGraphIndirectAMDX"#)
   vkCmdDispatchGraphIndirectCountAMDX <- getDeviceProcAddr' handle (Ptr "vkCmdDispatchGraphIndirectCountAMDX"#)
+  vkCmdBindDescriptorSets2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdBindDescriptorSets2KHR"#)
+  vkCmdPushConstants2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdPushConstants2KHR"#)
+  vkCmdPushDescriptorSet2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdPushDescriptorSet2KHR"#)
+  vkCmdPushDescriptorSetWithTemplate2KHR <- getDeviceProcAddr' handle (Ptr "vkCmdPushDescriptorSetWithTemplate2KHR"#)
+  vkCmdSetDescriptorBufferOffsets2EXT <- getDeviceProcAddr' handle (Ptr "vkCmdSetDescriptorBufferOffsets2EXT"#)
+  vkCmdBindDescriptorBufferEmbeddedSamplers2EXT <- getDeviceProcAddr' handle (Ptr "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT"#)
   vkSetLatencySleepModeNV <- getDeviceProcAddr' handle (Ptr "vkSetLatencySleepModeNV"#)
   vkLatencySleepNV <- getDeviceProcAddr' handle (Ptr "vkLatencySleepNV"#)
   vkSetLatencyMarkerNV <- getDeviceProcAddr' handle (Ptr "vkSetLatencyMarkerNV"#)
   vkGetLatencyTimingsNV <- getDeviceProcAddr' handle (Ptr "vkGetLatencyTimingsNV"#)
   vkQueueNotifyOutOfBandNV <- getDeviceProcAddr' handle (Ptr "vkQueueNotifyOutOfBandNV"#)
+  vkCmdSetRenderingAttachmentLocationsKHR <- getDeviceProcAddr' handle (Ptr "vkCmdSetRenderingAttachmentLocationsKHR"#)
+  vkCmdSetRenderingInputAttachmentIndicesKHR <- getDeviceProcAddr' handle (Ptr "vkCmdSetRenderingInputAttachmentIndicesKHR"#)
   pure $ DeviceCmds handle
     (castFunPtr @_ @(Ptr Device_T -> ("pName" ::: Ptr CChar) -> IO PFN_vkVoidFunction) vkGetDeviceProcAddr)
     (castFunPtr @_ @(Ptr Device_T -> ("pAllocator" ::: Ptr AllocationCallbacks) -> IO ()) vkDestroyDevice)
@@ -2698,7 +2731,7 @@
     (castFunPtr @_ @(Ptr Device_T -> ("pPipelineInfo" ::: Ptr PipelineInfoKHR) -> ("pExecutableCount" ::: Ptr Word32) -> ("pProperties" ::: Ptr PipelineExecutablePropertiesKHR) -> IO Result) vkGetPipelineExecutablePropertiesKHR)
     (castFunPtr @_ @(Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pStatisticCount" ::: Ptr Word32) -> ("pStatistics" ::: Ptr PipelineExecutableStatisticKHR) -> IO Result) vkGetPipelineExecutableStatisticsKHR)
     (castFunPtr @_ @(Ptr Device_T -> ("pExecutableInfo" ::: Ptr PipelineExecutableInfoKHR) -> ("pInternalRepresentationCount" ::: Ptr Word32) -> ("pInternalRepresentations" ::: Ptr PipelineExecutableInternalRepresentationKHR) -> IO Result) vkGetPipelineExecutableInternalRepresentationsKHR)
-    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ()) vkCmdSetLineStippleEXT)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("lineStippleFactor" ::: Word32) -> ("lineStipplePattern" ::: Word16) -> IO ()) vkCmdSetLineStippleKHR)
     (castFunPtr @_ @(Ptr Device_T -> ("pCreateInfo" ::: Ptr (SomeStruct AccelerationStructureCreateInfoKHR)) -> ("pAllocator" ::: Ptr AllocationCallbacks) -> ("pAccelerationStructure" ::: Ptr AccelerationStructureKHR) -> IO Result) vkCreateAccelerationStructureKHR)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("ppBuildRangeInfos" ::: Ptr (Ptr AccelerationStructureBuildRangeInfoKHR)) -> IO ()) vkCmdBuildAccelerationStructuresKHR)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("infoCount" ::: Word32) -> ("pInfos" ::: Ptr AccelerationStructureBuildGeometryInfoKHR) -> ("pIndirectDeviceAddresses" ::: Ptr DeviceAddress) -> ("pIndirectStrides" ::: Ptr Word32) -> ("ppMaxPrimitiveCounts" ::: Ptr (Ptr Word32)) -> IO ()) vkCmdBuildAccelerationStructuresIndirectKHR)
@@ -2865,9 +2898,17 @@
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ()) vkCmdDispatchGraphAMDX)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("pCountInfo" ::: Ptr DispatchGraphCountInfoAMDX) -> IO ()) vkCmdDispatchGraphIndirectAMDX)
     (castFunPtr @_ @(Ptr CommandBuffer_T -> ("scratch" ::: DeviceAddress) -> ("countInfo" ::: DeviceAddress) -> IO ()) vkCmdDispatchGraphIndirectCountAMDX)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pBindDescriptorSetsInfo" ::: Ptr (SomeStruct BindDescriptorSetsInfoKHR)) -> IO ()) vkCmdBindDescriptorSets2KHR)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pPushConstantsInfo" ::: Ptr (SomeStruct PushConstantsInfoKHR)) -> IO ()) vkCmdPushConstants2KHR)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pPushDescriptorSetInfo" ::: Ptr (SomeStruct PushDescriptorSetInfoKHR)) -> IO ()) vkCmdPushDescriptorSet2KHR)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pPushDescriptorSetWithTemplateInfo" ::: Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR)) -> IO ()) vkCmdPushDescriptorSetWithTemplate2KHR)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pSetDescriptorBufferOffsetsInfo" ::: Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT)) -> IO ()) vkCmdSetDescriptorBufferOffsets2EXT)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pBindDescriptorBufferEmbeddedSamplersInfo" ::: Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT)) -> IO ()) vkCmdBindDescriptorBufferEmbeddedSamplers2EXT)
     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pSleepModeInfo" ::: Ptr LatencySleepModeInfoNV) -> IO Result) vkSetLatencySleepModeNV)
     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pSleepInfo" ::: Ptr LatencySleepInfoNV) -> IO Result) vkLatencySleepNV)
     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr SetLatencyMarkerInfoNV) -> IO ()) vkSetLatencyMarkerNV)
     (castFunPtr @_ @(Ptr Device_T -> SwapchainKHR -> ("pLatencyMarkerInfo" ::: Ptr GetLatencyMarkerInfoNV) -> IO ()) vkGetLatencyTimingsNV)
     (castFunPtr @_ @(Ptr Queue_T -> ("pQueueTypeInfo" ::: Ptr OutOfBandQueueTypeInfoNV) -> IO ()) vkQueueNotifyOutOfBandNV)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingAttachmentLocationInfoKHR) -> IO ()) vkCmdSetRenderingAttachmentLocationsKHR)
+    (castFunPtr @_ @(Ptr CommandBuffer_T -> ("pLocationInfo" ::: Ptr RenderingInputAttachmentIndexInfoKHR) -> IO ()) vkCmdSetRenderingInputAttachmentIndicesKHR)
 
diff --git a/src/Vulkan/Extensions.hs b/src/Vulkan/Extensions.hs
--- a/src/Vulkan/Extensions.hs
+++ b/src/Vulkan/Extensions.hs
@@ -197,6 +197,7 @@
                           , module Vulkan.Extensions.VK_KHR_draw_indirect_count
                           , module Vulkan.Extensions.VK_KHR_driver_properties
                           , module Vulkan.Extensions.VK_KHR_dynamic_rendering
+                          , module Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read
                           , module Vulkan.Extensions.VK_KHR_external_fence
                           , module Vulkan.Extensions.VK_KHR_external_fence_capabilities
                           , module Vulkan.Extensions.VK_KHR_external_fence_fd
@@ -220,11 +221,15 @@
                           , module Vulkan.Extensions.VK_KHR_image_format_list
                           , module Vulkan.Extensions.VK_KHR_imageless_framebuffer
                           , module Vulkan.Extensions.VK_KHR_incremental_present
+                          , module Vulkan.Extensions.VK_KHR_index_type_uint8
+                          , module Vulkan.Extensions.VK_KHR_line_rasterization
+                          , module Vulkan.Extensions.VK_KHR_load_store_op_none
                           , 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_maintenance5
+                          , module Vulkan.Extensions.VK_KHR_maintenance6
                           , module Vulkan.Extensions.VK_KHR_map_memory2
                           , module Vulkan.Extensions.VK_KHR_multiview
                           , module Vulkan.Extensions.VK_KHR_performance_query
@@ -246,11 +251,16 @@
                           , module Vulkan.Extensions.VK_KHR_shader_atomic_int64
                           , module Vulkan.Extensions.VK_KHR_shader_clock
                           , module Vulkan.Extensions.VK_KHR_shader_draw_parameters
+                          , module Vulkan.Extensions.VK_KHR_shader_expect_assume
                           , module Vulkan.Extensions.VK_KHR_shader_float16_int8
                           , module Vulkan.Extensions.VK_KHR_shader_float_controls
+                          , module Vulkan.Extensions.VK_KHR_shader_float_controls2
                           , module Vulkan.Extensions.VK_KHR_shader_integer_dot_product
+                          , module Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence
                           , module Vulkan.Extensions.VK_KHR_shader_non_semantic_info
+                          , module Vulkan.Extensions.VK_KHR_shader_quad_control
                           , module Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
+                          , module Vulkan.Extensions.VK_KHR_shader_subgroup_rotate
                           , module Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow
                           , module Vulkan.Extensions.VK_KHR_shader_terminate_invocation
                           , module Vulkan.Extensions.VK_KHR_shared_presentable_image
@@ -316,6 +326,7 @@
                           , module Vulkan.Extensions.VK_NV_memory_decompression
                           , module Vulkan.Extensions.VK_NV_mesh_shader
                           , module Vulkan.Extensions.VK_NV_optical_flow
+                          , module Vulkan.Extensions.VK_NV_per_stage_descriptor_set
                           , module Vulkan.Extensions.VK_NV_present_barrier
                           , module Vulkan.Extensions.VK_NV_ray_tracing
                           , module Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder
@@ -546,6 +557,7 @@
 import Vulkan.Extensions.VK_KHR_draw_indirect_count
 import Vulkan.Extensions.VK_KHR_driver_properties
 import Vulkan.Extensions.VK_KHR_dynamic_rendering
+import Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read
 import Vulkan.Extensions.VK_KHR_external_fence
 import Vulkan.Extensions.VK_KHR_external_fence_capabilities
 import Vulkan.Extensions.VK_KHR_external_fence_fd
@@ -569,11 +581,15 @@
 import Vulkan.Extensions.VK_KHR_image_format_list
 import Vulkan.Extensions.VK_KHR_imageless_framebuffer
 import Vulkan.Extensions.VK_KHR_incremental_present
+import Vulkan.Extensions.VK_KHR_index_type_uint8
+import Vulkan.Extensions.VK_KHR_line_rasterization
+import Vulkan.Extensions.VK_KHR_load_store_op_none
 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_maintenance5
+import Vulkan.Extensions.VK_KHR_maintenance6
 import Vulkan.Extensions.VK_KHR_map_memory2
 import Vulkan.Extensions.VK_KHR_multiview
 import Vulkan.Extensions.VK_KHR_performance_query
@@ -595,11 +611,16 @@
 import Vulkan.Extensions.VK_KHR_shader_atomic_int64
 import Vulkan.Extensions.VK_KHR_shader_clock
 import Vulkan.Extensions.VK_KHR_shader_draw_parameters
+import Vulkan.Extensions.VK_KHR_shader_expect_assume
 import Vulkan.Extensions.VK_KHR_shader_float16_int8
 import Vulkan.Extensions.VK_KHR_shader_float_controls
+import Vulkan.Extensions.VK_KHR_shader_float_controls2
 import Vulkan.Extensions.VK_KHR_shader_integer_dot_product
+import Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence
 import Vulkan.Extensions.VK_KHR_shader_non_semantic_info
+import Vulkan.Extensions.VK_KHR_shader_quad_control
 import Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
+import Vulkan.Extensions.VK_KHR_shader_subgroup_rotate
 import Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow
 import Vulkan.Extensions.VK_KHR_shader_terminate_invocation
 import Vulkan.Extensions.VK_KHR_shared_presentable_image
@@ -665,6 +686,7 @@
 import Vulkan.Extensions.VK_NV_memory_decompression
 import Vulkan.Extensions.VK_NV_mesh_shader
 import Vulkan.Extensions.VK_NV_optical_flow
+import Vulkan.Extensions.VK_NV_per_stage_descriptor_set
 import Vulkan.Extensions.VK_NV_present_barrier
 import Vulkan.Extensions.VK_NV_ray_tracing
 import Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder
diff --git a/src/Vulkan/Extensions/VK_AMDX_shader_enqueue.hs b/src/Vulkan/Extensions/VK_AMDX_shader_enqueue.hs
--- a/src/Vulkan/Extensions/VK_AMDX_shader_enqueue.hs
+++ b/src/Vulkan/Extensions/VK_AMDX_shader_enqueue.hs
@@ -3207,6 +3207,13 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09497# If the
+--     @pNext@ chain does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'
+--     structure, @flags@ must be a valid combination of
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
+--     values
+--
 -- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07984# If @flags@
 --     contains the
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'
@@ -3375,11 +3382,6 @@
 --
 -- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-unique# The
 --     @sType@ value of each struct in the @pNext@ chain /must/ be unique
---
--- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-parameter#
---     @flags@ /must/ be a valid combination of
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
---     values
 --
 -- -   #VUID-VkExecutionGraphPipelineCreateInfoAMDX-pStages-parameter# If
 --     @stageCount@ is not @0@, and @pStages@ is not @NULL@, @pStages@
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
@@ -275,7 +275,7 @@
 -- below.
 --
 -- For @infoType@ 'SHADER_INFO_TYPE_DISASSEMBLY_AMD', @pInfo@ is a pointer
--- to a UTF-8 null-terminated string containing human-readable disassembly.
+-- to a null-terminated UTF-8 string containing human-readable disassembly.
 -- The exact formatting and contents of the disassembly string are
 -- vendor-specific.
 --
diff --git a/src/Vulkan/Extensions/VK_ARM_render_pass_striped.hs b/src/Vulkan/Extensions/VK_ARM_render_pass_striped.hs
--- a/src/Vulkan/Extensions/VK_ARM_render_pass_striped.hs
+++ b/src/Vulkan/Extensions/VK_ARM_render_pass_striped.hs
@@ -405,7 +405,7 @@
 --
 -- -   #VUID-VkRenderPassStripeBeginInfoARM-pStripeInfos-parameter#
 --     @pStripeInfos@ /must/ be a valid pointer to an array of
---     @stripeInfoCount@ 'RenderPassStripeInfoARM' structures
+--     @stripeInfoCount@ valid 'RenderPassStripeInfoARM' structures
 --
 -- -   #VUID-VkRenderPassStripeBeginInfoARM-stripeInfoCount-arraylength#
 --     @stripeInfoCount@ /must/ be greater than @0@
@@ -416,14 +416,11 @@
 -- 'RenderPassStripeInfoARM',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data RenderPassStripeBeginInfoARM = RenderPassStripeBeginInfoARM
-  { -- | @stripeInfoCount@ is the number of stripes in this render pass instance
-    stripeInfoCount :: Word32
-  , -- | @pStripeInfos@ is a pointer to an array of @stripeInfoCount@
+  { -- | @pStripeInfos@ is a pointer to an array of @stripeInfoCount@
     -- 'RenderPassStripeInfoARM' structures describing the stripes used by the
     -- render pass instance.
-    stripeInfos :: Ptr RenderPassStripeInfoARM
-  }
-  deriving (Typeable, Eq)
+    stripeInfos :: Vector RenderPassStripeInfoARM }
+  deriving (Typeable)
 #if defined(GENERIC_INSTANCES)
 deriving instance Generic (RenderPassStripeBeginInfoARM)
 #endif
@@ -431,38 +428,32 @@
 
 instance ToCStruct RenderPassStripeBeginInfoARM where
   withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
-  pokeCStruct p RenderPassStripeBeginInfoARM{..} f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr Word32)) (stripeInfoCount)
-    poke ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM))) (stripeInfos)
-    f
+  pokeCStruct p RenderPassStripeBeginInfoARM{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (stripeInfos)) :: Word32))
+    pPStripeInfos' <- ContT $ allocaBytes @RenderPassStripeInfoARM ((Data.Vector.length (stripeInfos)) * 32)
+    lift $ Data.Vector.imapM_ (\i e -> poke (pPStripeInfos' `plusPtr` (32 * (i)) :: Ptr RenderPassStripeInfoARM) (e)) (stripeInfos)
+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM))) (pPStripeInfos')
+    lift $ f
   cStructSize = 32
   cStructAlignment = 8
   pokeZeroCStruct p f = do
     poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM)
     poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)
-    poke ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM))) (zero)
     f
 
 instance FromCStruct RenderPassStripeBeginInfoARM where
   peekCStruct p = do
     stripeInfoCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
     pStripeInfos <- peek @(Ptr RenderPassStripeInfoARM) ((p `plusPtr` 24 :: Ptr (Ptr RenderPassStripeInfoARM)))
+    pStripeInfos' <- generateM (fromIntegral stripeInfoCount) (\i -> peekCStruct @RenderPassStripeInfoARM ((pStripeInfos `advancePtrBytes` (32 * (i)) :: Ptr RenderPassStripeInfoARM)))
     pure $ RenderPassStripeBeginInfoARM
-             stripeInfoCount pStripeInfos
-
-instance Storable RenderPassStripeBeginInfoARM where
-  sizeOf ~_ = 32
-  alignment ~_ = 8
-  peek = peekCStruct
-  poke ptr poked = pokeCStruct ptr poked (pure ())
+             pStripeInfos'
 
 instance Zero RenderPassStripeBeginInfoARM where
   zero = RenderPassStripeBeginInfoARM
-           zero
-           zero
+           mempty
 
 
 -- | VkRenderPassStripeSubmitInfoARM - Structure specifying striped rendering
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
@@ -721,7 +721,8 @@
                       -> -- | @pLayerPrefix@ is the abbreviation of the component making this
                          -- event\/message.
                          ("layerPrefix" ::: ByteString)
-                      -> -- | @pMessage@ is a null-terminated string detailing the trigger conditions.
+                      -> -- | @pMessage@ is a null-terminated UTF-8 string detailing the trigger
+                         -- conditions.
                          ("message" ::: ByteString)
                       -> io ()
 debugReportMessageEXT instance'
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
@@ -1863,10 +1863,6 @@
     messageType :: DebugUtilsMessageTypeFlagsEXT
   , -- | @pfnUserCallback@ is the application callback function to call.
     --
-    -- #VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-01914#
-    -- @pfnUserCallback@ /must/ be a valid
-    -- 'PFN_vkDebugUtilsMessengerCallbackEXT'
-    --
     -- #VUID-VkDebugUtilsMessengerCreateInfoEXT-pfnUserCallback-parameter#
     -- @pfnUserCallback@ /must/ be a valid
     -- 'PFN_vkDebugUtilsMessengerCallbackEXT' value
@@ -1981,8 +1977,9 @@
 --     If @pMessageIdName@ is not @NULL@, @pMessageIdName@ /must/ be a
 --     null-terminated UTF-8 string
 --
--- -   #VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter#
---     @pMessage@ /must/ be a null-terminated UTF-8 string
+-- -   #VUID-VkDebugUtilsMessengerCallbackDataEXT-pMessage-parameter# If
+--     @pMessage@ is not @NULL@, @pMessage@ /must/ be a null-terminated
+--     UTF-8 string
 --
 -- -   #VUID-VkDebugUtilsMessengerCallbackDataEXT-pQueueLabels-parameter#
 --     If @queueLabelCount@ is not @0@, @pQueueLabels@ /must/ be a valid
@@ -2011,19 +2008,21 @@
     next :: Chain es
   , -- | @flags@ is @0@ and is reserved for future use.
     flags :: DebugUtilsMessengerCallbackDataFlagsEXT
-  , -- | @pMessageIdName@ is a null-terminated string that identifies the
-    -- particular message ID that is associated with the provided message. If
-    -- the message corresponds to a validation layer message, then this string
-    -- may contain the portion of the Vulkan specification that is believed to
-    -- have been violated.
+  , -- | @pMessageIdName@ is @NULL@ or a null-terminated UTF-8 string that
+    -- identifies the particular message ID that is associated with the
+    -- provided message. If the message corresponds to a validation layer
+    -- message, then this string may contain the portion of the Vulkan
+    -- specification that is believed to have been violated.
     messageIdName :: Maybe ByteString
   , -- | @messageIdNumber@ is the ID number of the triggering message. If the
     -- message corresponds to a validation layer message, then this number is
     -- related to the internal number associated with the message being
     -- triggered.
     messageIdNumber :: Int32
-  , -- | @pMessage@ is a null-terminated string detailing the trigger conditions.
-    message :: ByteString
+  , -- | @pMessage@ is @NULL@ if @messageTypes@ is equal to
+    -- 'DEBUG_UTILS_MESSAGE_TYPE_DEVICE_ADDRESS_BINDING_BIT_EXT', or a
+    -- null-terminated UTF-8 string detailing the trigger conditions.
+    message :: Maybe ByteString
   , -- | @pQueueLabels@ is @NULL@ or a pointer to an array of
     -- 'DebugUtilsLabelEXT' active in the current 'Vulkan.Core10.Handles.Queue'
     -- at the time the callback was triggered. Refer to
@@ -2071,7 +2070,9 @@
       Just j -> ContT $ useAsCString (j)
     lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr CChar))) pMessageIdName''
     lift $ poke ((p `plusPtr` 32 :: Ptr Int32)) (messageIdNumber)
-    pMessage'' <- ContT $ useAsCString (message)
+    pMessage'' <- case (message) of
+      Nothing -> pure nullPtr
+      Just j -> ContT $ useAsCString (j)
     lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr CChar))) pMessage''
     lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (queueLabels)) :: Word32))
     pPQueueLabels' <- ContT $ allocaBytes @DebugUtilsLabelEXT ((Data.Vector.length (queueLabels)) * 40)
@@ -2093,8 +2094,6 @@
     pNext' <- fmap castPtr . ContT $ withZeroChain @es
     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
     lift $ poke ((p `plusPtr` 32 :: Ptr Int32)) (zero)
-    pMessage'' <- ContT $ useAsCString (mempty)
-    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr CChar))) pMessage''
     lift $ f
 
 instance ( Extendss DebugUtilsMessengerCallbackDataEXT es
@@ -2106,7 +2105,8 @@
     pMessageIdName <- peek @(Ptr CChar) ((p `plusPtr` 24 :: Ptr (Ptr CChar)))
     pMessageIdName' <- maybePeek (\j -> packCString (j)) pMessageIdName
     messageIdNumber <- peek @Int32 ((p `plusPtr` 32 :: Ptr Int32))
-    pMessage <- packCString =<< peek ((p `plusPtr` 40 :: Ptr (Ptr CChar)))
+    pMessage <- peek @(Ptr CChar) ((p `plusPtr` 40 :: Ptr (Ptr CChar)))
+    pMessage' <- maybePeek (\j -> packCString (j)) pMessage
     queueLabelCount <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32))
     pQueueLabels <- peek @(Ptr DebugUtilsLabelEXT) ((p `plusPtr` 56 :: Ptr (Ptr DebugUtilsLabelEXT)))
     pQueueLabels' <- generateM (fromIntegral queueLabelCount) (\i -> peekCStruct @DebugUtilsLabelEXT ((pQueueLabels `advancePtrBytes` (40 * (i)) :: Ptr DebugUtilsLabelEXT)))
@@ -2121,7 +2121,7 @@
              flags
              pMessageIdName'
              messageIdNumber
-             pMessage
+             pMessage'
              pQueueLabels'
              pCmdBufLabels'
              pObjects'
@@ -2132,7 +2132,7 @@
            zero
            Nothing
            zero
-           mempty
+           Nothing
            mempty
            mempty
            mempty
diff --git a/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs b/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs
--- a/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs
+++ b/src/Vulkan/Extensions/VK_EXT_descriptor_buffer.hs
@@ -727,10 +727,16 @@
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>
 --     feature /must/ be enabled
 --
--- -   #VUID-vkGetDescriptorEXT-dataSize-08125# @dataSize@ /must/ equal the
---     size of a descriptor of type 'DescriptorGetInfoEXT'::@type@
---     determined by the value in
---     'PhysicalDeviceDescriptorBufferPropertiesEXT' , or determined by
+-- -   #VUID-vkGetDescriptorEXT-dataSize-08125# If @pDescriptorInfo->type@
+--     is not
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'
+--     or @pDescriptorInfo->data.pCombinedImageSampler@ has a @imageView@
+--     member that was not created with a
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'
+--     structure in its @pNext@ chain, @dataSize@ /must/ equal the size of
+--     a descriptor of type 'DescriptorGetInfoEXT'::@type@ determined by
+--     the value in 'PhysicalDeviceDescriptorBufferPropertiesEXT' , or
+--     determined by
 --     'PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT'::@combinedImageSamplerDensityMapDescriptorSize@
 --     if @pDescriptorInfo@ specifies a
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'
@@ -738,9 +744,25 @@
 --     'Vulkan.Core10.Enums.SamplerCreateFlagBits.SAMPLER_CREATE_SUBSAMPLED_BIT_EXT'
 --     set
 --
--- -   #VUID-vkGetDescriptorEXT-pDescriptor-08016# @pDescriptor@ /must/ be
---     a valid pointer to an array of at least @dataSize@ bytes
+-- -   #VUID-vkGetDescriptorEXT-descriptorType-09469# If
+--     @pDescriptorInfo->type@ is
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'
+--     and @pDescriptorInfo->data.pCombinedImageSampler@ has a @imageView@
+--     member that was created with a
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionInfo'
+--     structure in its @pNext@ chain, @dataSize@ /must/ equal the size of
+--     'PhysicalDeviceDescriptorBufferPropertiesEXT'::@combinedImageSamplerDescriptorSize@
+--     times
+--     'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.SamplerYcbcrConversionImageFormatProperties'::@combinedImageSamplerDescriptorCount@
 --
+-- -   #VUID-vkGetDescriptorEXT-pDescriptorInfo-09507# If
+--     @pDescriptorInfo->type@ is
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER'
+--     and it has a @imageView@ that is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE' then @dataSize@ /must/ be
+--     equal to the size of
+--     'PhysicalDeviceDescriptorBufferPropertiesEXT'::@combinedImageSamplerDescriptorSize@
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkGetDescriptorEXT-device-parameter# @device@ /must/ be a
@@ -1004,10 +1026,6 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-None-08060# The
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>
---     feature /must/ be enabled
---
 -- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pOffsets-08061# The offsets
 --     in @pOffsets@ /must/ be aligned to
 --     'PhysicalDeviceDescriptorBufferPropertiesEXT'::@descriptorBufferOffsetAlignment@
@@ -1045,10 +1063,6 @@
 --     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
 --     provided when @layout@ was created
 --
--- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-08067#
---     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
---     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
---
 -- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-firstSet-09006# The
 --     'Vulkan.Core10.Handles.DescriptorSetLayout' for each set from
 --     @firstSet@ to @firstSet@ + @setCount@ when @layout@ was created
@@ -1056,6 +1070,14 @@
 --     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'
 --     bit set
 --
+-- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-None-08060# The
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>
+--     feature /must/ be enabled
+--
+-- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-pipelineBindPoint-08067#
+--     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
+--     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdSetDescriptorBufferOffsetsEXT-commandBuffer-parameter#
@@ -1197,14 +1219,6 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-None-08068# The
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>
---     feature /must/ be enabled
---
--- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-08069#
---     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
---     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
---
 -- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-set-08070# The
 --     'Vulkan.Core10.Handles.DescriptorSetLayout' at index @set@ when
 --     @layout@ was created /must/ have been created with the
@@ -1216,6 +1230,14 @@
 --     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
 --     provided when @layout@ was created
 --
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-None-08068# The
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>
+--     feature /must/ be enabled
+--
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-pipelineBindPoint-08069#
+--     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
+--     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplersEXT-commandBuffer-parameter#
@@ -2306,6 +2328,14 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkDescriptorAddressInfoEXT-None-09508# If @address@ is not
+--     zero, and the descriptor is of type
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER'
+--     or
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER',
+--     then @format@ /must/ not be
+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
+--
 -- -   #VUID-VkDescriptorAddressInfoEXT-address-08043# If the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>
 --     feature is not enabled, @address@ /must/ not be zero
@@ -2416,13 +2446,24 @@
 -- = Description
 --
 -- If a
--- 'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'
+-- 'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
 -- structure is present in the @pNext@ chain,
--- 'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'::@flags@
--- from that structure is used instead of @flags@ from this structure.
+-- 'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'::@usage@
+-- from that structure is used instead of @usage@ from this structure.
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkDescriptorBufferBindingInfoEXT-None-09499# If the @pNext@
+--     chain does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
+--     structure, @usage@ must be a valid combination of
+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values
+--
+-- -   #VUID-VkDescriptorBufferBindingInfoEXT-None-09500# If the @pNext@
+--     chain does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.BufferUsageFlags2CreateInfoKHR'
+--     structure, @usage@ must not be 0
+--
 -- -   #VUID-VkDescriptorBufferBindingInfoEXT-bufferlessPushDescriptors-08056#
 --     If
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-bufferlessPushDescriptors ::bufferlessPushDescriptors>
@@ -2471,13 +2512,6 @@
 -- -   #VUID-VkDescriptorBufferBindingInfoEXT-sType-unique# The @sType@
 --     value of each struct in the @pNext@ chain /must/ be unique
 --
--- -   #VUID-VkDescriptorBufferBindingInfoEXT-usage-parameter# @usage@
---     /must/ be a valid combination of
---     'Vulkan.Core10.Enums.BufferUsageFlagBits.BufferUsageFlagBits' values
---
--- -   #VUID-VkDescriptorBufferBindingInfoEXT-usage-requiredbitmask#
---     @usage@ /must/ not be @0@
---
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,
@@ -2530,7 +2564,6 @@
     pNext' <- fmap castPtr . ContT $ withZeroChain @es
     lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
     lift $ poke ((p `plusPtr` 16 :: Ptr DeviceAddress)) (zero)
-    lift $ poke ((p `plusPtr` 24 :: Ptr BufferUsageFlags)) (zero)
     lift $ f
 
 instance ( Extendss DescriptorBufferBindingInfoEXT es
@@ -2658,26 +2691,26 @@
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER',
 --     @pUniformTexelBuffer@ is not @NULL@ and
 --     @pUniformTexelBuffer->address@ is not zero,
---     @pUniformTexelBuffer->address@ must be an address within a
+--     @pUniformTexelBuffer->address@ /must/ be an address within a
 --     'Vulkan.Core10.Handles.Buffer' created on @device@
 --
 -- -   #VUID-VkDescriptorGetInfoEXT-type-08025# If @type@ is
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER',
 --     @pStorageTexelBuffer@ is not @NULL@ and
 --     @pStorageTexelBuffer->address@ is not zero,
---     @pStorageTexelBuffer->address@ must be an address within a
+--     @pStorageTexelBuffer->address@ /must/ be an address within a
 --     'Vulkan.Core10.Handles.Buffer' created on @device@
 --
 -- -   #VUID-VkDescriptorGetInfoEXT-type-08026# If @type@ is
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER',
 --     @pUniformBuffer@ is not @NULL@ and @pUniformBuffer->address@ is not
---     zero, @pUniformBuffer->address@ must be an address within a
+--     zero, @pUniformBuffer->address@ /must/ be an address within a
 --     'Vulkan.Core10.Handles.Buffer' created on @device@
 --
 -- -   #VUID-VkDescriptorGetInfoEXT-type-08027# If @type@ is
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER',
 --     @pStorageBuffer@ is not @NULL@ and @pStorageBuffer->address@ is not
---     zero, @pStorageBuffer->address@ must be an address within a
+--     zero, @pStorageBuffer->address@ /must/ be an address within a
 --     'Vulkan.Core10.Handles.Buffer' created on @device@
 --
 -- -   #VUID-VkDescriptorGetInfoEXT-type-09427# If @type@ is
diff --git a/src/Vulkan/Extensions/VK_EXT_device_fault.hs b/src/Vulkan/Extensions/VK_EXT_device_fault.hs
--- a/src/Vulkan/Extensions/VK_EXT_device_fault.hs
+++ b/src/Vulkan/Extensions/VK_EXT_device_fault.hs
@@ -312,22 +312,22 @@
 -- -   #VUID-vkGetDeviceFaultInfoEXT-pFaultCounts-07337# If the value
 --     referenced by @pFaultCounts->addressInfoCount@ is not @0@, and
 --     @pFaultInfo->pAddressInfos@ is not @NULL@,
---     @pFaultInfo->pAddressInfos@ must be a valid pointer to an array of
+--     @pFaultInfo->pAddressInfos@ /must/ be a valid pointer to an array of
 --     @pFaultCounts->addressInfoCount@ 'DeviceFaultAddressInfoEXT'
 --     structures
 --
 -- -   #VUID-vkGetDeviceFaultInfoEXT-pFaultCounts-07338# If the value
 --     referenced by @pFaultCounts->vendorInfoCount@ is not @0@, and
 --     @pFaultInfo->pVendorInfos@ is not @NULL@, @pFaultInfo->pVendorInfos@
---     must be a valid pointer to an array of
+--     /must/ be a valid pointer to an array of
 --     @pFaultCounts->vendorInfoCount@ 'DeviceFaultVendorInfoEXT'
 --     structures
 --
 -- -   #VUID-vkGetDeviceFaultInfoEXT-pFaultCounts-07339# If the value
 --     referenced by @pFaultCounts->vendorBinarySize@ is not @0@, and
 --     @pFaultInfo->pVendorBinaryData@ is not @NULL@,
---     @pFaultInfo->pVendorBinaryData@ must be a valid pointer to an array
---     of @pFaultCounts->vendorBinarySize@ bytes
+--     @pFaultInfo->pVendorBinaryData@ /must/ be a valid pointer to an
+--     array of @pFaultCounts->vendorBinarySize@ bytes
 --
 -- == Valid Usage (Implicit)
 --
@@ -704,19 +704,6 @@
 -- @VK_EXT_device_address_binding_report@ extension.
 --
 -- == Valid Usage (Implicit)
---
--- -   #VUID-VkDeviceFaultInfoEXT-sType-sType# @sType@ /must/ be
---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_DEVICE_FAULT_INFO_EXT'
---
--- -   #VUID-VkDeviceFaultInfoEXT-pNext-pNext# @pNext@ /must/ be @NULL@
---
--- -   #VUID-VkDeviceFaultInfoEXT-pAddressInfos-parameter# If
---     @pAddressInfos@ is not @NULL@, @pAddressInfos@ /must/ be a valid
---     pointer to a 'DeviceFaultAddressInfoEXT' structure
---
--- -   #VUID-VkDeviceFaultInfoEXT-pVendorInfos-parameter# If @pVendorInfos@
---     is not @NULL@, @pVendorInfos@ /must/ be a valid pointer to a
---     'DeviceFaultVendorInfoEXT' structure
 --
 -- = See Also
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs
--- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs
+++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs
@@ -25,6 +25,26 @@
 --
 -- [__API Interactions__]
 --
+--     -   Interacts with VK_VERSION_1_1
+--
+--     -   Interacts with VK_EXT_blend_operation_advanced
+--
+--     -   Interacts with VK_EXT_conservative_rasterization
+--
+--     -   Interacts with VK_EXT_depth_clip_control
+--
+--     -   Interacts with VK_EXT_depth_clip_enable
+--
+--     -   Interacts with VK_EXT_line_rasterization
+--
+--     -   Interacts with VK_EXT_provoking_vertex
+--
+--     -   Interacts with VK_EXT_sample_locations
+--
+--     -   Interacts with VK_EXT_transform_feedback
+--
+--     -   Interacts with VK_KHR_maintenance2
+--
 --     -   Interacts with VK_NV_clip_space_w_scaling
 --
 --     -   Interacts with VK_NV_coverage_reduction_mode
@@ -89,42 +109,80 @@
 --
 -- -   'cmdSetAlphaToOneEnableEXT'
 --
--- -   'cmdSetColorBlendAdvancedEXT'
---
 -- -   'cmdSetColorBlendEnableEXT'
 --
 -- -   'cmdSetColorBlendEquationEXT'
 --
 -- -   'cmdSetColorWriteMaskEXT'
 --
+-- -   'cmdSetDepthClampEnableEXT'
+--
+-- -   'cmdSetLogicOpEnableEXT'
+--
+-- -   'cmdSetPolygonModeEXT'
+--
+-- -   'cmdSetRasterizationSamplesEXT'
+--
+-- -   'cmdSetSampleMaskEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
+-- is supported:
+--
+-- -   'cmdSetColorBlendAdvancedEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
+-- is supported:
+--
 -- -   'cmdSetConservativeRasterizationModeEXT'
 --
--- -   'cmdSetDepthClampEnableEXT'
+-- -   'cmdSetExtraPrimitiveOverestimationSizeEXT'
 --
--- -   'cmdSetDepthClipEnableEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
+-- is supported:
 --
 -- -   'cmdSetDepthClipNegativeOneToOneEXT'
 --
--- -   'cmdSetExtraPrimitiveOverestimationSizeEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
+-- is supported:
 --
+-- -   'cmdSetDepthClipEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
+-- is supported:
+--
 -- -   'cmdSetLineRasterizationModeEXT'
 --
 -- -   'cmdSetLineStippleEnableEXT'
 --
--- -   'cmdSetLogicOpEnableEXT'
---
--- -   'cmdSetPolygonModeEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
+-- is supported:
 --
 -- -   'cmdSetProvokingVertexModeEXT'
 --
--- -   'cmdSetRasterizationSamplesEXT'
---
--- -   'cmdSetRasterizationStreamEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
+-- is supported:
 --
 -- -   'cmdSetSampleLocationsEnableEXT'
 --
--- -   'cmdSetSampleMaskEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
+-- is supported:
 --
+-- -   'cmdSetRasterizationStreamEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>
+-- or
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+-- is supported:
+--
 -- -   'cmdSetTessellationDomainOriginEXT'
 --
 -- If
@@ -204,50 +262,106 @@
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'
---
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT'
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT'
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_MASK_EXT'
 --
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
+-- is supported:
 --
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
+-- is supported:
 --
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT'
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
--- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT'
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>
+-- or
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'
+--
 -- If
 -- <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>
 -- is supported:
@@ -339,16 +453,10 @@
 -- 'PhysicalDeviceExtendedDynamicState3FeaturesEXT',
 -- 'PhysicalDeviceExtendedDynamicState3PropertiesEXT',
 -- 'cmdSetAlphaToCoverageEnableEXT', 'cmdSetAlphaToOneEnableEXT',
--- 'cmdSetColorBlendAdvancedEXT', 'cmdSetColorBlendEnableEXT',
--- 'cmdSetColorBlendEquationEXT', 'cmdSetColorWriteMaskEXT',
--- 'cmdSetConservativeRasterizationModeEXT', 'cmdSetDepthClampEnableEXT',
--- 'cmdSetDepthClipEnableEXT', 'cmdSetDepthClipNegativeOneToOneEXT',
--- 'cmdSetExtraPrimitiveOverestimationSizeEXT',
--- 'cmdSetLineRasterizationModeEXT', 'cmdSetLineStippleEnableEXT',
+-- 'cmdSetColorBlendEnableEXT', 'cmdSetColorBlendEquationEXT',
+-- 'cmdSetColorWriteMaskEXT', 'cmdSetDepthClampEnableEXT',
 -- 'cmdSetLogicOpEnableEXT', 'cmdSetPolygonModeEXT',
--- 'cmdSetProvokingVertexModeEXT', 'cmdSetRasterizationSamplesEXT',
--- 'cmdSetRasterizationStreamEXT', 'cmdSetSampleLocationsEnableEXT',
--- 'cmdSetSampleMaskEXT', 'cmdSetTessellationDomainOriginEXT'
+-- 'cmdSetRasterizationSamplesEXT', 'cmdSetSampleMaskEXT'
 --
 -- == Document Notes
 --
@@ -402,8 +510,9 @@
                                                          , CoverageModulationModeNV(..)
                                                          , CoverageReductionModeNV(..)
                                                          , ConservativeRasterizationModeEXT(..)
-                                                         , LineRasterizationModeEXT(..)
+                                                         , LineRasterizationModeKHR(..)
                                                          , ProvokingVertexModeEXT(..)
+                                                         , LineRasterizationModeEXT
                                                          ) where
 
 import Vulkan.Internal.Utils (traceAroundEvent)
@@ -494,7 +603,7 @@
 import Vulkan.Dynamic (DeviceCmds(pVkCmdSetViewportSwizzleNV))
 import Vulkan.Dynamic (DeviceCmds(pVkCmdSetViewportWScalingEnableNV))
 import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT)
-import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT(..))
+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..))
 import Vulkan.Core10.Enums.PolygonMode (PolygonMode)
 import Vulkan.Core10.Enums.PolygonMode (PolygonMode(..))
 import Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT)
@@ -512,7 +621,8 @@
 import Vulkan.Extensions.VK_EXT_conservative_rasterization (ConservativeRasterizationModeEXT(..))
 import Vulkan.Extensions.VK_NV_framebuffer_mixed_samples (CoverageModulationModeNV(..))
 import Vulkan.Extensions.VK_NV_coverage_reduction_mode (CoverageReductionModeNV(..))
-import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT(..))
+import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT)
+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..))
 import Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT(..))
 import Vulkan.Extensions.VK_NV_viewport_swizzle (ViewportCoordinateSwizzleNV(..))
 import Vulkan.Extensions.VK_NV_viewport_swizzle (ViewportSwizzleNV(..))
@@ -596,6 +706,8 @@
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>,
+-- <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.Enums.TessellationDomainOrigin.TessellationDomainOrigin'
 cmdSetTessellationDomainOriginEXT :: forall io
@@ -1788,6 +1900,7 @@
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
+-- <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'
 cmdSetRasterizationStreamEXT :: forall io
                               . (MonadIO io)
@@ -1886,6 +1999,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
@@ -1991,6 +2105,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.Handles.CommandBuffer'
@@ -2097,6 +2212,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>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
@@ -2194,6 +2310,7 @@
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
@@ -2299,6 +2416,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>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'ColorBlendAdvancedEXT', 'Vulkan.Core10.Handles.CommandBuffer'
@@ -2418,6 +2536,7 @@
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Extensions.VK_EXT_provoking_vertex.ProvokingVertexModeEXT'
@@ -2460,7 +2579,7 @@
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
 -- Otherwise, this state is specified by the
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'::@lineRasterizationMode@
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'::@lineRasterizationMode@
 -- value used to create the currently active pipeline.
 --
 -- == Valid Usage
@@ -2478,21 +2597,21 @@
 --
 -- -   #VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07418#
 --     If @lineRasterizationMode@ is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-rectangularLines rectangularLines>
 --     feature /must/ be enabled
 --
 -- -   #VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07419#
 --     If @lineRasterizationMode@ is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bresenhamLines bresenhamLines>
 --     feature /must/ be enabled
 --
 -- -   #VUID-vkCmdSetLineRasterizationModeEXT-lineRasterizationMode-07420#
 --     If @lineRasterizationMode@ is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-smoothLines smoothLines>
 --     feature /must/ be enabled
@@ -2540,6 +2659,7 @@
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.Handles.CommandBuffer',
 -- 'Vulkan.Extensions.VK_EXT_line_rasterization.LineRasterizationModeEXT'
@@ -2582,7 +2702,7 @@
 -- set in
 -- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
 -- Otherwise, this state is specified by the
--- 'Vulkan.Extensions.VK_EXT_line_rasterization.PipelineRasterizationLineStateCreateInfoEXT'::@stippledLineEnable@
+-- 'Vulkan.Extensions.VK_KHR_line_rasterization.PipelineRasterizationLineStateCreateInfoKHR'::@stippledLineEnable@
 -- value used to create the currently active pipeline.
 --
 -- == Valid Usage
@@ -2636,6 +2756,7 @@
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Handles.CommandBuffer'
@@ -2736,6 +2857,7 @@
 --
 -- = See Also
 --
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_extended_dynamic_state3 VK_EXT_extended_dynamic_state3>,
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_shader_object VK_EXT_shader_object>,
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
diff --git a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_extended_dynamic_state3.hs-boot
@@ -25,6 +25,26 @@
 --
 -- [__API Interactions__]
 --
+--     -   Interacts with VK_VERSION_1_1
+--
+--     -   Interacts with VK_EXT_blend_operation_advanced
+--
+--     -   Interacts with VK_EXT_conservative_rasterization
+--
+--     -   Interacts with VK_EXT_depth_clip_control
+--
+--     -   Interacts with VK_EXT_depth_clip_enable
+--
+--     -   Interacts with VK_EXT_line_rasterization
+--
+--     -   Interacts with VK_EXT_provoking_vertex
+--
+--     -   Interacts with VK_EXT_sample_locations
+--
+--     -   Interacts with VK_EXT_transform_feedback
+--
+--     -   Interacts with VK_KHR_maintenance2
+--
 --     -   Interacts with VK_NV_clip_space_w_scaling
 --
 --     -   Interacts with VK_NV_coverage_reduction_mode
@@ -89,42 +109,80 @@
 --
 -- -   'cmdSetAlphaToOneEnableEXT'
 --
--- -   'cmdSetColorBlendAdvancedEXT'
---
 -- -   'cmdSetColorBlendEnableEXT'
 --
 -- -   'cmdSetColorBlendEquationEXT'
 --
 -- -   'cmdSetColorWriteMaskEXT'
 --
+-- -   'cmdSetDepthClampEnableEXT'
+--
+-- -   'cmdSetLogicOpEnableEXT'
+--
+-- -   'cmdSetPolygonModeEXT'
+--
+-- -   'cmdSetRasterizationSamplesEXT'
+--
+-- -   'cmdSetSampleMaskEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
+-- is supported:
+--
+-- -   'cmdSetColorBlendAdvancedEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
+-- is supported:
+--
 -- -   'cmdSetConservativeRasterizationModeEXT'
 --
--- -   'cmdSetDepthClampEnableEXT'
+-- -   'cmdSetExtraPrimitiveOverestimationSizeEXT'
 --
--- -   'cmdSetDepthClipEnableEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
+-- is supported:
 --
 -- -   'cmdSetDepthClipNegativeOneToOneEXT'
 --
--- -   'cmdSetExtraPrimitiveOverestimationSizeEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
+-- is supported:
 --
+-- -   'cmdSetDepthClipEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
+-- is supported:
+--
 -- -   'cmdSetLineRasterizationModeEXT'
 --
 -- -   'cmdSetLineStippleEnableEXT'
 --
--- -   'cmdSetLogicOpEnableEXT'
---
--- -   'cmdSetPolygonModeEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
+-- is supported:
 --
 -- -   'cmdSetProvokingVertexModeEXT'
 --
--- -   'cmdSetRasterizationSamplesEXT'
---
--- -   'cmdSetRasterizationStreamEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
+-- is supported:
 --
 -- -   'cmdSetSampleLocationsEnableEXT'
 --
--- -   'cmdSetSampleMaskEXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
+-- is supported:
 --
+-- -   'cmdSetRasterizationStreamEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>
+-- or
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+-- is supported:
+--
 -- -   'cmdSetTessellationDomainOriginEXT'
 --
 -- If
@@ -204,50 +262,106 @@
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'
---
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT'
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT'
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_WRITE_MASK_EXT'
 --
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT'
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
+-- is supported:
 --
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
+-- is supported:
 --
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT'
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_POLYGON_MODE_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
 --     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT'
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_SAMPLE_MASK_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
--- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_RASTERIZATION_STREAM_EXT'
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_FEATURES_EXT'
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance2 VK_KHR_maintenance2>
+-- or
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+-- is supported:
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_DYNAMIC_STATE_3_PROPERTIES_EXT'
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT'
+--
 -- If
 -- <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>
 -- is supported:
@@ -339,16 +453,10 @@
 -- 'PhysicalDeviceExtendedDynamicState3FeaturesEXT',
 -- 'PhysicalDeviceExtendedDynamicState3PropertiesEXT',
 -- 'cmdSetAlphaToCoverageEnableEXT', 'cmdSetAlphaToOneEnableEXT',
--- 'cmdSetColorBlendAdvancedEXT', 'cmdSetColorBlendEnableEXT',
--- 'cmdSetColorBlendEquationEXT', 'cmdSetColorWriteMaskEXT',
--- 'cmdSetConservativeRasterizationModeEXT', 'cmdSetDepthClampEnableEXT',
--- 'cmdSetDepthClipEnableEXT', 'cmdSetDepthClipNegativeOneToOneEXT',
--- 'cmdSetExtraPrimitiveOverestimationSizeEXT',
--- 'cmdSetLineRasterizationModeEXT', 'cmdSetLineStippleEnableEXT',
+-- 'cmdSetColorBlendEnableEXT', 'cmdSetColorBlendEquationEXT',
+-- 'cmdSetColorWriteMaskEXT', 'cmdSetDepthClampEnableEXT',
 -- 'cmdSetLogicOpEnableEXT', 'cmdSetPolygonModeEXT',
--- 'cmdSetProvokingVertexModeEXT', 'cmdSetRasterizationSamplesEXT',
--- 'cmdSetRasterizationStreamEXT', 'cmdSetSampleLocationsEnableEXT',
--- 'cmdSetSampleMaskEXT', 'cmdSetTessellationDomainOriginEXT'
+-- 'cmdSetRasterizationSamplesEXT', 'cmdSetSampleMaskEXT'
 --
 -- == Document Notes
 --
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
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Bill Licea-Kane
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @mnetsch%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_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
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Bill Licea-Kane
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_EXT_filter_cubic] @mnetsch%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_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
@@ -674,8 +674,20 @@
 -- to handle when an application is minimised or otherwise intends to stop
 -- presenting for a time.
 --
--- == Valid Usage
+-- == 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_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_EXT_full_screen_exclusive VK_EXT_full_screen_exclusive>,
@@ -683,6 +695,9 @@
 releaseFullScreenExclusiveModeEXT :: forall io
                                    . (MonadIO io)
                                   => -- | @device@ is the device associated with @swapchain@.
+                                     --
+                                     -- #VUID-vkReleaseFullScreenExclusiveModeEXT-device-parameter# @device@
+                                     -- /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
                                      Device
                                   -> -- | @swapchain@ is the swapchain to release exclusive full-screen access
                                      -- from.
@@ -694,6 +709,13 @@
                                      -- /must/ be a swapchain created with a 'SurfaceFullScreenExclusiveInfoEXT'
                                      -- structure, with @fullScreenExclusive@ set to
                                      -- 'FULL_SCREEN_EXCLUSIVE_APPLICATION_CONTROLLED_EXT'
+                                     --
+                                     -- #VUID-vkReleaseFullScreenExclusiveModeEXT-swapchain-parameter#
+                                     -- @swapchain@ /must/ be a valid 'Vulkan.Extensions.Handles.SwapchainKHR'
+                                     -- handle
+                                     --
+                                     -- #VUID-vkReleaseFullScreenExclusiveModeEXT-swapchain-parent# @swapchain@
+                                     -- /must/ have been created, allocated, or retrieved from @device@
                                      SwapchainKHR
                                   -> io ()
 releaseFullScreenExclusiveModeEXT device swapchain = liftIO $ do
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
@@ -25,6 +25,12 @@
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
 --
+-- [__Deprecation State__]
+--
+--     -   /Promoted/ to
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_index_type_uint8 VK_KHR_index_type_uint8>
+--         extension
+--
 -- [__Contact__]
 --
 --     -   Piers Daniell
@@ -47,6 +53,12 @@
 -- This extension allows @uint8_t@ indices to be used with
 -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.
 --
+-- == Promotion to @VK_KHR_index_type_uint8@
+--
+-- All functionality in this extension is included in
+-- @VK_KHR_index_type_uint8@, with the suffix changed to KHR. The original
+-- enum names are still available as aliases of the KHR functionality.
+--
 -- == New Structures
 --
 -- -   Extending
@@ -63,11 +75,11 @@
 --
 -- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':
 --
---     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT'
+--     -   'INDEX_TYPE_UINT8_EXT'
 --
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT'
+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT'
 --
 -- == Version History
 --
@@ -86,103 +98,31 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_EXT_index_type_uint8  ( PhysicalDeviceIndexTypeUint8FeaturesEXT(..)
+module Vulkan.Extensions.VK_EXT_index_type_uint8  ( pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT
+                                                  , pattern INDEX_TYPE_UINT8_EXT
+                                                  , PhysicalDeviceIndexTypeUint8FeaturesEXT
                                                   , EXT_INDEX_TYPE_UINT8_SPEC_VERSION
                                                   , pattern EXT_INDEX_TYPE_UINT8_SPEC_VERSION
                                                   , EXT_INDEX_TYPE_UINT8_EXTENSION_NAME
                                                   , pattern EXT_INDEX_TYPE_UINT8_EXTENSION_NAME
+                                                  , PhysicalDeviceIndexTypeUint8FeaturesKHR(..)
                                                   ) 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_INDEX_TYPE_UINT8_FEATURES_EXT))
--- | VkPhysicalDeviceIndexTypeUint8FeaturesEXT - Structure describing whether
--- uint8 index type can be used
---
--- = Members
---
--- This structure describes the following feature:
---
--- = Description
---
--- If the 'PhysicalDeviceIndexTypeUint8FeaturesEXT' 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. 'PhysicalDeviceIndexTypeUint8FeaturesEXT' /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_index_type_uint8 VK_EXT_index_type_uint8>,
--- 'Vulkan.Core10.FundamentalTypes.Bool32',
--- 'Vulkan.Core10.Enums.StructureType.StructureType'
-data PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8FeaturesEXT
-  { -- | #features-indexTypeUint8# @indexTypeUint8@ indicates that
-    -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT' can be used with
-    -- 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR' and
-    -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.
-    indexTypeUint8 :: Bool }
-  deriving (Typeable, Eq)
-#if defined(GENERIC_INSTANCES)
-deriving instance Generic (PhysicalDeviceIndexTypeUint8FeaturesEXT)
-#endif
-deriving instance Show PhysicalDeviceIndexTypeUint8FeaturesEXT
+import Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR)
+import Vulkan.Core10.Enums.IndexType (IndexType(INDEX_TYPE_UINT8_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR))
+import Vulkan.Extensions.VK_KHR_index_type_uint8 (PhysicalDeviceIndexTypeUint8FeaturesKHR(..))
+-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT = STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR
 
-instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT where
-  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
-  pokeCStruct p PhysicalDeviceIndexTypeUint8FeaturesEXT{..} f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (indexTypeUint8))
-    f
-  cStructSize = 24
-  cStructAlignment = 8
-  pokeZeroCStruct p f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
-    f
 
-instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT where
-  peekCStruct p = do
-    indexTypeUint8 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
-    pure $ PhysicalDeviceIndexTypeUint8FeaturesEXT
-             (bool32ToBool indexTypeUint8)
+-- No documentation found for TopLevel "VK_INDEX_TYPE_UINT8_EXT"
+pattern INDEX_TYPE_UINT8_EXT = INDEX_TYPE_UINT8_KHR
 
-instance Storable PhysicalDeviceIndexTypeUint8FeaturesEXT where
-  sizeOf ~_ = 24
-  alignment ~_ = 8
-  peek = peekCStruct
-  poke ptr poked = pokeCStruct ptr poked (pure ())
 
-instance Zero PhysicalDeviceIndexTypeUint8FeaturesEXT where
-  zero = PhysicalDeviceIndexTypeUint8FeaturesEXT
-           zero
+-- No documentation found for TopLevel "VkPhysicalDeviceIndexTypeUint8FeaturesEXT"
+type PhysicalDeviceIndexTypeUint8FeaturesEXT = PhysicalDeviceIndexTypeUint8FeaturesKHR
 
 
 type EXT_INDEX_TYPE_UINT8_SPEC_VERSION = 1
diff --git a/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot b/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot
deleted file mode 100644
--- a/src/Vulkan/Extensions/VK_EXT_index_type_uint8.hs-boot
+++ /dev/null
@@ -1,101 +0,0 @@
-{-# language CPP #-}
--- | = Name
---
--- VK_EXT_index_type_uint8 - device extension
---
--- == VK_EXT_index_type_uint8
---
--- [__Name String__]
---     @VK_EXT_index_type_uint8@
---
--- [__Extension Type__]
---     Device extension
---
--- [__Registered Extension Number__]
---     266
---
--- [__Revision__]
---     1
---
--- [__Ratification Status__]
---     Not ratified
---
--- [__Extension and Version Dependencies__]
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
---     or
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
---
--- [__Contact__]
---
---     -   Piers Daniell
---         <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
---
--- [__Last Modified Date__]
---     2019-05-02
---
--- [__IP Status__]
---     No known IP claims.
---
--- [__Contributors__]
---
---     -   Jeff Bolz, NVIDIA
---
--- == Description
---
--- This extension allows @uint8_t@ indices to be used with
--- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.
---
--- == New Structures
---
--- -   Extending
---     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
---     'Vulkan.Core10.Device.DeviceCreateInfo':
---
---     -   'PhysicalDeviceIndexTypeUint8FeaturesEXT'
---
--- == New Enum Constants
---
--- -   'EXT_INDEX_TYPE_UINT8_EXTENSION_NAME'
---
--- -   'EXT_INDEX_TYPE_UINT8_SPEC_VERSION'
---
--- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':
---
---     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT'
---
--- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
---
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_EXT'
---
--- == Version History
---
--- -   Revision 1, 2019-05-02 (Piers Daniell)
---
---     -   Internal revisions
---
--- == See Also
---
--- 'PhysicalDeviceIndexTypeUint8FeaturesEXT'
---
--- == Document Notes
---
--- For more information, see the
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_EXT_index_type_uint8 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_index_type_uint8  (PhysicalDeviceIndexTypeUint8FeaturesEXT) where
-
-import Vulkan.CStruct (FromCStruct)
-import Vulkan.CStruct (ToCStruct)
-import Data.Kind (Type)
-
-data PhysicalDeviceIndexTypeUint8FeaturesEXT
-
-instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT
-instance Show PhysicalDeviceIndexTypeUint8FeaturesEXT
-
-instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesEXT
-
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
@@ -25,6 +25,12 @@
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
 --
+-- [__Deprecation State__]
+--
+--     -   /Promoted/ to
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>
+--         extension
+--
 -- [__Special Use__]
 --
 --     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse CAD support>
@@ -58,6 +64,13 @@
 -- lines (coverage to alpha) are supported, and stippled lines are
 -- supported for all three line rasterization modes.
 --
+-- == Promotion to @VK_KHR_line_rasterization@
+--
+-- All functionality in this extension is included in
+-- @VK_KHR_line_rasterization@, with the suffix changed to KHR. The
+-- original enum names are still available as aliases of the KHR
+-- functionality.
+--
 -- == New Commands
 --
 -- -   'cmdSetLineStippleEXT'
@@ -92,15 +105,15 @@
 --
 -- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     -   'DYNAMIC_STATE_LINE_STIPPLE_EXT'
 --
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT'
+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT'
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT'
+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT'
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'
+--     -   'STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'
 --
 -- == Issues
 --
@@ -133,568 +146,76 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_EXT_line_rasterization  ( cmdSetLineStippleEXT
-                                                    , PhysicalDeviceLineRasterizationFeaturesEXT(..)
-                                                    , PhysicalDeviceLineRasterizationPropertiesEXT(..)
-                                                    , PipelineRasterizationLineStateCreateInfoEXT(..)
-                                                    , LineRasterizationModeEXT( LINE_RASTERIZATION_MODE_DEFAULT_EXT
-                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_EXT
-                                                                              , LINE_RASTERIZATION_MODE_BRESENHAM_EXT
-                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
-                                                                              , ..
-                                                                              )
+module Vulkan.Extensions.VK_EXT_line_rasterization  ( pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT
+                                                    , pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT
+                                                    , pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT
+                                                    , pattern DYNAMIC_STATE_LINE_STIPPLE_EXT
+                                                    , cmdSetLineStippleEXT
+                                                    , LineRasterizationModeEXT
+                                                    , PhysicalDeviceLineRasterizationFeaturesEXT
+                                                    , PhysicalDeviceLineRasterizationPropertiesEXT
+                                                    , PipelineRasterizationLineStateCreateInfoEXT
                                                     , EXT_LINE_RASTERIZATION_SPEC_VERSION
                                                     , pattern EXT_LINE_RASTERIZATION_SPEC_VERSION
                                                     , EXT_LINE_RASTERIZATION_EXTENSION_NAME
                                                     , pattern EXT_LINE_RASTERIZATION_EXTENSION_NAME
+                                                    , PhysicalDeviceLineRasterizationFeaturesKHR(..)
+                                                    , PhysicalDeviceLineRasterizationPropertiesKHR(..)
+                                                    , PipelineRasterizationLineStateCreateInfoKHR(..)
+                                                    , cmdSetLineStippleKHR
+                                                    , LineRasterizationModeKHR(..)
                                                     ) where
 
-import Vulkan.Internal.Utils (enumReadPrec)
-import Vulkan.Internal.Utils (enumShowsPrec)
-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 GHC.Show (showsPrec)
-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.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 Data.Int (Int32)
-import Foreign.Ptr (FunPtr)
-import Foreign.Ptr (Ptr)
-import GHC.Read (Read(readPrec))
-import GHC.Show (Show(showsPrec))
-import Data.Word (Word16)
-import Data.Word (Word32)
-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 (CommandBuffer)
-import Vulkan.Core10.Handles (CommandBuffer(..))
-import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
-import Vulkan.Core10.Handles (CommandBuffer_T)
-import Vulkan.Dynamic (DeviceCmds(pVkCmdSetLineStippleEXT))
-import Vulkan.Core10.Enums.StructureType (StructureType)
-import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT))
-import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT))
-import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT))
-foreign import ccall
-#if !defined(SAFE_FOREIGN_CALLS)
-  unsafe
-#endif
-  "dynamic" mkVkCmdSetLineStippleEXT
-  :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()
+import Vulkan.Extensions.VK_KHR_line_rasterization (cmdSetLineStippleKHR)
+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR)
+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR)
+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR)
+import Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR)
+import Vulkan.Core10.Enums.DynamicState (DynamicState(DYNAMIC_STATE_LINE_STIPPLE_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR))
+import Vulkan.Extensions.VK_KHR_line_rasterization (cmdSetLineStippleKHR)
+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..))
+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationFeaturesKHR(..))
+import Vulkan.Extensions.VK_KHR_line_rasterization (PhysicalDeviceLineRasterizationPropertiesKHR(..))
+import Vulkan.Extensions.VK_KHR_line_rasterization (PipelineRasterizationLineStateCreateInfoKHR(..))
+-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT = STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR
 
--- | vkCmdSetLineStippleEXT - Set line stipple dynamically for a command
--- buffer
---
--- = Description
---
--- This command sets the line stipple state for subsequent drawing commands
--- when drawing using
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#shaders-objects shader objects>,
--- or 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#
---     @lineStippleFactor@ /must/ be in the range [1,256]
---
--- == Valid Usage (Implicit)
---
--- -   #VUID-vkCmdSetLineStippleEXT-commandBuffer-parameter#
---     @commandBuffer@ /must/ be a valid
---     'Vulkan.Core10.Handles.CommandBuffer' handle
---
--- -   #VUID-vkCmdSetLineStippleEXT-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-vkCmdSetLineStippleEXT-commandBuffer-cmdpool# The
---     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
---     allocated from /must/ support graphics operations
---
--- -   #VUID-vkCmdSetLineStippleEXT-videocoding# This command /must/ only
---     be called outside of a video coding scope
---
--- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
--- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
--- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
--- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |
--- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
---
--- = 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)
-                     => -- | @commandBuffer@ is the command buffer into which the command will be
-                        -- recorded.
-                        CommandBuffer
-                     -> -- | @lineStippleFactor@ is the repeat factor used in stippled line
-                        -- rasterization.
-                        ("lineStippleFactor" ::: Word32)
-                     -> -- | @lineStipplePattern@ is the bit pattern used in stippled line
-                        -- rasterization.
-                        ("lineStipplePattern" ::: Word16)
-                     -> io ()
-cmdSetLineStippleEXT commandBuffer
-                       lineStippleFactor
-                       lineStipplePattern = liftIO $ do
-  let vkCmdSetLineStippleEXTPtr = pVkCmdSetLineStippleEXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
-  unless (vkCmdSetLineStippleEXTPtr /= nullFunPtr) $
-    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetLineStippleEXT is null" Nothing Nothing
-  let vkCmdSetLineStippleEXT' = mkVkCmdSetLineStippleEXT vkCmdSetLineStippleEXTPtr
-  traceAroundEvent "vkCmdSetLineStippleEXT" (vkCmdSetLineStippleEXT'
-                                               (commandBufferHandle (commandBuffer))
-                                               (lineStippleFactor)
-                                               (lineStipplePattern))
-  pure $ ()
 
+-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT"
+pattern STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT = STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR
 
--- | VkPhysicalDeviceLineRasterizationFeaturesEXT - Structure describing the
--- line rasterization features that can be supported by an implementation
---
--- = Members
---
--- This structure describes the following features:
---
--- = Description
---
--- If the 'PhysicalDeviceLineRasterizationFeaturesEXT' 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. 'PhysicalDeviceLineRasterizationFeaturesEXT' /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_line_rasterization VK_EXT_line_rasterization>,
--- 'Vulkan.Core10.FundamentalTypes.Bool32',
--- 'Vulkan.Core10.Enums.StructureType.StructureType'
-data PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeaturesEXT
-  { -- | #features-rectangularLines# @rectangularLines@ indicates whether the
-    -- implementation supports
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines rectangular line rasterization>.
-    rectangularLines :: Bool
-  , -- | #features-bresenhamLines# @bresenhamLines@ indicates whether the
-    -- implementation supports
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham-style line rasterization>.
-    bresenhamLines :: Bool
-  , -- | #features-smoothLines# @smoothLines@ indicates whether the
-    -- implementation supports
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth smooth line rasterization>.
-    smoothLines :: Bool
-  , -- | #features-stippledRectangularLines# @stippledRectangularLines@ indicates
-    -- whether the implementation supports
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>
-    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' lines.
-    stippledRectangularLines :: Bool
-  , -- | #features-stippledBresenhamLines# @stippledBresenhamLines@ indicates
-    -- whether the implementation supports
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>
-    -- with 'LINE_RASTERIZATION_MODE_BRESENHAM_EXT' lines.
-    stippledBresenhamLines :: Bool
-  , -- | #features-stippledSmoothLines# @stippledSmoothLines@ indicates whether
-    -- the implementation supports
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>
-    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT' lines.
-    stippledSmoothLines :: Bool
-  }
-  deriving (Typeable, Eq)
-#if defined(GENERIC_INSTANCES)
-deriving instance Generic (PhysicalDeviceLineRasterizationFeaturesEXT)
-#endif
-deriving instance Show PhysicalDeviceLineRasterizationFeaturesEXT
 
-instance ToCStruct PhysicalDeviceLineRasterizationFeaturesEXT where
-  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)
-  pokeCStruct p PhysicalDeviceLineRasterizationFeaturesEXT{..} f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (rectangularLines))
-    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (bresenhamLines))
-    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (smoothLines))
-    poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (stippledRectangularLines))
-    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (stippledBresenhamLines))
-    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (stippledSmoothLines))
-    f
-  cStructSize = 40
-  cStructAlignment = 8
-  pokeZeroCStruct p f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_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))
-    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))
-    f
+-- No documentation found for TopLevel "VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT"
+pattern STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT = STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR
 
-instance FromCStruct PhysicalDeviceLineRasterizationFeaturesEXT where
-  peekCStruct p = do
-    rectangularLines <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
-    bresenhamLines <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
-    smoothLines <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))
-    stippledRectangularLines <- peek @Bool32 ((p `plusPtr` 28 :: Ptr Bool32))
-    stippledBresenhamLines <- peek @Bool32 ((p `plusPtr` 32 :: Ptr Bool32))
-    stippledSmoothLines <- peek @Bool32 ((p `plusPtr` 36 :: Ptr Bool32))
-    pure $ PhysicalDeviceLineRasterizationFeaturesEXT
-             (bool32ToBool rectangularLines)
-             (bool32ToBool bresenhamLines)
-             (bool32ToBool smoothLines)
-             (bool32ToBool stippledRectangularLines)
-             (bool32ToBool stippledBresenhamLines)
-             (bool32ToBool stippledSmoothLines)
 
-instance Storable PhysicalDeviceLineRasterizationFeaturesEXT where
-  sizeOf ~_ = 40
-  alignment ~_ = 8
-  peek = peekCStruct
-  poke ptr poked = pokeCStruct ptr poked (pure ())
+-- No documentation found for TopLevel "VK_DYNAMIC_STATE_LINE_STIPPLE_EXT"
+pattern DYNAMIC_STATE_LINE_STIPPLE_EXT = DYNAMIC_STATE_LINE_STIPPLE_KHR
 
-instance Zero PhysicalDeviceLineRasterizationFeaturesEXT where
-  zero = PhysicalDeviceLineRasterizationFeaturesEXT
-           zero
-           zero
-           zero
-           zero
-           zero
-           zero
 
+-- No documentation found for TopLevel "vkCmdSetLineStippleEXT"
+cmdSetLineStippleEXT = cmdSetLineStippleKHR
 
--- | VkPhysicalDeviceLineRasterizationPropertiesEXT - Structure describing
--- line rasterization properties supported by an implementation
---
--- = Description
---
--- If the 'PhysicalDeviceLineRasterizationPropertiesEXT' 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_EXT_line_rasterization VK_EXT_line_rasterization>,
--- 'Vulkan.Core10.Enums.StructureType.StructureType'
-data PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationPropertiesEXT
-  { -- | #limits-lineSubPixelPrecisionBits# @lineSubPixelPrecisionBits@ is the
-    -- number of bits of subpixel precision in framebuffer coordinates xf and
-    -- yf when rasterizing
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines line segments>.
-    lineSubPixelPrecisionBits :: Word32 }
-  deriving (Typeable, Eq)
-#if defined(GENERIC_INSTANCES)
-deriving instance Generic (PhysicalDeviceLineRasterizationPropertiesEXT)
-#endif
-deriving instance Show PhysicalDeviceLineRasterizationPropertiesEXT
 
-instance ToCStruct PhysicalDeviceLineRasterizationPropertiesEXT where
-  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
-  pokeCStruct p PhysicalDeviceLineRasterizationPropertiesEXT{..} f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr Word32)) (lineSubPixelPrecisionBits)
-    f
-  cStructSize = 24
-  cStructAlignment = 8
-  pokeZeroCStruct p f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)
-    f
+-- No documentation found for TopLevel "VkLineRasterizationModeEXT"
+type LineRasterizationModeEXT = LineRasterizationModeKHR
 
-instance FromCStruct PhysicalDeviceLineRasterizationPropertiesEXT where
-  peekCStruct p = do
-    lineSubPixelPrecisionBits <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
-    pure $ PhysicalDeviceLineRasterizationPropertiesEXT
-             lineSubPixelPrecisionBits
 
-instance Storable PhysicalDeviceLineRasterizationPropertiesEXT where
-  sizeOf ~_ = 24
-  alignment ~_ = 8
-  peek = peekCStruct
-  poke ptr poked = pokeCStruct ptr poked (pure ())
-
-instance Zero PhysicalDeviceLineRasterizationPropertiesEXT where
-  zero = PhysicalDeviceLineRasterizationPropertiesEXT
-           zero
+-- No documentation found for TopLevel "VkPhysicalDeviceLineRasterizationFeaturesEXT"
+type PhysicalDeviceLineRasterizationFeaturesEXT = PhysicalDeviceLineRasterizationFeaturesKHR
 
 
--- | VkPipelineRasterizationLineStateCreateInfoEXT - Structure specifying
--- parameters of a newly created pipeline line rasterization state
---
--- = Description
---
--- If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE', the
--- values of @lineStippleFactor@ and @lineStipplePattern@ are ignored.
---
--- == Valid Usage
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02768#
---     If @lineRasterizationMode@ is
---     'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT', then the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-rectangularLines rectangularLines>
---     feature /must/ be enabled
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02769#
---     If @lineRasterizationMode@ is
---     'LINE_RASTERIZATION_MODE_BRESENHAM_EXT', then the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bresenhamLines bresenhamLines>
---     feature /must/ be enabled
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-02770#
---     If @lineRasterizationMode@ is
---     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT', then the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-smoothLines smoothLines>
---     feature /must/ be enabled
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02771#
---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
---     @lineRasterizationMode@ is
---     'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT', then the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
---     feature /must/ be enabled
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02772#
---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
---     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
---     then the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
---     feature /must/ be enabled
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02773#
---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
---     @lineRasterizationMode@ is
---     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT', then the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
---     feature /must/ be enabled
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-stippledLineEnable-02774#
---     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
---     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_DEFAULT_EXT',
---     then the
---     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
---     feature /must/ be enabled and
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@
---     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE'
---
--- == Valid Usage (Implicit)
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-sType-sType#
---     @sType@ /must/ be
---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'
---
--- -   #VUID-VkPipelineRasterizationLineStateCreateInfoEXT-lineRasterizationMode-parameter#
---     @lineRasterizationMode@ /must/ be a valid 'LineRasterizationModeEXT'
---     value
---
--- = 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
-  { -- | @lineRasterizationMode@ is a 'LineRasterizationModeEXT' value selecting
-    -- the style of line rasterization.
-    lineRasterizationMode :: LineRasterizationModeEXT
-  , -- | @stippledLineEnable@ enables
-    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>.
-    stippledLineEnable :: Bool
-  , -- | @lineStippleFactor@ is the repeat factor used in stippled line
-    -- rasterization.
-    lineStippleFactor :: Word32
-  , -- | @lineStipplePattern@ is the bit pattern used in stippled line
-    -- rasterization.
-    lineStipplePattern :: Word16
-  }
-  deriving (Typeable, Eq)
-#if defined(GENERIC_INSTANCES)
-deriving instance Generic (PipelineRasterizationLineStateCreateInfoEXT)
-#endif
-deriving instance Show PipelineRasterizationLineStateCreateInfoEXT
-
-instance ToCStruct PipelineRasterizationLineStateCreateInfoEXT where
-  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
-  pokeCStruct p PipelineRasterizationLineStateCreateInfoEXT{..} f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeEXT)) (lineRasterizationMode)
-    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (stippledLineEnable))
-    poke ((p `plusPtr` 24 :: Ptr Word32)) (lineStippleFactor)
-    poke ((p `plusPtr` 28 :: Ptr Word16)) (lineStipplePattern)
-    f
-  cStructSize = 32
-  cStructAlignment = 8
-  pokeZeroCStruct p f = do
-    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT)
-    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeEXT)) (zero)
-    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))
-    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
-    poke ((p `plusPtr` 28 :: Ptr Word16)) (zero)
-    f
-
-instance FromCStruct PipelineRasterizationLineStateCreateInfoEXT where
-  peekCStruct p = do
-    lineRasterizationMode <- peek @LineRasterizationModeEXT ((p `plusPtr` 16 :: Ptr LineRasterizationModeEXT))
-    stippledLineEnable <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
-    lineStippleFactor <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
-    lineStipplePattern <- peek @Word16 ((p `plusPtr` 28 :: Ptr Word16))
-    pure $ PipelineRasterizationLineStateCreateInfoEXT
-             lineRasterizationMode
-             (bool32ToBool stippledLineEnable)
-             lineStippleFactor
-             lineStipplePattern
-
-instance Storable PipelineRasterizationLineStateCreateInfoEXT where
-  sizeOf ~_ = 32
-  alignment ~_ = 8
-  peek = peekCStruct
-  poke ptr poked = pokeCStruct ptr poked (pure ())
-
-instance Zero PipelineRasterizationLineStateCreateInfoEXT where
-  zero = PipelineRasterizationLineStateCreateInfoEXT
-           zero
-           zero
-           zero
-           zero
+-- No documentation found for TopLevel "VkPhysicalDeviceLineRasterizationPropertiesEXT"
+type PhysicalDeviceLineRasterizationPropertiesEXT = PhysicalDeviceLineRasterizationPropertiesKHR
 
 
--- | VkLineRasterizationModeEXT - Line rasterization modes
---
--- = See Also
---
--- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
--- 'PipelineRasterizationLineStateCreateInfoEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'
-newtype LineRasterizationModeEXT = LineRasterizationModeEXT Int32
-  deriving newtype (Eq, Ord, Storable, Zero)
-
--- | 'LINE_RASTERIZATION_MODE_DEFAULT_EXT' is equivalent to
--- 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' if
--- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@
--- is 'Vulkan.Core10.FundamentalTypes.TRUE', otherwise lines are drawn as
--- non-@strictLines@ parallelograms. Both of these modes are defined in
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-basic Basic Line Segment Rasterization>.
-pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT = LineRasterizationModeEXT 0
-
--- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_EXT' specifies lines drawn as if
--- they were rectangles extruded from the line
-pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = LineRasterizationModeEXT 1
-
--- | 'LINE_RASTERIZATION_MODE_BRESENHAM_EXT' specifies lines drawn by
--- determining which pixel diamonds the line intersects and exits, as
--- defined in
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham Line Segment Rasterization>.
-pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT = LineRasterizationModeEXT 2
-
--- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT' specifies lines drawn
--- if they were rectangles extruded from the line, with alpha falloff, as
--- defined in
--- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth Smooth Lines>.
-pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = LineRasterizationModeEXT 3
-
-{-# COMPLETE
-  LINE_RASTERIZATION_MODE_DEFAULT_EXT
-  , LINE_RASTERIZATION_MODE_RECTANGULAR_EXT
-  , LINE_RASTERIZATION_MODE_BRESENHAM_EXT
-  , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT ::
-    LineRasterizationModeEXT
-  #-}
-
-conNameLineRasterizationModeEXT :: String
-conNameLineRasterizationModeEXT = "LineRasterizationModeEXT"
-
-enumPrefixLineRasterizationModeEXT :: String
-enumPrefixLineRasterizationModeEXT = "LINE_RASTERIZATION_MODE_"
-
-showTableLineRasterizationModeEXT :: [(LineRasterizationModeEXT, String)]
-showTableLineRasterizationModeEXT =
-  [
-    ( LINE_RASTERIZATION_MODE_DEFAULT_EXT
-    , "DEFAULT_EXT"
-    )
-  ,
-    ( LINE_RASTERIZATION_MODE_RECTANGULAR_EXT
-    , "RECTANGULAR_EXT"
-    )
-  ,
-    ( LINE_RASTERIZATION_MODE_BRESENHAM_EXT
-    , "BRESENHAM_EXT"
-    )
-  ,
-    ( LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
-    , "RECTANGULAR_SMOOTH_EXT"
-    )
-  ]
-
-instance Show LineRasterizationModeEXT where
-  showsPrec =
-    enumShowsPrec
-      enumPrefixLineRasterizationModeEXT
-      showTableLineRasterizationModeEXT
-      conNameLineRasterizationModeEXT
-      (\(LineRasterizationModeEXT x) -> x)
-      (showsPrec 11)
+-- No documentation found for TopLevel "VkPipelineRasterizationLineStateCreateInfoEXT"
+type PipelineRasterizationLineStateCreateInfoEXT = PipelineRasterizationLineStateCreateInfoKHR
 
-instance Read LineRasterizationModeEXT where
-  readPrec =
-    enumReadPrec
-      enumPrefixLineRasterizationModeEXT
-      showTableLineRasterizationModeEXT
-      conNameLineRasterizationModeEXT
-      LineRasterizationModeEXT
 
 type EXT_LINE_RASTERIZATION_SPEC_VERSION = 1
 
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
@@ -25,6 +25,12 @@
 --     or
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
 --
+-- [__Deprecation State__]
+--
+--     -   /Promoted/ to
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>
+--         extension
+--
 -- [__Special Use__]
 --
 --     -   <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#extendingvulkan-compatibility-specialuse CAD support>
@@ -58,6 +64,13 @@
 -- lines (coverage to alpha) are supported, and stippled lines are
 -- supported for all three line rasterization modes.
 --
+-- == Promotion to @VK_KHR_line_rasterization@
+--
+-- All functionality in this extension is included in
+-- @VK_KHR_line_rasterization@, with the suffix changed to KHR. The
+-- original enum names are still available as aliases of the KHR
+-- functionality.
+--
 -- == New Commands
 --
 -- -   'cmdSetLineStippleEXT'
@@ -92,15 +105,15 @@
 --
 -- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
 --
---     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     -   'DYNAMIC_STATE_LINE_STIPPLE_EXT'
 --
 -- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT'
+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_EXT'
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT'
+--     -   'STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_EXT'
 --
---     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'
+--     -   'STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_EXT'
 --
 -- == Issues
 --
@@ -133,39 +146,10 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_EXT_line_rasterization  ( PhysicalDeviceLineRasterizationFeaturesEXT
-                                                    , PhysicalDeviceLineRasterizationPropertiesEXT
-                                                    , PipelineRasterizationLineStateCreateInfoEXT
-                                                    , LineRasterizationModeEXT
-                                                    ) where
-
-import Vulkan.CStruct (FromCStruct)
-import Vulkan.CStruct (ToCStruct)
-import Data.Kind (Type)
-
-data PhysicalDeviceLineRasterizationFeaturesEXT
-
-instance ToCStruct PhysicalDeviceLineRasterizationFeaturesEXT
-instance Show PhysicalDeviceLineRasterizationFeaturesEXT
-
-instance FromCStruct PhysicalDeviceLineRasterizationFeaturesEXT
-
-
-data PhysicalDeviceLineRasterizationPropertiesEXT
-
-instance ToCStruct PhysicalDeviceLineRasterizationPropertiesEXT
-instance Show PhysicalDeviceLineRasterizationPropertiesEXT
-
-instance FromCStruct PhysicalDeviceLineRasterizationPropertiesEXT
-
-
-data PipelineRasterizationLineStateCreateInfoEXT
-
-instance ToCStruct PipelineRasterizationLineStateCreateInfoEXT
-instance Show PipelineRasterizationLineStateCreateInfoEXT
-
-instance FromCStruct PipelineRasterizationLineStateCreateInfoEXT
+module Vulkan.Extensions.VK_EXT_line_rasterization  (LineRasterizationModeEXT) where
 
 
-data LineRasterizationModeEXT
+import {-# SOURCE #-} Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR)
+-- No documentation found for TopLevel "VkLineRasterizationModeEXT"
+type LineRasterizationModeEXT = LineRasterizationModeKHR
 
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
@@ -18,11 +18,17 @@
 --     1
 --
 -- [__Ratification Status__]
---     Not ratified
+--     Ratified
 --
 -- [__Extension and Version Dependencies__]
 --     None
 --
+-- [__Deprecation State__]
+--
+--     -   /Promoted/ to
+--         <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_load_store_op_none VK_KHR_load_store_op_none>
+--         extension
+--
 -- [__Contact__]
 --
 --     -   Shahbaz Youssefi
@@ -48,15 +54,20 @@
 -- unnecessary synchronization when an attachment is not written during a
 -- render pass.
 --
--- Additionally,
--- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_EXT' is
--- introduced to avoid unnecessary synchronization when an attachment is
--- not used during a render pass at all. In combination with
--- 'ATTACHMENT_STORE_OP_NONE_EXT', this is useful as an alternative to
--- preserve attachments in applications that cannot decide if an attachment
--- will be used in a render pass until after the necessary pipelines have
--- been created.
+-- Additionally, 'ATTACHMENT_LOAD_OP_NONE_EXT' is introduced to avoid
+-- unnecessary synchronization when an attachment is not used during a
+-- render pass at all. In combination with 'ATTACHMENT_STORE_OP_NONE_EXT',
+-- this is useful as an alternative to preserve attachments in applications
+-- that cannot decide if an attachment will be used in a render pass until
+-- after the necessary pipelines have been created.
 --
+-- == Promotion to @VK_KHR_load_store_op_none@
+--
+-- All functionality in this extension is included in
+-- @VK_KHR_load_store_op_none@, with the suffix changed to KHR. The
+-- original enum names are still available as aliases of the KHR
+-- functionality.
+--
 -- == New Enum Constants
 --
 -- -   'EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME'
@@ -65,7 +76,7 @@
 --
 -- -   Extending 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp':
 --
---     -   'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_EXT'
+--     -   'ATTACHMENT_LOAD_OP_NONE_EXT'
 --
 -- -   Extending 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp':
 --
@@ -90,7 +101,8 @@
 --
 -- This page is a generated document. Fixes and changes should be made to
 -- the generator scripts, not directly.
-module Vulkan.Extensions.VK_EXT_load_store_op_none  ( pattern ATTACHMENT_STORE_OP_NONE_EXT
+module Vulkan.Extensions.VK_EXT_load_store_op_none  ( pattern ATTACHMENT_LOAD_OP_NONE_EXT
+                                                    , pattern ATTACHMENT_STORE_OP_NONE_EXT
                                                     , EXT_LOAD_STORE_OP_NONE_SPEC_VERSION
                                                     , pattern EXT_LOAD_STORE_OP_NONE_SPEC_VERSION
                                                     , EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME
@@ -98,7 +110,12 @@
                                                     ) where
 
 import Data.String (IsString)
+import Vulkan.Core10.Enums.AttachmentLoadOp (AttachmentLoadOp(ATTACHMENT_LOAD_OP_NONE_KHR))
 import Vulkan.Core10.Enums.AttachmentStoreOp (AttachmentStoreOp(ATTACHMENT_STORE_OP_NONE))
+-- No documentation found for TopLevel "VK_ATTACHMENT_LOAD_OP_NONE_EXT"
+pattern ATTACHMENT_LOAD_OP_NONE_EXT = ATTACHMENT_LOAD_OP_NONE_KHR
+
+
 -- No documentation found for TopLevel "VK_ATTACHMENT_STORE_OP_NONE_EXT"
 pattern ATTACHMENT_STORE_OP_NONE_EXT = ATTACHMENT_STORE_OP_NONE
 
diff --git a/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs b/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs
--- a/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs
+++ b/src/Vulkan/Extensions/VK_EXT_mesh_shader.hs
@@ -2756,8 +2756,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2769,8 +2770,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2784,8 +2785,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2806,8 +2808,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2819,8 +2822,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2834,8 +2837,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2849,15 +2853,16 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-07849# If the bound graphics
 --     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksEXT-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3537,7 +3542,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -3550,7 +3555,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -3563,7 +3568,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -3576,7 +3581,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -3838,6 +3843,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-09548# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMeshTasksEXT-None-09549# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawMeshTasksEXT-stage-06480# The bound graphics pipeline
 --     /must/ not have been created with the
 --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
@@ -6464,8 +6488,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6477,8 +6502,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6492,8 +6517,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6514,8 +6540,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6527,8 +6554,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6542,8 +6569,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6557,15 +6585,16 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-07849# If the bound
 --     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -7245,7 +7274,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -7258,7 +7287,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -7271,7 +7300,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -7284,7 +7313,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -7547,6 +7576,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-09548# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-None-09549# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectEXT-stage-06480# The bound graphics
 --     pipeline /must/ not have been created with the
 --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
@@ -10166,8 +10214,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -10179,8 +10228,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -10194,8 +10243,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -10216,8 +10266,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -10229,8 +10280,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -10244,8 +10295,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -10259,15 +10311,16 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-07849# If the bound
 --     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -10947,7 +11000,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -10960,7 +11013,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -10973,7 +11026,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -10986,7 +11039,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -11248,6 +11301,25 @@
 --     in the @Fragment@ @Execution@ @Model@ executed by this command
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09548# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-None-09549# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountEXT-stage-06480# The bound
 --     graphics pipeline /must/ not have been created with the
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
@@ -2628,8 +2628,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2641,8 +2642,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2656,8 +2657,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2678,8 +2680,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2691,8 +2694,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2706,8 +2709,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2721,15 +2725,16 @@
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-07849# If the bound graphics pipeline
 --     state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiEXT-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3408,7 +3413,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -3421,7 +3426,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -3434,7 +3439,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -3447,7 +3452,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -3705,6 +3710,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawMultiEXT-None-09548# If the current render pass was
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMultiEXT-None-09549# If the current render pass was
+--     begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawMultiEXT-commandBuffer-02712# If @commandBuffer@ is a
 --     protected command buffer and
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
@@ -3932,8 +3956,8 @@
 --     containing one or more valid instances of 'MultiDrawInfoEXT'
 --     structures
 --
--- -   #VUID-vkCmdDrawMultiEXT-stride-04936# @stride@ must be a multiple of
---     4
+-- -   #VUID-vkCmdDrawMultiEXT-stride-04936# @stride@ /must/ be a multiple
+--     of 4
 --
 -- == Valid Usage (Implicit)
 --
@@ -6458,8 +6482,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6471,8 +6496,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6486,8 +6511,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6508,8 +6534,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6521,8 +6548,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6536,8 +6563,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6551,15 +6579,16 @@
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07849# If the bound graphics
 --     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -7239,7 +7268,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -7252,7 +7281,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -7265,7 +7294,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -7278,7 +7307,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -7541,6 +7570,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-09548# If the current render
+--     pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-09549# If the current render
+--     pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-commandBuffer-02712# If
 --     @commandBuffer@ is a protected command buffer and
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-protectedNoFault protectedNoFault>
@@ -7730,8 +7778,9 @@
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_MESH_BIT_EXT'
 --     stages
 --
--- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07312# An index buffer /must/ be
---     bound
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-None-07312# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+--     is not enabled, a valid index buffer /must/ be bound
 --
 -- -   #VUID-vkCmdDrawMultiIndexedEXT-robustBufferAccess2-07825# If
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-robustBufferAccess2 robustBufferAccess2>
@@ -7794,7 +7843,7 @@
 --     containing one or more valid instances of 'MultiDrawIndexedInfoEXT'
 --     structures
 --
--- -   #VUID-vkCmdDrawMultiIndexedEXT-stride-04941# @stride@ must be a
+-- -   #VUID-vkCmdDrawMultiIndexedEXT-stride-04941# @stride@ /must/ be a
 --     multiple of 4
 --
 -- == Valid Usage (Implicit)
diff --git a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs
--- a/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs
+++ b/src/Vulkan/Extensions/VK_EXT_opacity_micromap.hs
@@ -1298,11 +1298,6 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-vkCopyMicromapEXT-deferredOperation-03677# If
---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
---     it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
---
 -- -   #VUID-vkCopyMicromapEXT-deferredOperation-03678# Any previous
 --     deferred operation that was associated with @deferredOperation@
 --     /must/ be complete
@@ -1538,11 +1533,6 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-vkCopyMicromapToMemoryEXT-deferredOperation-03677# If
---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
---     it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
---
 -- -   #VUID-vkCopyMicromapToMemoryEXT-deferredOperation-03678# Any
 --     previous deferred operation that was associated with
 --     @deferredOperation@ /must/ be complete
@@ -1760,11 +1750,6 @@
 -- 'cmdCopyMicromapToMemoryEXT' or 'copyMicromapToMemoryEXT'.
 --
 -- == Valid Usage
---
--- -   #VUID-vkCopyMemoryToMicromapEXT-deferredOperation-03677# If
---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
---     it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
 --
 -- -   #VUID-vkCopyMemoryToMicromapEXT-deferredOperation-03678# Any
 --     previous deferred operation that was associated with
diff --git a/src/Vulkan/Extensions/VK_EXT_pipeline_properties.hs b/src/Vulkan/Extensions/VK_EXT_pipeline_properties.hs
--- a/src/Vulkan/Extensions/VK_EXT_pipeline_properties.hs
+++ b/src/Vulkan/Extensions/VK_EXT_pipeline_properties.hs
@@ -233,7 +233,7 @@
 -- == Valid Usage
 --
 -- -   #VUID-vkGetPipelinePropertiesEXT-pipeline-06738# The @pipeline@
---     member of @pPipelineInfo@ must have been created with @device@
+--     member of @pPipelineInfo@ /must/ have been created with @device@
 --
 -- -   #VUID-vkGetPipelinePropertiesEXT-pPipelineProperties-06739#
 --     @pPipelineProperties@ /must/ be a valid pointer to a
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
@@ -490,7 +490,9 @@
 -- == Valid Usage
 --
 -- -   #VUID-VkSampleLocationsInfoEXT-sampleLocationsPerPixel-01526#
---     @sampleLocationsPerPixel@ /must/ be a bit value that is set in
+--     @sampleLocationsPerPixel@ /must/ be a valid
+--     'Vulkan.Core10.Enums.SampleCountFlagBits.SampleCountFlagBits' value
+--     that is set in
 --     'PhysicalDeviceSampleLocationsPropertiesEXT'::@sampleLocationSampleCounts@
 --
 -- -   #VUID-VkSampleLocationsInfoEXT-sampleLocationsCount-01527#
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_object.hs b/src/Vulkan/Extensions/VK_EXT_shader_object.hs
--- a/src/Vulkan/Extensions/VK_EXT_shader_object.hs
+++ b/src/Vulkan/Extensions/VK_EXT_shader_object.hs
@@ -39,12 +39,28 @@
 --
 --     -   Interacts with VK_VERSION_1_3
 --
+--     -   Interacts with VK_EXT_blend_operation_advanced
+--
+--     -   Interacts with VK_EXT_conservative_rasterization
+--
+--     -   Interacts with VK_EXT_depth_clip_control
+--
+--     -   Interacts with VK_EXT_depth_clip_enable
+--
 --     -   Interacts with VK_EXT_fragment_density_map
 --
+--     -   Interacts with VK_EXT_line_rasterization
+--
 --     -   Interacts with VK_EXT_mesh_shader
 --
+--     -   Interacts with VK_EXT_provoking_vertex
+--
+--     -   Interacts with VK_EXT_sample_locations
+--
 --     -   Interacts with VK_EXT_subgroup_size_control
 --
+--     -   Interacts with VK_EXT_transform_feedback
+--
 --     -   Interacts with VK_KHR_device_group
 --
 --     -   Interacts with VK_KHR_fragment_shading_rate
@@ -165,16 +181,12 @@
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT'
@@ -183,24 +195,14 @@
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'
---
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'
---
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT'
@@ -213,16 +215,10 @@
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'
@@ -244,6 +240,58 @@
 -- -   'getShaderBinaryDataEXT'
 --
 -- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'
+--
+-- If
 -- <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>
 -- is supported:
 --
@@ -711,35 +759,25 @@
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToCoverageEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPatchControlPointsEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetPolygonModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT',
@@ -829,8 +867,9 @@
                                                , CoverageModulationModeNV(..)
                                                , CoverageReductionModeNV(..)
                                                , ConservativeRasterizationModeEXT(..)
-                                               , LineRasterizationModeEXT(..)
+                                               , LineRasterizationModeKHR(..)
                                                , ProvokingVertexModeEXT(..)
+                                               , LineRasterizationModeEXT
                                                , cmdSetCullModeEXT
                                                , cmdSetFrontFaceEXT
                                                , cmdSetPrimitiveTopologyEXT
@@ -1023,7 +1062,8 @@
 import Vulkan.Extensions.VK_EXT_conservative_rasterization (ConservativeRasterizationModeEXT(..))
 import Vulkan.Extensions.VK_NV_framebuffer_mixed_samples (CoverageModulationModeNV(..))
 import Vulkan.Extensions.VK_NV_coverage_reduction_mode (CoverageReductionModeNV(..))
-import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT(..))
+import Vulkan.Extensions.VK_EXT_line_rasterization (LineRasterizationModeEXT)
+import Vulkan.Extensions.VK_KHR_line_rasterization (LineRasterizationModeKHR(..))
 import Vulkan.Extensions.VK_EXT_provoking_vertex (ProvokingVertexModeEXT(..))
 import Vulkan.Extensions.Handles (ShaderEXT(..))
 import Vulkan.Extensions.VK_EXT_vertex_input_dynamic_state (VertexInputAttributeDescription2EXT(..))
@@ -1059,10 +1099,6 @@
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-shaderObject shaderObject>
 --     feature /must/ be enabled
 --
--- -   #VUID-vkCreateShadersEXT-pCreateInfos-08401# If @createInfoCount@ is
---     1, there /must/ be no element of @pCreateInfos@ whose @flags@ member
---     includes 'SHADER_CREATE_LINK_STAGE_BIT_EXT'
---
 -- -   #VUID-vkCreateShadersEXT-pCreateInfos-08402# If the @flags@ member
 --     of any element of @pCreateInfos@ includes
 --     'SHADER_CREATE_LINK_STAGE_BIT_EXT', the @flags@ member of all other
@@ -1321,15 +1357,17 @@
 -- -   #VUID-vkDestroyShaderEXT-device-parameter# @device@ /must/ be a
 --     valid 'Vulkan.Core10.Handles.Device' handle
 --
--- -   #VUID-vkDestroyShaderEXT-shader-parameter# @shader@ /must/ be a
---     valid 'Vulkan.Extensions.Handles.ShaderEXT' handle
+-- -   #VUID-vkDestroyShaderEXT-shader-parameter# If @shader@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @shader@ /must/ be a valid
+--     'Vulkan.Extensions.Handles.ShaderEXT' handle
 --
 -- -   #VUID-vkDestroyShaderEXT-pAllocator-parameter# If @pAllocator@ is
 --     not @NULL@, @pAllocator@ /must/ be a valid pointer to a valid
 --     'Vulkan.Core10.AllocationCallbacks.AllocationCallbacks' structure
 --
--- -   #VUID-vkDestroyShaderEXT-shader-parent# @shader@ /must/ have been
---     created, allocated, or retrieved from @device@
+-- -   #VUID-vkDestroyShaderEXT-shader-parent# If @shader@ is a valid
+--     handle, it /must/ have been created, allocated, or retrieved from
+--     @device@
 --
 -- == Host Synchronization
 --
@@ -2104,9 +2142,10 @@
 --
 -- -   #VUID-VkShaderCreateInfoEXT-pCode-08450# If @codeType@ is
 --     'SHADER_CODE_TYPE_SPIRV_EXT', and the identified entry point
---     includes any variables in its interface that are declared with the
---     @ClipDistance@ or @CullDistance@ @BuiltIn@ decoration, those
---     variables /must/ not have array sizes which sum to more than
+--     includes variables in its interface that are declared with the
+--     @ClipDistance@ @BuiltIn@ decoration and variables in its interface
+--     that are declared with the @CullDistance@ @BuiltIn@ decoration,
+--     those variables /must/ not have array sizes which sum to more than
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxCombinedClipAndCullDistances@
 --
 -- -   #VUID-VkShaderCreateInfoEXT-pCode-08451# If @codeType@ is
diff --git a/src/Vulkan/Extensions/VK_EXT_shader_object.hs-boot b/src/Vulkan/Extensions/VK_EXT_shader_object.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_shader_object.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_shader_object.hs-boot
@@ -39,12 +39,28 @@
 --
 --     -   Interacts with VK_VERSION_1_3
 --
+--     -   Interacts with VK_EXT_blend_operation_advanced
+--
+--     -   Interacts with VK_EXT_conservative_rasterization
+--
+--     -   Interacts with VK_EXT_depth_clip_control
+--
+--     -   Interacts with VK_EXT_depth_clip_enable
+--
 --     -   Interacts with VK_EXT_fragment_density_map
 --
+--     -   Interacts with VK_EXT_line_rasterization
+--
 --     -   Interacts with VK_EXT_mesh_shader
 --
+--     -   Interacts with VK_EXT_provoking_vertex
+--
+--     -   Interacts with VK_EXT_sample_locations
+--
 --     -   Interacts with VK_EXT_subgroup_size_control
 --
+--     -   Interacts with VK_EXT_transform_feedback
+--
 --     -   Interacts with VK_KHR_device_group
 --
 --     -   Interacts with VK_KHR_fragment_shading_rate
@@ -165,16 +181,12 @@
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT'
@@ -183,24 +195,14 @@
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'
---
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'
---
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT'
@@ -213,16 +215,10 @@
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT'
 --
--- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'
---
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT'
 --
 -- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT'
@@ -244,6 +240,58 @@
 -- -   'getShaderBinaryDataEXT'
 --
 -- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_blend_operation_advanced VK_EXT_blend_operation_advanced>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_conservative_rasterization VK_EXT_conservative_rasterization>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT'
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_control VK_EXT_depth_clip_control>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_depth_clip_enable VK_EXT_depth_clip_enable>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_provoking_vertex VK_EXT_provoking_vertex>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_sample_locations VK_EXT_sample_locations>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_transform_feedback VK_EXT_transform_feedback>
+-- is supported:
+--
+-- -   'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT'
+--
+-- If
 -- <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>
 -- is supported:
 --
@@ -711,35 +759,25 @@
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdBindVertexBuffers2EXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToCoverageEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetAlphaToOneEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendAdvancedEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorBlendEquationEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetColorWriteMaskEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetConservativeRasterizationModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetCullModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetDepthBiasEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthBoundsTestEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClampEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetDepthClipNegativeOneToOneEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthCompareOpEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthTestEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetDepthWriteEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetExtraPrimitiveOverestimationSizeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetFrontFaceEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineStippleEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetLogicOpEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLogicOpEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPatchControlPointsEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetPolygonModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetPrimitiveRestartEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetPrimitiveTopologyEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetProvokingVertexModeEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationSamplesEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetRasterizationStreamEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnableEXT',
--- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleLocationsEnableEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetSampleMaskEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetScissorWithCountEXT',
 -- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state.cmdSetStencilOpEXT',
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
@@ -981,6 +981,10 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#queries-operation-active active>
 --     queries
 --
+-- -   #VUID-vkCmdBeginQueryIndexedEXT-None-08370# If there is a bound
+--     video session, then it /must/ not have been created with
+--     @VK_VIDEO_SESSION_CREATE_INLINE_QUERIES_BIT_KHR@
+--
 -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07128# If the @queryType@
 --     used to create @queryPool@ was
 --     @VK_QUERY_TYPE_RESULT_STATUS_ONLY_KHR@ and there is a bound video
@@ -992,13 +996,6 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkVideoSessionCreateInfoKHR VkVideoSessionCreateInfoKHR>::@pVideoProfile@
 --     the bound video session was created with
 --
--- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-04862# If the @queryType@
---     used to create @queryPool@ was
---     @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@, then the
---     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
---     allocated from /must/ support
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#video-encode-operations video encode operations>
---
 -- -   #VUID-vkCmdBeginQueryIndexedEXT-queryType-07129# If the @queryType@
 --     used to create @queryPool@ was
 --     @VK_QUERY_TYPE_VIDEO_ENCODE_FEEDBACK_KHR@, then there /must/ be a
@@ -1321,11 +1318,6 @@
 --     'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery'* command /must/
 --     have been called previously within the same subpass
 --
--- -   #VUID-vkCmdEndQueryIndexedEXT-None-07008# If called outside of a
---     render pass instance, the corresponding
---     'Vulkan.Core10.CommandBufferBuilding.cmdBeginQuery'* command /must/
---     have been called outside of a render pass instance
---
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCmdEndQueryIndexedEXT-commandBuffer-parameter#
@@ -3866,8 +3858,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3879,8 +3872,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -3894,8 +3887,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -3916,8 +3910,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3929,8 +3924,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -3944,8 +3939,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -3959,15 +3955,16 @@
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-07849# If the bound
 --     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -4647,7 +4644,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -4660,7 +4657,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -4673,7 +4670,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -4686,7 +4683,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -4949,6 +4946,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-09548# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-09549# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-None-04007# All vertex input
 --     bindings accessed via vertex input variables declared in the vertex
 --     shader entry point’s interface /must/ have either valid or
@@ -5166,6 +5182,12 @@
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-counterBufferOffset-04568#
 --     @counterBufferOffset@ /must/ be a multiple of @4@
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-counterOffset-09474#
+--     @counterOffset@ /must/ be a multiple of @4@
+--
+-- -   #VUID-vkCmdDrawIndirectByteCountEXT-vertexStride-09475#
+--     @vertexStride@ /must/ be a multiple of @4@
 --
 -- -   #VUID-vkCmdDrawIndirectByteCountEXT-commandBuffer-02646#
 --     @commandBuffer@ /must/ not be a protected command buffer
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_buffer_collection.hs
@@ -540,7 +540,7 @@
 -- = Description
 --
 -- 'setBufferCollectionImageConstraintsFUCHSIA' /may/ fail if
--- @pImageConstraintsInfo@::@formatConstraintsCount@ is larger than the
+-- @pImageConstraintsInfo->formatConstraintsCount@ is larger than the
 -- implementation-defined limit. If that occurs,
 -- 'setBufferCollectionImageConstraintsFUCHSIA' will return
 -- 'Vulkan.Core10.Enums.Result.ERROR_INITIALIZATION_FAILED'.
@@ -1091,61 +1091,29 @@
   , -- | @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)
@@ -1495,34 +1463,34 @@
 --     its 'ImageFormatConstraintsInfoFUCHSIA'::@requiredFormatFeatures@
 --
 -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06396# If
---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     @pFormatConstraints->imageCreateInfo->usage@ contains
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SAMPLED_BIT',
---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_SAMPLED_IMAGE_BIT'
 --
 -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06397# If
---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     @pFormatConstraints->imageCreateInfo->usage@ contains
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_STORAGE_BIT',
---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_STORAGE_IMAGE_BIT'
 --
 -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06398# If
---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     @pFormatConstraints->imageCreateInfo->usage@ contains
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_COLOR_ATTACHMENT_BIT',
---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COLOR_ATTACHMENT_BIT'
 --
 -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06399# If
---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     @pFormatConstraints->imageCreateInfo->usage@ contains
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT',
---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT'
 --
 -- -   #VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06400# If
---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     @pFormatConstraints->imageCreateInfo->usage@ contains
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_INPUT_ATTACHMENT_BIT',
---     then @pFormatConstraints@::@requiredFormatFeatures@ /must/ contain
---     at least one of
+--     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'
@@ -1530,10 +1498,10 @@
 -- -   #VUID-VkImageConstraintsInfoFUCHSIA-attachmentFragmentShadingRate-06401#
 --     If the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate>
---     feature is enabled, and
---     @pFormatConstraints@::@imageCreateInfo@::@usage@ contains
+--     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
+--     then @pFormatConstraints->requiredFormatFeatures@ /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- == Valid Usage (Implicit)
diff --git a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
--- a/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
+++ b/src/Vulkan/Extensions/VK_FUCHSIA_external_memory.hs
@@ -320,7 +320,7 @@
 --     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA'
 --
 -- -   #VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handle-04772# @handle@
---     must be a valid VMO handle
+--     /must/ be a valid VMO handle
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs b/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs
--- a/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs
+++ b/src/Vulkan/Extensions/VK_HUAWEI_cluster_culling_shader.hs
@@ -2875,8 +2875,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2888,8 +2889,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2903,8 +2904,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2925,8 +2927,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2938,8 +2941,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2953,8 +2956,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2968,15 +2972,16 @@
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-07849# If the bound graphics
 --     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterHUAWEI-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3656,7 +3661,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -3669,7 +3674,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -3682,7 +3687,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -3695,7 +3700,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -3957,6 +3962,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawClusterHUAWEI-None-09548# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawClusterHUAWEI-None-09549# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawClusterHUAWEI-stage-06480# The bound graphics
 --     pipeline /must/ not have been created with the
 --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
@@ -6546,8 +6570,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6559,8 +6584,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6574,8 +6599,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6596,8 +6622,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6609,8 +6636,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6624,8 +6651,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6639,15 +6667,16 @@
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-07849# If the bound
 --     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -7327,7 +7356,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -7340,7 +7369,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -7353,7 +7382,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -7366,7 +7395,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -7628,6 +7657,25 @@
 --     in the @Fragment@ @Execution@ @Model@ executed by this command
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
+--
+-- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-09548# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-None-09549# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
 --
 -- -   #VUID-vkCmdDrawClusterIndirectHUAWEI-stage-06480# The bound graphics
 --     pipeline /must/ not have been created with the
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
@@ -236,7 +236,7 @@
 --     /must/ be 'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_GENERAL'
 --
 -- -   #VUID-vkCmdBindInvocationMaskHUAWEI-width-04981# Thread mask image
---     resolution must match the @width@ and @height@ in
+--     resolution /must/ match the @width@ and @height@ in
 --     'Vulkan.Extensions.VK_KHR_ray_tracing_pipeline.cmdTraceRaysKHR'
 --
 -- -   #VUID-vkCmdBindInvocationMaskHUAWEI-None-04982# Each element in the
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
@@ -1658,11 +1658,6 @@
 --     The
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureHostCommands ::accelerationStructureHostCommands>
 --
--- -   #VUID-vkCopyAccelerationStructureKHR-deferredOperation-03677# If
---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
---     it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
---
 -- -   #VUID-vkCopyAccelerationStructureKHR-deferredOperation-03678# Any
 --     previous deferred operation that was associated with
 --     @deferredOperation@ /must/ be complete
@@ -1948,11 +1943,6 @@
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureHostCommands ::accelerationStructureHostCommands>
 --     feature /must/ be enabled
 --
--- -   #VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03677#
---     If @deferredOperation@ is not
---     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
---
 -- -   #VUID-vkCopyAccelerationStructureToMemoryKHR-deferredOperation-03678#
 --     Any previous deferred operation that was associated with
 --     @deferredOperation@ /must/ be complete
@@ -2202,11 +2192,6 @@
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureHostCommands ::accelerationStructureHostCommands>
 --     feature /must/ be enabled
 --
--- -   #VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03677#
---     If @deferredOperation@ is not
---     'Vulkan.Core10.APIConstants.NULL_HANDLE', it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
---
 -- -   #VUID-vkCopyMemoryToAccelerationStructureKHR-deferredOperation-03678#
 --     Any previous deferred operation that was associated with
 --     @deferredOperation@ /must/ be complete
@@ -2350,8 +2335,8 @@
 --     @pAccelerationStructures@ /must/ be bound to device memory
 --
 -- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-query-04880# The
---     sum of @query@ plus @accelerationStructureCount@ /must/ be less than
---     or equal to the number of queries in @queryPool@
+--     sum of @firstQuery@ plus @accelerationStructureCount@ /must/ be less
+--     than or equal to the number of queries in @queryPool@
 --
 -- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-pAccelerationStructures-04964#
 --     All acceleration structures in @pAccelerationStructures@ /must/ have
@@ -2763,6 +2748,11 @@
 -- 'cmdCopyMemoryToAccelerationStructureKHR' with a @mode@ of
 -- 'COPY_ACCELERATION_STRUCTURE_MODE_DESERIALIZE_KHR' during replay.
 --
+-- Note
+--
+-- Memory does not need to be bound to the underlying buffer when
+-- 'createAccelerationStructureKHR' is called.
+--
 -- The input buffers passed to acceleration structure build commands will
 -- be referenced by the implementation for the duration of the command.
 -- After the command completes, the acceleration structure /may/ hold a
@@ -3399,6 +3389,9 @@
 --     device address containing a value obtained from
 --     'getAccelerationStructureDeviceAddressKHR' or @0@
 --
+-- -   #VUID-vkCmdBuildAccelerationStructuresKHR-commandBuffer-09547#
+--     @commandBuffer@ /must/ not be a protected command buffer
+--
 -- -   #VUID-vkCmdBuildAccelerationStructuresKHR-pInfos-03675# For each
 --     @pInfos@[i], @dstAccelerationStructure@ /must/ have been created
 --     with a value of 'AccelerationStructureCreateInfoKHR'::@size@ greater
@@ -4004,6 +3997,9 @@
 --     device address containing a value obtained from
 --     'getAccelerationStructureDeviceAddressKHR' or @0@
 --
+-- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-09547#
+--     @commandBuffer@ /must/ not be a protected command buffer
+--
 -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03645#
 --     For any element of @pIndirectDeviceAddresses@, if the buffer from
 --     which it was queried is non-sparse then it /must/ be bound
@@ -4030,9 +4026,6 @@
 -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectStrides-03787#
 --     Each element of @pIndirectStrides@ /must/ be a multiple of @4@
 --
--- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-commandBuffer-03649#
---     @commandBuffer@ /must/ not be a protected command buffer
---
 -- -   #VUID-vkCmdBuildAccelerationStructuresIndirectKHR-pIndirectDeviceAddresses-03651#
 --     Each 'AccelerationStructureBuildRangeInfoKHR' structure referenced
 --     by any element of @pIndirectDeviceAddresses@ /must/ be a valid
@@ -4470,11 +4463,6 @@
 --     array of @pInfos@[i].@geometryCount@
 --     'AccelerationStructureBuildRangeInfoKHR' structures
 --
--- -   #VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03677# If
---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
---     it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
---
 -- -   #VUID-vkBuildAccelerationStructuresKHR-deferredOperation-03678# Any
 --     previous deferred operation that was associated with
 --     @deferredOperation@ /must/ be complete
@@ -4570,7 +4558,7 @@
 --     of @pInfos@[i].@pGeometries@ or @pInfos@[i].@ppGeometries@ with a
 --     @geometryType@ of 'GEOMETRY_TYPE_INSTANCES_KHR', each
 --     'AccelerationStructureInstanceKHR'::@accelerationStructureReference@
---     value in @geometry.instances.data.hostAddress@ must be a valid
+--     value in @geometry.instances.data.hostAddress@ /must/ be a valid
 --     'Vulkan.Extensions.Handles.AccelerationStructureKHR' object
 --
 -- -   #VUID-vkBuildAccelerationStructuresKHR-pInfos-04930# For any element
@@ -4579,7 +4567,7 @@
 --     'BUILD_ACCELERATION_STRUCTURE_MOTION_BIT_NV' set, each
 --     @accelerationStructureReference@ in any structure in
 --     'Vulkan.Extensions.VK_NV_ray_tracing_motion_blur.AccelerationStructureMotionInstanceNV'
---     value in @geometry.instances.data.hostAddress@ must be a valid
+--     value in @geometry.instances.data.hostAddress@ /must/ be a valid
 --     'Vulkan.Extensions.Handles.AccelerationStructureKHR' object
 --
 -- == Valid Usage (Implicit)
@@ -4730,6 +4718,17 @@
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bufferDeviceAddressMultiDevice bufferDeviceAddressMultiDevice>
 --     feature /must/ be enabled
 --
+-- -   #VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-09541# If the
+--     buffer on which @pInfo->accelerationStructure@ was placed is
+--     non-sparse then it /must/ be bound completely and contiguously to a
+--     single 'Vulkan.Core10.Handles.DeviceMemory' object
+--
+-- -   #VUID-vkGetAccelerationStructureDeviceAddressKHR-pInfo-09542# The
+--     buffer on which @pInfo->accelerationStructure@ was placed /must/
+--     have been created with the
+--     'Vulkan.Core10.Enums.BufferUsageFlagBits.BUFFER_USAGE_SHADER_DEVICE_ADDRESS_BIT'
+--     usage flag
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkGetAccelerationStructureDeviceAddressKHR-device-parameter#
@@ -5722,8 +5721,8 @@
 --     /must/ not be 'ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR'
 --
 -- -   #VUID-VkAccelerationStructureBuildGeometryInfoKHR-pGeometries-03788#
---     Only one of @pGeometries@ or @ppGeometries@ /can/ be a valid
---     pointer, the other /must/ be @NULL@
+--     If @geometryCount@ is not @0@, exactly one of @pGeometries@ or
+--     @ppGeometries@ /must/ be a valid pointer, the other /must/ be @NULL@
 --
 -- -   #VUID-VkAccelerationStructureBuildGeometryInfoKHR-type-03789# If
 --     @type@ is 'ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR', the
@@ -6060,13 +6059,6 @@
 --
 -- = Description
 --
--- If @deviceAddress@ is zero, no specific address is requested.
---
--- If @deviceAddress@ is not zero, @deviceAddress@ /must/ be an address
--- retrieved from an identically created acceleration structure on the same
--- implementation. The acceleration structure /must/ also be placed on an
--- identically created @buffer@ and at the same @offset@.
---
 -- Applications /should/ avoid creating acceleration structures with
 -- application-provided addresses and implementation-provided addresses in
 -- the same process, to reduce the likelihood of
@@ -6135,6 +6127,26 @@
 --     @deviceAddress@ is not zero, @createFlags@ /must/ include
 --     'ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR'
 --
+-- -   #VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09488# If
+--     @deviceAddress@ is not zero, it /must/ have been retrieved from an
+--     identically created acceleration structure, except for @buffer@ and
+--     @deviceAddress@
+--
+-- -   #VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09489# If
+--     @deviceAddress@ is not zero, @buffer@ /must/ have been created
+--     identically to the @buffer@ used to create the acceleration
+--     structure from which @deviceAddress@ was retrieved, except for
+--     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo'::@opaqueCaptureAddress@
+--
+-- -   #VUID-VkAccelerationStructureCreateInfoKHR-deviceAddress-09490# If
+--     @deviceAddress@ is not zero, @buffer@ /must/ have been created with
+--     a
+--     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.BufferOpaqueCaptureAddressCreateInfo'::@opaqueCaptureAddress@
+--     that was retrieved from
+--     'Vulkan.Core12.Promoted_From_VK_KHR_buffer_device_address.getBufferOpaqueCaptureAddress'
+--     for the @buffer@ that was used to create the acceleration structure
+--     from which @deviceAddress@ was retrieved
+--
 -- -   #VUID-VkAccelerationStructureCreateInfoKHR-createFlags-03613# If
 --     @createFlags@ includes
 --     'ACCELERATION_STRUCTURE_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT_KHR',
@@ -6237,7 +6249,8 @@
   , -- | @deviceAddress@ is the device address requested for the acceleration
     -- structure if the
     -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-accelerationStructureCaptureReplay accelerationStructureCaptureReplay>
-    -- feature is being used.
+    -- feature is being used. If @deviceAddress@ is zero, no specific address
+    -- is requested.
     deviceAddress :: DeviceAddress
   }
   deriving (Typeable)
diff --git a/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs b/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs
--- a/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs
+++ b/src/Vulkan/Extensions/VK_KHR_cooperative_matrix.hs
@@ -427,33 +427,18 @@
   , -- | @KSize@ is the number of columns in matrix @A@ and rows in matrix @B@.
     kSize :: Word32
   , -- | @AType@ is the component type of matrix @A@, of type 'ComponentTypeKHR'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesKHR-AType-parameter# @AType@ /must/
-    -- be a valid 'ComponentTypeKHR' value
     aType :: ComponentTypeKHR
   , -- | @BType@ is the component type of matrix @B@, of type 'ComponentTypeKHR'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesKHR-BType-parameter# @BType@ /must/
-    -- be a valid 'ComponentTypeKHR' value
     bType :: ComponentTypeKHR
   , -- | @CType@ is the component type of matrix @C@, of type 'ComponentTypeKHR'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesKHR-CType-parameter# @CType@ /must/
-    -- be a valid 'ComponentTypeKHR' value
     cType :: ComponentTypeKHR
   , -- | @ResultType@ is the component type of matrix
     -- 'Vulkan.Core10.Enums.Result.Result', of type 'ComponentTypeKHR'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesKHR-ResultType-parameter#
-    -- @ResultType@ /must/ be a valid 'ComponentTypeKHR' value
     resultType :: ComponentTypeKHR
   , -- | @saturatingAccumulation@ indicates whether the @SaturatingAccumulation@
     -- operand to @OpCooperativeMatrixMulAddKHR@ /must/ be present.
     saturatingAccumulation :: Bool
   , -- | @scope@ is the scope of all the matrix types, of type 'ScopeKHR'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesKHR-scope-parameter# @scope@ /must/
-    -- be a valid 'ScopeKHR' value
     scope :: ScopeKHR
   }
   deriving (Typeable, Eq)
diff --git a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs
@@ -0,0 +1,832 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_dynamic_rendering_local_read - device extension
+--
+-- == VK_KHR_dynamic_rendering_local_read
+--
+-- [__Name String__]
+--     @VK_KHR_dynamic_rendering_local_read@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     233
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering VK_KHR_dynamic_rendering>
+--
+-- [__Contact__]
+--
+--     -   Tobias Hector
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_dynamic_rendering_local_read] @tobski%0A*Here describe the issue or question you have about the VK_KHR_dynamic_rendering_local_read extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_dynamic_rendering_local_read.adoc VK_KHR_dynamic_rendering_local_read>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-11-03
+--
+-- [__Contributors__]
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Hans-Kristian Arntzen, Valve
+--
+--     -   Connor Abbott, Valve
+--
+--     -   Pan Gao, Huawei
+--
+--     -   Lionel Landwerlin, Intel
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Alyssa Rosenzweig, Valve
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Mike Blumenkrantz, Valve
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Piers Daniell, Nvidia
+--
+--     -   Stuart Smith, AMD
+--
+--     -   Daniel Story, Nintendo
+--
+--     -   James Fitzpatrick, Imagination
+--
+--     -   Piotr Byszewski, Mobica
+--
+--     -   Spencer Fricke, LunarG
+--
+--     -   Tom Olson, Arm
+--
+--     -   Michal Pietrasiuk, Intel
+--
+--     -   Matthew Netsch, Qualcomm
+--
+--     -   Marty Johnson, Khronos
+--
+--     -   Wyvern Wang, Huawei
+--
+--     -   Jeff Bolz, Nvidia
+--
+--     -   Samuel (Sheng-Wen) Huang, MediaTek
+--
+-- == Description
+--
+-- This extension enables reads from attachments and resources written by
+-- previous fragment shaders within a dynamic render pass.
+--
+-- == New Commands
+--
+-- -   'cmdSetRenderingAttachmentLocationsKHR'
+--
+-- -   'cmdSetRenderingInputAttachmentIndicesKHR'
+--
+-- == New Structures
+--
+-- -   Extending 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',
+--     'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo':
+--
+--     -   'RenderingAttachmentLocationInfoKHR'
+--
+--     -   'RenderingInputAttachmentIndexInfoKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME'
+--
+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.ImageLayout.ImageLayout':
+--
+--     -   'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR'
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-11-03 (Tobias Hector)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR',
+-- 'RenderingAttachmentLocationInfoKHR',
+-- 'RenderingInputAttachmentIndexInfoKHR',
+-- 'cmdSetRenderingAttachmentLocationsKHR',
+-- 'cmdSetRenderingInputAttachmentIndicesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read 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_dynamic_rendering_local_read  ( cmdSetRenderingAttachmentLocationsKHR
+                                                              , cmdSetRenderingInputAttachmentIndicesKHR
+                                                              , PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR(..)
+                                                              , RenderingAttachmentLocationInfoKHR(..)
+                                                              , RenderingInputAttachmentIndexInfoKHR(..)
+                                                              , KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION
+                                                              , pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION
+                                                              , KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME
+                                                              , pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME
+                                                              ) where
+
+import Vulkan.Internal.Utils (traceAroundEvent)
+import Control.Monad (unless)
+import Control.Monad.IO.Class (liftIO)
+import Foreign.Marshal.Alloc (allocaBytes)
+import Foreign.Marshal.Utils (maybePeek)
+import Foreign.Marshal.Utils (with)
+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 Data.Vector (generateM)
+import qualified Data.Vector (imapM_)
+import qualified Data.Vector (length)
+import qualified Data.Vector (null)
+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.NamedType ((:::))
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.Core10.Handles (CommandBuffer)
+import Vulkan.Core10.Handles (CommandBuffer(..))
+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
+import Vulkan.Core10.Handles (CommandBuffer_T)
+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetRenderingAttachmentLocationsKHR))
+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetRenderingInputAttachmentIndicesKHR))
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR))
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdSetRenderingAttachmentLocationsKHR
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr RenderingAttachmentLocationInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Ptr RenderingAttachmentLocationInfoKHR -> IO ()
+
+-- | vkCmdSetRenderingAttachmentLocationsKHR - Set color attachment location
+-- mappings for a command buffer
+--
+-- = Description
+--
+-- This command sets the attachment location mappings for subsequent
+-- drawing commands, and /must/ match the mappings provided to the
+-- currently bound pipeline, if one is bound, which /can/ be set by
+-- chaining 'RenderingAttachmentLocationInfoKHR' to
+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'.
+--
+-- Until this command is called, mappings in the command buffer state are
+-- treated as each color attachment specified in
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
+-- having a location equal to its index in
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@pColorAttachments@.
+-- This state is reset whenever
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
+-- is called.
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-dynamicRenderingLocalRead-09509#
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     /must/ be enabled
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-pLocationInfo-09510#
+--     @pLocationInfo->colorAttachmentCount@ /must/ be equal to the value
+--     of
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@colorAttachmentCount@
+--     used to begin the current render pass instance
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-09511#
+--     The current render pass instance /must/ have been started or resumed
+--     by
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
+--     in this @commandBuffer@
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-pLocationInfo-parameter#
+--     @pLocationInfo@ /must/ be a valid pointer to a valid
+--     'RenderingAttachmentLocationInfoKHR' structure
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-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-vkCmdSetRenderingAttachmentLocationsKHR-commandBuffer-cmdpool#
+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics operations
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-renderpass# This
+--     command /must/ only be called inside of a render pass instance
+--
+-- -   #VUID-vkCmdSetRenderingAttachmentLocationsKHR-videocoding# This
+--     command /must/ only be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Inside                                                                                                                 | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,
+-- 'Vulkan.Core10.Handles.CommandBuffer',
+-- 'RenderingAttachmentLocationInfoKHR'
+cmdSetRenderingAttachmentLocationsKHR :: forall io
+                                       . (MonadIO io)
+                                      => -- | @commandBuffer@ is the command buffer into which the command will be
+                                         -- recorded.
+                                         CommandBuffer
+                                      -> -- | @pLocationInfo@ is a 'RenderingAttachmentLocationInfoKHR' structure
+                                         -- indicating the new mappings.
+                                         RenderingAttachmentLocationInfoKHR
+                                      -> io ()
+cmdSetRenderingAttachmentLocationsKHR commandBuffer
+                                        locationInfo = liftIO . evalContT $ do
+  let vkCmdSetRenderingAttachmentLocationsKHRPtr = pVkCmdSetRenderingAttachmentLocationsKHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdSetRenderingAttachmentLocationsKHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetRenderingAttachmentLocationsKHR is null" Nothing Nothing
+  let vkCmdSetRenderingAttachmentLocationsKHR' = mkVkCmdSetRenderingAttachmentLocationsKHR vkCmdSetRenderingAttachmentLocationsKHRPtr
+  pLocationInfo <- ContT $ withCStruct (locationInfo)
+  lift $ traceAroundEvent "vkCmdSetRenderingAttachmentLocationsKHR" (vkCmdSetRenderingAttachmentLocationsKHR'
+                                                                       (commandBufferHandle (commandBuffer))
+                                                                       pLocationInfo)
+  pure $ ()
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdSetRenderingInputAttachmentIndicesKHR
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr RenderingInputAttachmentIndexInfoKHR -> IO ()) -> Ptr CommandBuffer_T -> Ptr RenderingInputAttachmentIndexInfoKHR -> IO ()
+
+-- | vkCmdSetRenderingInputAttachmentIndicesKHR - Set input attachment index
+-- mappings for a command buffer
+--
+-- = Description
+--
+-- This command sets the input attachment index mappings for subsequent
+-- drawing commands, and /must/ match the mappings provided to the
+-- currently bound pipeline, if one is bound, which /can/ be set by
+-- chaining 'RenderingInputAttachmentIndexInfoKHR' to
+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo'.
+--
+-- Until this command is called, mappings in the command buffer state are
+-- treated as each color attachment specified in
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
+-- mapping to subpass inputs with a @InputAttachmentIndex@ equal to its
+-- index in
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@pColorAttachments@,
+-- and depth\/stencil attachments mapping to input attachments without
+-- these decorations. This state is reset whenever
+-- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
+-- is called.
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-dynamicRenderingLocalRead-09516#
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     /must/ be enabled
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pInputAttachmentIndexInfo-09517#
+--     @pInputAttachmentIndexInfo->colorAttachmentCount@ /must/ be equal to
+--     the value of
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.RenderingInfo'::@colorAttachmentCount@
+--     used to begin the current render pass instance
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-09518#
+--     The current render pass instance /must/ have been started or resumed
+--     by
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
+--     in this @commandBuffer@
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-pLocationInfo-parameter#
+--     @pLocationInfo@ /must/ be a valid pointer to a valid
+--     'RenderingInputAttachmentIndexInfoKHR' structure
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-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-vkCmdSetRenderingInputAttachmentIndicesKHR-commandBuffer-cmdpool#
+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics operations
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-renderpass# This
+--     command /must/ only be called inside of a render pass instance
+--
+-- -   #VUID-vkCmdSetRenderingInputAttachmentIndicesKHR-videocoding# This
+--     command /must/ only be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Inside                                                                                                                 | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,
+-- 'Vulkan.Core10.Handles.CommandBuffer',
+-- 'RenderingInputAttachmentIndexInfoKHR'
+cmdSetRenderingInputAttachmentIndicesKHR :: forall io
+                                          . (MonadIO io)
+                                         => -- | @commandBuffer@ is the command buffer into which the command will be
+                                            -- recorded.
+                                            CommandBuffer
+                                         -> -- No documentation found for Nested "vkCmdSetRenderingInputAttachmentIndicesKHR" "pLocationInfo"
+                                            ("locationInfo" ::: RenderingInputAttachmentIndexInfoKHR)
+                                         -> io ()
+cmdSetRenderingInputAttachmentIndicesKHR commandBuffer
+                                           locationInfo = liftIO . evalContT $ do
+  let vkCmdSetRenderingInputAttachmentIndicesKHRPtr = pVkCmdSetRenderingInputAttachmentIndicesKHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdSetRenderingInputAttachmentIndicesKHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetRenderingInputAttachmentIndicesKHR is null" Nothing Nothing
+  let vkCmdSetRenderingInputAttachmentIndicesKHR' = mkVkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHRPtr
+  pLocationInfo <- ContT $ withCStruct (locationInfo)
+  lift $ traceAroundEvent "vkCmdSetRenderingInputAttachmentIndicesKHR" (vkCmdSetRenderingInputAttachmentIndicesKHR'
+                                                                          (commandBufferHandle (commandBuffer))
+                                                                          pLocationInfo)
+  pure $ ()
+
+
+-- | VkPhysicalDeviceDynamicRenderingLocalReadFeaturesKHR - Structure
+-- indicating support for local reads in dynamic render pass instances
+--
+-- = Members
+--
+-- This structure describes the following feature:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR' 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. 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR' /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_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR = PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+  { -- | #features-dynamicRenderingLocalRead# @dynamicRenderingLocalRead@
+    -- specifies that the implementation supports local reads inside dynamic
+    -- render pass instances using the
+    -- 'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering'
+    -- command.
+    dynamicRenderingLocalRead :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+
+instance ToCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (dynamicRenderingLocalRead))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where
+  peekCStruct p = do
+    dynamicRenderingLocalRead <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+             (bool32ToBool dynamicRenderingLocalRead)
+
+instance Storable PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR where
+  zero = PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+           zero
+
+
+-- | VkRenderingAttachmentLocationInfoKHR - Structure specifying attachment
+-- locations
+--
+-- = Description
+--
+-- This structure allows applications to remap the locations of color
+-- attachments to different fragment shader output locations.
+--
+-- Each element of @pColorAttachmentLocations@ set to
+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' will be inaccessible to
+-- this pipeline as a color attachment; no location will map to it. Each
+-- element of @pColorAttachmentLocations@ set to any other value will map
+-- the specified location value to the color attachment specified in the
+-- render pass at the corresponding index in the
+-- @pColorAttachmentLocations@ array. If @pColorAttachmentLocations@ is
+-- @NULL@, it is equivalent to setting each element to its index within the
+-- array. Any writes to a fragment output location that is not mapped to an
+-- attachment /must/ be discarded.
+--
+-- This structure /can/ be included in the @pNext@ chain of a
+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' structure to set
+-- this state for a pipeline. This structure /can/ be included in the
+-- @pNext@ chain of a
+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo' structure to
+-- specify inherited state from the primary command buffer. If this
+-- structure is not included in the @pNext@ chain of
+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' or
+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo', it is
+-- equivalent to specifying this structure with the following properties:
+--
+-- -   @colorAttachmentCount@ set to
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@.
+--
+-- -   @pColorAttachmentLocations@ set to @NULL@.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-dynamicRenderingLocalRead-09512#
+--     If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, and @pColorAttachmentLocations@ is not
+--     @NULL@, each element /must/ be set to the value of its index within
+--     the array
+--
+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09513#
+--     Elements of @pColorAttachmentLocations@ that are not
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ each be unique
+--
+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-colorAttachmentCount-09514#
+--     @colorAttachmentCount@ /must/ be less than or equal to
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-maxColorAttachments maxColorAttachments>
+--
+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-pColorAttachmentLocations-09515#
+--     Each element of @pColorAttachmentLocations@ /must/ be less than or
+--     equal to
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-maxColorAttachments maxColorAttachments>
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkRenderingAttachmentLocationInfoKHR-sType-sType# @sType@
+--     /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'cmdSetRenderingAttachmentLocationsKHR'
+data RenderingAttachmentLocationInfoKHR = RenderingAttachmentLocationInfoKHR
+  { -- | @pColorAttachmentLocations@ is a pointer to an array of
+    -- @colorAttachmentCount@ @uint32_t@ values defining remapped locations for
+    -- color attachments.
+    colorAttachmentLocations :: Vector Word32 }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (RenderingAttachmentLocationInfoKHR)
+#endif
+deriving instance Show RenderingAttachmentLocationInfoKHR
+
+instance ToCStruct RenderingAttachmentLocationInfoKHR where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p RenderingAttachmentLocationInfoKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (colorAttachmentLocations)) :: Word32))
+    pPColorAttachmentLocations' <- ContT $ allocaBytes @Word32 ((Data.Vector.length (colorAttachmentLocations)) * 4)
+    lift $ Data.Vector.imapM_ (\i e -> poke (pPColorAttachmentLocations' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (colorAttachmentLocations)
+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) (pPColorAttachmentLocations')
+    lift $ f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    f
+
+instance FromCStruct RenderingAttachmentLocationInfoKHR where
+  peekCStruct p = do
+    colorAttachmentCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    pColorAttachmentLocations <- peek @(Ptr Word32) ((p `plusPtr` 24 :: Ptr (Ptr Word32)))
+    pColorAttachmentLocations' <- generateM (fromIntegral colorAttachmentCount) (\i -> peek @Word32 ((pColorAttachmentLocations `advancePtrBytes` (4 * (i)) :: Ptr Word32)))
+    pure $ RenderingAttachmentLocationInfoKHR
+             pColorAttachmentLocations'
+
+instance Zero RenderingAttachmentLocationInfoKHR where
+  zero = RenderingAttachmentLocationInfoKHR
+           mempty
+
+
+-- | VkRenderingInputAttachmentIndexInfoKHR - Structure specifying input
+-- attachment indices
+--
+-- = Description
+--
+-- This structure allows applications to remap attachments to different
+-- input attachment indices.
+--
+-- Each element of @pColorAttachmentInputIndices@ set to a value of
+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' indicates that the
+-- corresponding attachment will not be used as an input attachment in this
+-- pipeline. Any other value in each of those elements will map the
+-- corresponding attachment to a @InputAttachmentIndex@ value defined in
+-- shader code. If @pColorAttachmentInputIndices@ is @NULL@, it is
+-- equivalent to setting each element to its index within the array.
+--
+-- If @pDepthInputAttachmentIndex@ or @pStencilInputAttachmentIndex@ are
+-- set to @NULL@, they map to input attachments without a
+-- @InputAttachmentIndex@ decoration. If they point to a value of
+-- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED', it indicates that the
+-- corresponding attachment will not be used as an input attachment in this
+-- pipeline. If they point to any other value it maps the corresponding
+-- attachment to a @InputAttachmentIndex@ value defined in shader code.
+--
+-- This structure /can/ be included in the @pNext@ chain of a
+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' structure to set
+-- this state for a pipeline. This structure /can/ be included in the
+-- @pNext@ chain of a
+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo' structure to
+-- specify inherited state from the primary command buffer. If this
+-- structure is not included in the @pNext@ chain of
+-- 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo' or
+-- 'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo', it is
+-- equivalent to specifying this structure with the following properties:
+--
+-- -   @colorAttachmentCount@ set to
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.PipelineRenderingCreateInfo'::@colorAttachmentCount@.
+--
+-- -   @pColorAttachmentInputIndices@ set to @NULL@.
+--
+-- -   @pDepthInputAttachmentIndex@ set to @NULL@.
+--
+-- -   @pStencilInputAttachmentIndex@ set to @NULL@.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09519#
+--     If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, and @pColorAttachmentInputIndices@ is not
+--     @NULL@, each element /must/ be set to
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09520#
+--     If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @pDepthInputAttachmentIndex@ /must/ be a
+--     valid pointer to a value of
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-dynamicRenderingLocalRead-09521#
+--     If the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicRenderingLocalRead dynamicRenderingLocalRead>
+--     feature is not enabled, @pStencilInputAttachmentIndex@ /must/ be a
+--     valid pointer to a value of
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09522#
+--     Elements of @pColorAttachmentInputIndices@ that are not
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ each be unique
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09523#
+--     Elements of @pColorAttachmentInputIndices@ that are not
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ not take the
+--     same value as the content of @pDepthInputAttachmentIndex@
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-09524#
+--     Elements of @pColorAttachmentInputIndices@ that are not
+--     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' /must/ not take the
+--     same value as the content of @pStencilInputAttachmentIndex@
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-colorAttachmentCount-09525#
+--     @colorAttachmentCount@ /must/ be less than or equal to
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#limits-maxColorAttachments maxColorAttachments>
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-sType-sType# @sType@
+--     /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR'
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pColorAttachmentInputIndices-parameter#
+--     If @colorAttachmentCount@ is not @0@, and
+--     @pColorAttachmentInputIndices@ is not @NULL@,
+--     @pColorAttachmentInputIndices@ /must/ be a valid pointer to an array
+--     of @colorAttachmentCount@ @uint32_t@ values
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pDepthInputAttachmentIndex-parameter#
+--     If @pDepthInputAttachmentIndex@ is not @NULL@,
+--     @pDepthInputAttachmentIndex@ /must/ be a valid pointer to a valid
+--     @uint32_t@ value
+--
+-- -   #VUID-VkRenderingInputAttachmentIndexInfoKHR-pStencilInputAttachmentIndex-parameter#
+--     If @pStencilInputAttachmentIndex@ is not @NULL@,
+--     @pStencilInputAttachmentIndex@ /must/ be a valid pointer to a valid
+--     @uint32_t@ value
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read VK_KHR_dynamic_rendering_local_read>,
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'cmdSetRenderingInputAttachmentIndicesKHR'
+data RenderingInputAttachmentIndexInfoKHR = RenderingInputAttachmentIndexInfoKHR
+  { -- | @colorAttachmentCount@ is the number of elements in
+    -- @pColorAttachmentInputIndices@.
+    colorAttachmentCount :: Word32
+  , -- | @pColorAttachmentInputIndices@ is a pointer to an array of
+    -- @colorAttachmentCount@ @uint32_t@ values defining indices for color
+    -- attachments to be used as input attachments.
+    colorAttachmentInputIndices :: Vector Word32
+  , -- | @pDepthInputAttachmentIndex@ is either @NULL@, or a pointer to a
+    -- @uint32_t@ value defining the index for the depth attachment to be used
+    -- an an input attachment.
+    depthInputAttachmentIndex :: Maybe Word32
+  , -- | @pStencilInputAttachmentIndex@ is either @NULL@, or a pointer to a
+    -- @uint32_t@ value defining the index for the stencil attachment to be
+    -- used an an input attachment.
+    stencilInputAttachmentIndex :: Maybe Word32
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (RenderingInputAttachmentIndexInfoKHR)
+#endif
+deriving instance Show RenderingInputAttachmentIndexInfoKHR
+
+instance ToCStruct RenderingInputAttachmentIndexInfoKHR where
+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p RenderingInputAttachmentIndexInfoKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    let pColorAttachmentInputIndicesLength = Data.Vector.length $ (colorAttachmentInputIndices)
+    colorAttachmentCount'' <- lift $ if (colorAttachmentCount) == 0
+      then pure $ fromIntegral pColorAttachmentInputIndicesLength
+      else do
+        unless (fromIntegral pColorAttachmentInputIndicesLength == (colorAttachmentCount) || pColorAttachmentInputIndicesLength == 0) $
+          throwIO $ IOError Nothing InvalidArgument "" "pColorAttachmentInputIndices must be empty or have 'colorAttachmentCount' elements" Nothing Nothing
+        pure (colorAttachmentCount)
+    lift $ poke ((p `plusPtr` 16 :: Ptr Word32)) (colorAttachmentCount'')
+    pColorAttachmentInputIndices'' <- if Data.Vector.null (colorAttachmentInputIndices)
+      then pure nullPtr
+      else do
+        pPColorAttachmentInputIndices <- ContT $ allocaBytes @Word32 (((Data.Vector.length (colorAttachmentInputIndices))) * 4)
+        lift $ Data.Vector.imapM_ (\i e -> poke (pPColorAttachmentInputIndices `plusPtr` (4 * (i)) :: Ptr Word32) (e)) ((colorAttachmentInputIndices))
+        pure $ pPColorAttachmentInputIndices
+    lift $ poke ((p `plusPtr` 24 :: Ptr (Ptr Word32))) pColorAttachmentInputIndices''
+    pDepthInputAttachmentIndex'' <- case (depthInputAttachmentIndex) of
+      Nothing -> pure nullPtr
+      Just j -> ContT $ with (j)
+    lift $ poke ((p `plusPtr` 32 :: Ptr (Ptr Word32))) pDepthInputAttachmentIndex''
+    pStencilInputAttachmentIndex'' <- case (stencilInputAttachmentIndex) of
+      Nothing -> pure nullPtr
+      Just j -> ContT $ with (j)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Word32))) pStencilInputAttachmentIndex''
+    lift $ f
+  cStructSize = 48
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    f
+
+instance FromCStruct RenderingInputAttachmentIndexInfoKHR where
+  peekCStruct p = do
+    colorAttachmentCount <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    pColorAttachmentInputIndices <- peek @(Ptr Word32) ((p `plusPtr` 24 :: Ptr (Ptr Word32)))
+    let pColorAttachmentInputIndicesLength = if pColorAttachmentInputIndices == nullPtr then 0 else (fromIntegral colorAttachmentCount)
+    pColorAttachmentInputIndices' <- generateM pColorAttachmentInputIndicesLength (\i -> peek @Word32 ((pColorAttachmentInputIndices `advancePtrBytes` (4 * (i)) :: Ptr Word32)))
+    pDepthInputAttachmentIndex <- peek @(Ptr Word32) ((p `plusPtr` 32 :: Ptr (Ptr Word32)))
+    pDepthInputAttachmentIndex' <- maybePeek (\j -> peek @Word32 (j)) pDepthInputAttachmentIndex
+    pStencilInputAttachmentIndex <- peek @(Ptr Word32) ((p `plusPtr` 40 :: Ptr (Ptr Word32)))
+    pStencilInputAttachmentIndex' <- maybePeek (\j -> peek @Word32 (j)) pStencilInputAttachmentIndex
+    pure $ RenderingInputAttachmentIndexInfoKHR
+             colorAttachmentCount
+             pColorAttachmentInputIndices'
+             pDepthInputAttachmentIndex'
+             pStencilInputAttachmentIndex'
+
+instance Zero RenderingInputAttachmentIndexInfoKHR where
+  zero = RenderingInputAttachmentIndexInfoKHR
+           zero
+           mempty
+           Nothing
+           Nothing
+
+
+type KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION"
+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION = 1
+
+
+type KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read"
+
+-- No documentation found for TopLevel "VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME"
+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME = "VK_KHR_dynamic_rendering_local_read"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs-boot b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_dynamic_rendering_local_read.hs-boot
@@ -0,0 +1,183 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_dynamic_rendering_local_read - device extension
+--
+-- == VK_KHR_dynamic_rendering_local_read
+--
+-- [__Name String__]
+--     @VK_KHR_dynamic_rendering_local_read@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     233
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_dynamic_rendering VK_KHR_dynamic_rendering>
+--
+-- [__Contact__]
+--
+--     -   Tobias Hector
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_dynamic_rendering_local_read] @tobski%0A*Here describe the issue or question you have about the VK_KHR_dynamic_rendering_local_read extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_dynamic_rendering_local_read.adoc VK_KHR_dynamic_rendering_local_read>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-11-03
+--
+-- [__Contributors__]
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Hans-Kristian Arntzen, Valve
+--
+--     -   Connor Abbott, Valve
+--
+--     -   Pan Gao, Huawei
+--
+--     -   Lionel Landwerlin, Intel
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Alyssa Rosenzweig, Valve
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Mike Blumenkrantz, Valve
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Piers Daniell, Nvidia
+--
+--     -   Stuart Smith, AMD
+--
+--     -   Daniel Story, Nintendo
+--
+--     -   James Fitzpatrick, Imagination
+--
+--     -   Piotr Byszewski, Mobica
+--
+--     -   Spencer Fricke, LunarG
+--
+--     -   Tom Olson, Arm
+--
+--     -   Michal Pietrasiuk, Intel
+--
+--     -   Matthew Netsch, Qualcomm
+--
+--     -   Marty Johnson, Khronos
+--
+--     -   Wyvern Wang, Huawei
+--
+--     -   Jeff Bolz, Nvidia
+--
+--     -   Samuel (Sheng-Wen) Huang, MediaTek
+--
+-- == Description
+--
+-- This extension enables reads from attachments and resources written by
+-- previous fragment shaders within a dynamic render pass.
+--
+-- == New Commands
+--
+-- -   'cmdSetRenderingAttachmentLocationsKHR'
+--
+-- -   'cmdSetRenderingInputAttachmentIndicesKHR'
+--
+-- == New Structures
+--
+-- -   Extending 'Vulkan.Core10.Pipeline.GraphicsPipelineCreateInfo',
+--     'Vulkan.Core10.CommandBuffer.CommandBufferInheritanceInfo':
+--
+--     -   'RenderingAttachmentLocationInfoKHR'
+--
+--     -   'RenderingInputAttachmentIndexInfoKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME'
+--
+-- -   'KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.ImageLayout.ImageLayout':
+--
+--     -   'Vulkan.Core10.Enums.ImageLayout.IMAGE_LAYOUT_RENDERING_LOCAL_READ_KHR'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_DYNAMIC_RENDERING_LOCAL_READ_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_ATTACHMENT_LOCATION_INFO_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_RENDERING_INPUT_ATTACHMENT_INDEX_INFO_KHR'
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-11-03 (Tobias Hector)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR',
+-- 'RenderingAttachmentLocationInfoKHR',
+-- 'RenderingInputAttachmentIndexInfoKHR',
+-- 'cmdSetRenderingAttachmentLocationsKHR',
+-- 'cmdSetRenderingInputAttachmentIndicesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_dynamic_rendering_local_read 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_dynamic_rendering_local_read  ( PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+                                                              , RenderingAttachmentLocationInfoKHR
+                                                              , RenderingInputAttachmentIndexInfoKHR
+                                                              ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+
+instance ToCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+instance Show PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+
+instance FromCStruct PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR
+
+
+data RenderingAttachmentLocationInfoKHR
+
+instance ToCStruct RenderingAttachmentLocationInfoKHR
+instance Show RenderingAttachmentLocationInfoKHR
+
+instance FromCStruct RenderingAttachmentLocationInfoKHR
+
+
+data RenderingInputAttachmentIndexInfoKHR
+
+instance ToCStruct RenderingInputAttachmentIndexInfoKHR
+instance Show RenderingInputAttachmentIndexInfoKHR
+
+instance FromCStruct RenderingInputAttachmentIndexInfoKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs b/src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs
@@ -0,0 +1,201 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_index_type_uint8 - device extension
+--
+-- == VK_KHR_index_type_uint8
+--
+-- [__Name String__]
+--     @VK_KHR_index_type_uint8@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     534
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
+--     or
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_index_type_uint8] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_index_type_uint8 extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-06-06
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Jeff Bolz, NVIDIA
+--
+-- == Description
+--
+-- This extension allows @uint8_t@ indices to be used with
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceIndexTypeUint8FeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_INDEX_TYPE_UINT8_EXTENSION_NAME'
+--
+-- -   'KHR_INDEX_TYPE_UINT8_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':
+--
+--     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR'
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-06-06 (Piers Daniell)
+--
+--     -   Internal revisions
+--
+-- == See Also
+--
+-- 'PhysicalDeviceIndexTypeUint8FeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_index_type_uint8 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_index_type_uint8  ( PhysicalDeviceIndexTypeUint8FeaturesKHR(..)
+                                                  , KHR_INDEX_TYPE_UINT8_SPEC_VERSION
+                                                  , pattern KHR_INDEX_TYPE_UINT8_SPEC_VERSION
+                                                  , KHR_INDEX_TYPE_UINT8_EXTENSION_NAME
+                                                  , pattern KHR_INDEX_TYPE_UINT8_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_INDEX_TYPE_UINT8_FEATURES_KHR))
+-- | VkPhysicalDeviceIndexTypeUint8FeaturesKHR - Structure describing whether
+-- uint8 index type can be used
+--
+-- = Members
+--
+-- This structure describes the following feature:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceIndexTypeUint8FeaturesKHR' 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. 'PhysicalDeviceIndexTypeUint8FeaturesKHR' /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_index_type_uint8 VK_EXT_index_type_uint8>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_index_type_uint8 VK_KHR_index_type_uint8>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceIndexTypeUint8FeaturesKHR = PhysicalDeviceIndexTypeUint8FeaturesKHR
+  { -- | #features-indexTypeUint8# @indexTypeUint8@ indicates that
+    -- 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR' can be used with
+    -- 'Vulkan.Extensions.VK_KHR_maintenance5.cmdBindIndexBuffer2KHR' and
+    -- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.
+    indexTypeUint8 :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceIndexTypeUint8FeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceIndexTypeUint8FeaturesKHR
+
+instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceIndexTypeUint8FeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (indexTypeUint8))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR where
+  peekCStruct p = do
+    indexTypeUint8 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceIndexTypeUint8FeaturesKHR
+             (bool32ToBool indexTypeUint8)
+
+instance Storable PhysicalDeviceIndexTypeUint8FeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceIndexTypeUint8FeaturesKHR where
+  zero = PhysicalDeviceIndexTypeUint8FeaturesKHR
+           zero
+
+
+type KHR_INDEX_TYPE_UINT8_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION"
+pattern KHR_INDEX_TYPE_UINT8_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_INDEX_TYPE_UINT8_SPEC_VERSION = 1
+
+
+type KHR_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_KHR_index_type_uint8"
+
+-- No documentation found for TopLevel "VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME"
+pattern KHR_INDEX_TYPE_UINT8_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_INDEX_TYPE_UINT8_EXTENSION_NAME = "VK_KHR_index_type_uint8"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs-boot b/src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_index_type_uint8.hs-boot
@@ -0,0 +1,101 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_index_type_uint8 - device extension
+--
+-- == VK_KHR_index_type_uint8
+--
+-- [__Name String__]
+--     @VK_KHR_index_type_uint8@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     534
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
+--     or
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_index_type_uint8] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_index_type_uint8 extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-06-06
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Jeff Bolz, NVIDIA
+--
+-- == Description
+--
+-- This extension allows @uint8_t@ indices to be used with
+-- 'Vulkan.Core10.CommandBufferBuilding.cmdBindIndexBuffer'.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceIndexTypeUint8FeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_INDEX_TYPE_UINT8_EXTENSION_NAME'
+--
+-- -   'KHR_INDEX_TYPE_UINT8_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.IndexType.IndexType':
+--
+--     -   'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_INDEX_TYPE_UINT8_FEATURES_KHR'
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-06-06 (Piers Daniell)
+--
+--     -   Internal revisions
+--
+-- == See Also
+--
+-- 'PhysicalDeviceIndexTypeUint8FeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_index_type_uint8 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_index_type_uint8  (PhysicalDeviceIndexTypeUint8FeaturesKHR) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceIndexTypeUint8FeaturesKHR
+
+instance ToCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR
+instance Show PhysicalDeviceIndexTypeUint8FeaturesKHR
+
+instance FromCStruct PhysicalDeviceIndexTypeUint8FeaturesKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_line_rasterization.hs b/src/Vulkan/Extensions/VK_KHR_line_rasterization.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_line_rasterization.hs
@@ -0,0 +1,732 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_line_rasterization - device extension
+--
+-- == VK_KHR_line_rasterization
+--
+-- [__Name String__]
+--     @VK_KHR_line_rasterization@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     535
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
+--     or
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_line_rasterization] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_line_rasterization extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-06-08
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Jeff Bolz, NVIDIA
+--
+--     -   Allen Jensen, NVIDIA
+--
+--     -   Faith Ekstrand, Intel
+--
+-- == Description
+--
+-- This extension adds some line rasterization features that are commonly
+-- used in CAD applications and supported in other APIs like OpenGL.
+-- Bresenham-style line rasterization is supported, smooth rectangular
+-- lines (coverage to alpha) are supported, and stippled lines are
+-- supported for all three line rasterization modes.
+--
+-- == New Commands
+--
+-- -   'cmdSetLineStippleKHR'
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceLineRasterizationFeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceLineRasterizationPropertiesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo':
+--
+--     -   'PipelineRasterizationLineStateCreateInfoKHR'
+--
+-- == New Enums
+--
+-- -   'LineRasterizationModeKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_LINE_RASTERIZATION_EXTENSION_NAME'
+--
+-- -   'KHR_LINE_RASTERIZATION_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR'
+--
+-- == Issues
+--
+-- 1) Do we need to support Bresenham-style and smooth lines with more than
+-- one rasterization sample? i.e. the equivalent of
+-- glDisable(GL_MULTISAMPLE) in OpenGL when the framebuffer has more than
+-- one sample?
+--
+-- __RESOLVED__: Yes. For simplicity, Bresenham line rasterization carries
+-- forward a few restrictions from OpenGL, such as not supporting
+-- per-sample shading, alpha to coverage, or alpha to one.
+--
+-- == Version History
+--
+-- -   Revision 1, 2019-05-09 (Jeff Bolz)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'LineRasterizationModeKHR',
+-- 'PhysicalDeviceLineRasterizationFeaturesKHR',
+-- 'PhysicalDeviceLineRasterizationPropertiesKHR',
+-- 'PipelineRasterizationLineStateCreateInfoKHR', 'cmdSetLineStippleKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_line_rasterization 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_line_rasterization  ( cmdSetLineStippleKHR
+                                                    , pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT
+                                                    , pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT
+                                                    , pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT
+                                                    , pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
+                                                    , PhysicalDeviceLineRasterizationFeaturesKHR(..)
+                                                    , PhysicalDeviceLineRasterizationPropertiesKHR(..)
+                                                    , PipelineRasterizationLineStateCreateInfoKHR(..)
+                                                    , LineRasterizationModeKHR( LINE_RASTERIZATION_MODE_DEFAULT_KHR
+                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_KHR
+                                                                              , LINE_RASTERIZATION_MODE_BRESENHAM_KHR
+                                                                              , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR
+                                                                              , ..
+                                                                              )
+                                                    , KHR_LINE_RASTERIZATION_SPEC_VERSION
+                                                    , pattern KHR_LINE_RASTERIZATION_SPEC_VERSION
+                                                    , KHR_LINE_RASTERIZATION_EXTENSION_NAME
+                                                    , pattern KHR_LINE_RASTERIZATION_EXTENSION_NAME
+                                                    ) where
+
+import Vulkan.Internal.Utils (enumReadPrec)
+import Vulkan.Internal.Utils (enumShowsPrec)
+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 GHC.Show (showsPrec)
+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.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 Data.Int (Int32)
+import Foreign.Ptr (FunPtr)
+import Foreign.Ptr (Ptr)
+import GHC.Read (Read(readPrec))
+import GHC.Show (Show(showsPrec))
+import Data.Word (Word16)
+import Data.Word (Word32)
+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 (CommandBuffer)
+import Vulkan.Core10.Handles (CommandBuffer(..))
+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
+import Vulkan.Core10.Handles (CommandBuffer_T)
+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetLineStippleKHR))
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR))
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdSetLineStippleKHR
+  :: FunPtr (Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()) -> Ptr CommandBuffer_T -> Word32 -> Word16 -> IO ()
+
+-- | vkCmdSetLineStippleKHR - Set line stipple dynamically for a command
+-- buffer
+--
+-- = Description
+--
+-- This command sets the line stipple state for subsequent drawing commands
+-- when drawing using
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#shaders-objects shader objects>,
+-- or when the graphics pipeline is created with
+-- 'Vulkan.Extensions.VK_EXT_line_rasterization.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+-- set in
+-- 'Vulkan.Core10.Pipeline.PipelineDynamicStateCreateInfo'::@pDynamicStates@.
+-- Otherwise, this state is specified by the
+-- 'PipelineRasterizationLineStateCreateInfoKHR'::@lineStippleFactor@ and
+-- 'PipelineRasterizationLineStateCreateInfoKHR'::@lineStipplePattern@
+-- values used to create the currently active pipeline.
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdSetLineStippleKHR-lineStippleFactor-02776#
+--     @lineStippleFactor@ /must/ be in the range [1,256]
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdSetLineStippleKHR-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdSetLineStippleKHR-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-vkCmdSetLineStippleKHR-commandBuffer-cmdpool# The
+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics operations
+--
+-- -   #VUID-vkCmdSetLineStippleKHR-videocoding# This command /must/ only
+--     be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             |                                                                                                                       |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,
+-- 'Vulkan.Core10.Handles.CommandBuffer'
+cmdSetLineStippleKHR :: forall io
+                      . (MonadIO io)
+                     => -- | @commandBuffer@ is the command buffer into which the command will be
+                        -- recorded.
+                        CommandBuffer
+                     -> -- | @lineStippleFactor@ is the repeat factor used in stippled line
+                        -- rasterization.
+                        ("lineStippleFactor" ::: Word32)
+                     -> -- | @lineStipplePattern@ is the bit pattern used in stippled line
+                        -- rasterization.
+                        ("lineStipplePattern" ::: Word16)
+                     -> io ()
+cmdSetLineStippleKHR commandBuffer
+                       lineStippleFactor
+                       lineStipplePattern = liftIO $ do
+  let vkCmdSetLineStippleKHRPtr = pVkCmdSetLineStippleKHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  unless (vkCmdSetLineStippleKHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetLineStippleKHR is null" Nothing Nothing
+  let vkCmdSetLineStippleKHR' = mkVkCmdSetLineStippleKHR vkCmdSetLineStippleKHRPtr
+  traceAroundEvent "vkCmdSetLineStippleKHR" (vkCmdSetLineStippleKHR'
+                                               (commandBufferHandle (commandBuffer))
+                                               (lineStippleFactor)
+                                               (lineStipplePattern))
+  pure $ ()
+
+
+-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_DEFAULT_EXT"
+pattern LINE_RASTERIZATION_MODE_DEFAULT_EXT = LINE_RASTERIZATION_MODE_DEFAULT_KHR
+
+
+-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_EXT"
+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_EXT = LINE_RASTERIZATION_MODE_RECTANGULAR_KHR
+
+
+-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT"
+pattern LINE_RASTERIZATION_MODE_BRESENHAM_EXT = LINE_RASTERIZATION_MODE_BRESENHAM_KHR
+
+
+-- No documentation found for TopLevel "VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT"
+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT = LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR
+
+
+-- | VkPhysicalDeviceLineRasterizationFeaturesKHR - Structure describing the
+-- line rasterization features that can be supported by an implementation
+--
+-- = Members
+--
+-- This structure describes the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceLineRasterizationFeaturesKHR' 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. 'PhysicalDeviceLineRasterizationFeaturesKHR' /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_line_rasterization VK_KHR_line_rasterization>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceLineRasterizationFeaturesKHR = PhysicalDeviceLineRasterizationFeaturesKHR
+  { -- | #features-rectangularLines# @rectangularLines@ indicates whether the
+    -- implementation supports
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines rectangular line rasterization>.
+    rectangularLines :: Bool
+  , -- | #features-bresenhamLines# @bresenhamLines@ indicates whether the
+    -- implementation supports
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham-style line rasterization>.
+    bresenhamLines :: Bool
+  , -- | #features-smoothLines# @smoothLines@ indicates whether the
+    -- implementation supports
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth smooth line rasterization>.
+    smoothLines :: Bool
+  , -- | #features-stippledRectangularLines# @stippledRectangularLines@ indicates
+    -- whether the implementation supports
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>
+    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR' lines.
+    stippledRectangularLines :: Bool
+  , -- | #features-stippledBresenhamLines# @stippledBresenhamLines@ indicates
+    -- whether the implementation supports
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>
+    -- with 'LINE_RASTERIZATION_MODE_BRESENHAM_KHR' lines.
+    stippledBresenhamLines :: Bool
+  , -- | #features-stippledSmoothLines# @stippledSmoothLines@ indicates whether
+    -- the implementation supports
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>
+    -- with 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR' lines.
+    stippledSmoothLines :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceLineRasterizationFeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceLineRasterizationFeaturesKHR
+
+instance ToCStruct PhysicalDeviceLineRasterizationFeaturesKHR where
+  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceLineRasterizationFeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (rectangularLines))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (bresenhamLines))
+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (smoothLines))
+    poke ((p `plusPtr` 28 :: Ptr Bool32)) (boolToBool32 (stippledRectangularLines))
+    poke ((p `plusPtr` 32 :: Ptr Bool32)) (boolToBool32 (stippledBresenhamLines))
+    poke ((p `plusPtr` 36 :: Ptr Bool32)) (boolToBool32 (stippledSmoothLines))
+    f
+  cStructSize = 40
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_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))
+    f
+
+instance FromCStruct PhysicalDeviceLineRasterizationFeaturesKHR where
+  peekCStruct p = do
+    rectangularLines <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    bresenhamLines <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    smoothLines <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))
+    stippledRectangularLines <- peek @Bool32 ((p `plusPtr` 28 :: Ptr Bool32))
+    stippledBresenhamLines <- peek @Bool32 ((p `plusPtr` 32 :: Ptr Bool32))
+    stippledSmoothLines <- peek @Bool32 ((p `plusPtr` 36 :: Ptr Bool32))
+    pure $ PhysicalDeviceLineRasterizationFeaturesKHR
+             (bool32ToBool rectangularLines)
+             (bool32ToBool bresenhamLines)
+             (bool32ToBool smoothLines)
+             (bool32ToBool stippledRectangularLines)
+             (bool32ToBool stippledBresenhamLines)
+             (bool32ToBool stippledSmoothLines)
+
+instance Storable PhysicalDeviceLineRasterizationFeaturesKHR where
+  sizeOf ~_ = 40
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceLineRasterizationFeaturesKHR where
+  zero = PhysicalDeviceLineRasterizationFeaturesKHR
+           zero
+           zero
+           zero
+           zero
+           zero
+           zero
+
+
+-- | VkPhysicalDeviceLineRasterizationPropertiesKHR - Structure describing
+-- line rasterization properties supported by an implementation
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceLineRasterizationPropertiesKHR' 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_EXT_line_rasterization VK_EXT_line_rasterization>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceLineRasterizationPropertiesKHR = PhysicalDeviceLineRasterizationPropertiesKHR
+  { -- | #limits-lineSubPixelPrecisionBits# @lineSubPixelPrecisionBits@ is the
+    -- number of bits of subpixel precision in framebuffer coordinates xf and
+    -- yf when rasterizing
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines line segments>.
+    lineSubPixelPrecisionBits :: Word32 }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceLineRasterizationPropertiesKHR)
+#endif
+deriving instance Show PhysicalDeviceLineRasterizationPropertiesKHR
+
+instance ToCStruct PhysicalDeviceLineRasterizationPropertiesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceLineRasterizationPropertiesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (lineSubPixelPrecisionBits)
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Word32)) (zero)
+    f
+
+instance FromCStruct PhysicalDeviceLineRasterizationPropertiesKHR where
+  peekCStruct p = do
+    lineSubPixelPrecisionBits <- peek @Word32 ((p `plusPtr` 16 :: Ptr Word32))
+    pure $ PhysicalDeviceLineRasterizationPropertiesKHR
+             lineSubPixelPrecisionBits
+
+instance Storable PhysicalDeviceLineRasterizationPropertiesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceLineRasterizationPropertiesKHR where
+  zero = PhysicalDeviceLineRasterizationPropertiesKHR
+           zero
+
+
+-- | VkPipelineRasterizationLineStateCreateInfoKHR - Structure specifying
+-- parameters of a newly created pipeline line rasterization state
+--
+-- = Description
+--
+-- If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.FALSE', the
+-- values of @lineStippleFactor@ and @lineStipplePattern@ are ignored.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02768#
+--     If @lineRasterizationMode@ is
+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', then the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-rectangularLines rectangularLines>
+--     feature /must/ be enabled
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02769#
+--     If @lineRasterizationMode@ is
+--     'LINE_RASTERIZATION_MODE_BRESENHAM_KHR', then the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-bresenhamLines bresenhamLines>
+--     feature /must/ be enabled
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-02770#
+--     If @lineRasterizationMode@ is
+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', then the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-smoothLines smoothLines>
+--     feature /must/ be enabled
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02771#
+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
+--     @lineRasterizationMode@ is
+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR', then the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
+--     feature /must/ be enabled
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02772#
+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
+--     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
+--     then the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
+--     feature /must/ be enabled
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02773#
+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
+--     @lineRasterizationMode@ is
+--     'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR', then the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
+--     feature /must/ be enabled
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-stippledLineEnable-02774#
+--     If @stippledLineEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE' and
+--     @lineRasterizationMode@ is 'LINE_RASTERIZATION_MODE_DEFAULT_KHR',
+--     then the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
+--     feature /must/ be enabled and
+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@
+--     /must/ be 'Vulkan.Core10.FundamentalTypes.TRUE'
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-sType-sType#
+--     @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR'
+--
+-- -   #VUID-VkPipelineRasterizationLineStateCreateInfoKHR-lineRasterizationMode-parameter#
+--     @lineRasterizationMode@ /must/ be a valid 'LineRasterizationModeKHR'
+--     value
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32', 'LineRasterizationModeKHR',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PipelineRasterizationLineStateCreateInfoKHR = PipelineRasterizationLineStateCreateInfoKHR
+  { -- | @lineRasterizationMode@ is a 'LineRasterizationModeKHR' value selecting
+    -- the style of line rasterization.
+    lineRasterizationMode :: LineRasterizationModeKHR
+  , -- | @stippledLineEnable@ enables
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-stipple stippled line rasterization>.
+    stippledLineEnable :: Bool
+  , -- | @lineStippleFactor@ is the repeat factor used in stippled line
+    -- rasterization.
+    lineStippleFactor :: Word32
+  , -- | @lineStipplePattern@ is the bit pattern used in stippled line
+    -- rasterization.
+    lineStipplePattern :: Word16
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PipelineRasterizationLineStateCreateInfoKHR)
+#endif
+deriving instance Show PipelineRasterizationLineStateCreateInfoKHR
+
+instance ToCStruct PipelineRasterizationLineStateCreateInfoKHR where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PipelineRasterizationLineStateCreateInfoKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeKHR)) (lineRasterizationMode)
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (stippledLineEnable))
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (lineStippleFactor)
+    poke ((p `plusPtr` 28 :: Ptr Word16)) (lineStipplePattern)
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr LineRasterizationModeKHR)) (zero)
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 24 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 28 :: Ptr Word16)) (zero)
+    f
+
+instance FromCStruct PipelineRasterizationLineStateCreateInfoKHR where
+  peekCStruct p = do
+    lineRasterizationMode <- peek @LineRasterizationModeKHR ((p `plusPtr` 16 :: Ptr LineRasterizationModeKHR))
+    stippledLineEnable <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    lineStippleFactor <- peek @Word32 ((p `plusPtr` 24 :: Ptr Word32))
+    lineStipplePattern <- peek @Word16 ((p `plusPtr` 28 :: Ptr Word16))
+    pure $ PipelineRasterizationLineStateCreateInfoKHR
+             lineRasterizationMode
+             (bool32ToBool stippledLineEnable)
+             lineStippleFactor
+             lineStipplePattern
+
+instance Storable PipelineRasterizationLineStateCreateInfoKHR where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PipelineRasterizationLineStateCreateInfoKHR where
+  zero = PipelineRasterizationLineStateCreateInfoKHR
+           zero
+           zero
+           zero
+           zero
+
+
+-- | VkLineRasterizationModeKHR - Line rasterization modes
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_line_rasterization VK_EXT_line_rasterization>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_line_rasterization VK_KHR_line_rasterization>,
+-- 'PipelineRasterizationLineStateCreateInfoKHR',
+-- 'Vulkan.Extensions.VK_EXT_extended_dynamic_state3.cmdSetLineRasterizationModeEXT'
+newtype LineRasterizationModeKHR = LineRasterizationModeKHR Int32
+  deriving newtype (Eq, Ord, Storable, Zero)
+
+-- | 'LINE_RASTERIZATION_MODE_DEFAULT_KHR' is equivalent to
+-- 'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR' if
+-- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@strictLines@
+-- is 'Vulkan.Core10.FundamentalTypes.TRUE', otherwise lines are drawn as
+-- non-@strictLines@ parallelograms. Both of these modes are defined in
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-basic Basic Line Segment Rasterization>.
+pattern LINE_RASTERIZATION_MODE_DEFAULT_KHR = LineRasterizationModeKHR 0
+
+-- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_KHR' specifies lines drawn as if
+-- they were rectangles extruded from the line
+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_KHR = LineRasterizationModeKHR 1
+
+-- | 'LINE_RASTERIZATION_MODE_BRESENHAM_KHR' specifies lines drawn by
+-- determining which pixel diamonds the line intersects and exits, as
+-- defined in
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-bresenham Bresenham Line Segment Rasterization>.
+pattern LINE_RASTERIZATION_MODE_BRESENHAM_KHR = LineRasterizationModeKHR 2
+
+-- | 'LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR' specifies lines drawn
+-- if they were rectangles extruded from the line, with alpha falloff, as
+-- defined in
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-lines-smooth Smooth Lines>.
+pattern LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR = LineRasterizationModeKHR 3
+
+{-# COMPLETE
+  LINE_RASTERIZATION_MODE_DEFAULT_KHR
+  , LINE_RASTERIZATION_MODE_RECTANGULAR_KHR
+  , LINE_RASTERIZATION_MODE_BRESENHAM_KHR
+  , LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR ::
+    LineRasterizationModeKHR
+  #-}
+
+conNameLineRasterizationModeKHR :: String
+conNameLineRasterizationModeKHR = "LineRasterizationModeKHR"
+
+enumPrefixLineRasterizationModeKHR :: String
+enumPrefixLineRasterizationModeKHR = "LINE_RASTERIZATION_MODE_"
+
+showTableLineRasterizationModeKHR :: [(LineRasterizationModeKHR, String)]
+showTableLineRasterizationModeKHR =
+  [
+    ( LINE_RASTERIZATION_MODE_DEFAULT_KHR
+    , "DEFAULT_KHR"
+    )
+  ,
+    ( LINE_RASTERIZATION_MODE_RECTANGULAR_KHR
+    , "RECTANGULAR_KHR"
+    )
+  ,
+    ( LINE_RASTERIZATION_MODE_BRESENHAM_KHR
+    , "BRESENHAM_KHR"
+    )
+  ,
+    ( LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR
+    , "RECTANGULAR_SMOOTH_KHR"
+    )
+  ]
+
+instance Show LineRasterizationModeKHR where
+  showsPrec =
+    enumShowsPrec
+      enumPrefixLineRasterizationModeKHR
+      showTableLineRasterizationModeKHR
+      conNameLineRasterizationModeKHR
+      (\(LineRasterizationModeKHR x) -> x)
+      (showsPrec 11)
+
+instance Read LineRasterizationModeKHR where
+  readPrec =
+    enumReadPrec
+      enumPrefixLineRasterizationModeKHR
+      showTableLineRasterizationModeKHR
+      conNameLineRasterizationModeKHR
+      LineRasterizationModeKHR
+
+type KHR_LINE_RASTERIZATION_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_LINE_RASTERIZATION_SPEC_VERSION"
+pattern KHR_LINE_RASTERIZATION_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_LINE_RASTERIZATION_SPEC_VERSION = 1
+
+
+type KHR_LINE_RASTERIZATION_EXTENSION_NAME = "VK_KHR_line_rasterization"
+
+-- No documentation found for TopLevel "VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME"
+pattern KHR_LINE_RASTERIZATION_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_LINE_RASTERIZATION_EXTENSION_NAME = "VK_KHR_line_rasterization"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_line_rasterization.hs-boot b/src/Vulkan/Extensions/VK_KHR_line_rasterization.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_line_rasterization.hs-boot
@@ -0,0 +1,167 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_line_rasterization - device extension
+--
+-- == VK_KHR_line_rasterization
+--
+-- [__Name String__]
+--     @VK_KHR_line_rasterization@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     535
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
+--     or
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_line_rasterization] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_KHR_line_rasterization extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-06-08
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Jeff Bolz, NVIDIA
+--
+--     -   Allen Jensen, NVIDIA
+--
+--     -   Faith Ekstrand, Intel
+--
+-- == Description
+--
+-- This extension adds some line rasterization features that are commonly
+-- used in CAD applications and supported in other APIs like OpenGL.
+-- Bresenham-style line rasterization is supported, smooth rectangular
+-- lines (coverage to alpha) are supported, and stippled lines are
+-- supported for all three line rasterization modes.
+--
+-- == New Commands
+--
+-- -   'cmdSetLineStippleKHR'
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceLineRasterizationFeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceLineRasterizationPropertiesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core10.Pipeline.PipelineRasterizationStateCreateInfo':
+--
+--     -   'PipelineRasterizationLineStateCreateInfoKHR'
+--
+-- == New Enums
+--
+-- -   'LineRasterizationModeKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_LINE_RASTERIZATION_EXTENSION_NAME'
+--
+-- -   'KHR_LINE_RASTERIZATION_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.DynamicState.DynamicState':
+--
+--     -   'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_LINE_RASTERIZATION_PROPERTIES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PIPELINE_RASTERIZATION_LINE_STATE_CREATE_INFO_KHR'
+--
+-- == Issues
+--
+-- 1) Do we need to support Bresenham-style and smooth lines with more than
+-- one rasterization sample? i.e. the equivalent of
+-- glDisable(GL_MULTISAMPLE) in OpenGL when the framebuffer has more than
+-- one sample?
+--
+-- __RESOLVED__: Yes. For simplicity, Bresenham line rasterization carries
+-- forward a few restrictions from OpenGL, such as not supporting
+-- per-sample shading, alpha to coverage, or alpha to one.
+--
+-- == Version History
+--
+-- -   Revision 1, 2019-05-09 (Jeff Bolz)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'LineRasterizationModeKHR',
+-- 'PhysicalDeviceLineRasterizationFeaturesKHR',
+-- 'PhysicalDeviceLineRasterizationPropertiesKHR',
+-- 'PipelineRasterizationLineStateCreateInfoKHR', 'cmdSetLineStippleKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_line_rasterization 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_line_rasterization  ( PhysicalDeviceLineRasterizationFeaturesKHR
+                                                    , PhysicalDeviceLineRasterizationPropertiesKHR
+                                                    , PipelineRasterizationLineStateCreateInfoKHR
+                                                    , LineRasterizationModeKHR
+                                                    ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceLineRasterizationFeaturesKHR
+
+instance ToCStruct PhysicalDeviceLineRasterizationFeaturesKHR
+instance Show PhysicalDeviceLineRasterizationFeaturesKHR
+
+instance FromCStruct PhysicalDeviceLineRasterizationFeaturesKHR
+
+
+data PhysicalDeviceLineRasterizationPropertiesKHR
+
+instance ToCStruct PhysicalDeviceLineRasterizationPropertiesKHR
+instance Show PhysicalDeviceLineRasterizationPropertiesKHR
+
+instance FromCStruct PhysicalDeviceLineRasterizationPropertiesKHR
+
+
+data PipelineRasterizationLineStateCreateInfoKHR
+
+instance ToCStruct PipelineRasterizationLineStateCreateInfoKHR
+instance Show PipelineRasterizationLineStateCreateInfoKHR
+
+instance FromCStruct PipelineRasterizationLineStateCreateInfoKHR
+
+
+data LineRasterizationModeKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_load_store_op_none.hs b/src/Vulkan/Extensions/VK_KHR_load_store_op_none.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_load_store_op_none.hs
@@ -0,0 +1,107 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_load_store_op_none - device extension
+--
+-- == VK_KHR_load_store_op_none
+--
+-- [__Name String__]
+--     @VK_KHR_load_store_op_none@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     527
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     None
+--
+-- [__Contact__]
+--
+--     -   Shahbaz Youssefi
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_load_store_op_none] @syoussefi%0A*Here describe the issue or question you have about the VK_KHR_load_store_op_none extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_load_store_op_none.adoc VK_KHR_load_store_op_none>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-05-16
+--
+-- [__Contributors__]
+--
+--     -   Shahbaz Youssefi, Google
+--
+--     -   Bill Licea-Kane, Qualcomm Technologies, Inc.
+--
+--     -   Tobias Hector, AMD
+--
+-- == Description
+--
+-- This extension provides
+-- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_KHR' and
+-- 'Vulkan.Extensions.VK_KHR_dynamic_rendering.ATTACHMENT_STORE_OP_NONE_KHR',
+-- which are identically promoted from the @VK_EXT_load_store_op_none@
+-- extension.
+--
+-- == New Enum Constants
+--
+-- -   'KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME'
+--
+-- -   'KHR_LOAD_STORE_OP_NONE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.AttachmentLoadOp.AttachmentLoadOp':
+--
+--     -   'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_NONE_KHR'
+--
+-- -   Extending 'Vulkan.Core10.Enums.AttachmentStoreOp.AttachmentStoreOp':
+--
+--     -   'Vulkan.Extensions.VK_KHR_dynamic_rendering.ATTACHMENT_STORE_OP_NONE_KHR'
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-05-16 (Shahbaz Youssefi)
+--
+--     -   Initial revision, based on VK_EXT_load_store_op_none.
+--
+-- == See Also
+--
+-- No cross-references are available
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_load_store_op_none Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_KHR_load_store_op_none  ( KHR_LOAD_STORE_OP_NONE_SPEC_VERSION
+                                                    , pattern KHR_LOAD_STORE_OP_NONE_SPEC_VERSION
+                                                    , KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME
+                                                    , pattern KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME
+                                                    , pattern ATTACHMENT_STORE_OP_NONE_KHR
+                                                    ) where
+
+import Data.String (IsString)
+import Vulkan.Extensions.VK_KHR_dynamic_rendering (pattern ATTACHMENT_STORE_OP_NONE_KHR)
+type KHR_LOAD_STORE_OP_NONE_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION"
+pattern KHR_LOAD_STORE_OP_NONE_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_LOAD_STORE_OP_NONE_SPEC_VERSION = 1
+
+
+type KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_KHR_load_store_op_none"
+
+-- No documentation found for TopLevel "VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME"
+pattern KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME = "VK_KHR_load_store_op_none"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance5.hs b/src/Vulkan/Extensions/VK_KHR_maintenance5.hs
--- a/src/Vulkan/Extensions/VK_KHR_maintenance5.hs
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance5.hs
@@ -813,6 +813,14 @@
 -- @offset@. If @size@ is 'Vulkan.Core10.APIConstants.WHOLE_SIZE' then the
 -- bound size is from @offset@ to the end of the @buffer@.
 --
+-- If the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+-- feature is enabled, @buffer@ /can/ be
+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE'. If @buffer@ is
+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>
+-- feature is enabled, every index fetched results in a value of zero.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdBindIndexBuffer2KHR-offset-08782# @offset@ /must/ be less
@@ -837,10 +845,18 @@
 --     not be 'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_NONE_KHR'
 --
 -- -   #VUID-vkCmdBindIndexBuffer2KHR-indexType-08787# If @indexType@ is
---     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_EXT', the
+--     'Vulkan.Core10.Enums.IndexType.INDEX_TYPE_UINT8_KHR', the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-indexTypeUint8 indexTypeUint8>
 --     feature /must/ be enabled
 --
+-- -   #VUID-vkCmdBindIndexBuffer2KHR-None-09493# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-maintenance6 maintenance6>
+--     is not enabled, @buffer@ /must/ not be
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--
+-- -   #VUID-vkCmdBindIndexBuffer2KHR-buffer-09494# If @buffer@ is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', offset /must/ be zero
+--
 -- -   #VUID-vkCmdBindIndexBuffer2KHR-size-08767# If @size@ is not
 --     'Vulkan.Core10.APIConstants.WHOLE_SIZE', @size@ /must/ be a multiple
 --     of the size of the type indicated by @indexType@
@@ -855,8 +871,9 @@
 --     @commandBuffer@ /must/ be a valid
 --     'Vulkan.Core10.Handles.CommandBuffer' handle
 --
--- -   #VUID-vkCmdBindIndexBuffer2KHR-buffer-parameter# @buffer@ /must/ be
---     a valid 'Vulkan.Core10.Handles.Buffer' handle
+-- -   #VUID-vkCmdBindIndexBuffer2KHR-buffer-parameter# If @buffer@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @buffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.Buffer' handle
 --
 -- -   #VUID-vkCmdBindIndexBuffer2KHR-indexType-parameter# @indexType@
 --     /must/ be a valid 'Vulkan.Core10.Enums.IndexType.IndexType' value
@@ -873,8 +890,9 @@
 --     be called outside of a video coding scope
 --
 -- -   #VUID-vkCmdBindIndexBuffer2KHR-commonparent# Both of @buffer@, and
---     @commandBuffer@ /must/ have been created, allocated, or retrieved
---     from the same 'Vulkan.Core10.Handles.Device'
+--     @commandBuffer@ that are valid handles of non-ignored parameters
+--     /must/ have been created, allocated, or retrieved from the same
+--     'Vulkan.Core10.Handles.Device'
 --
 -- == Host Synchronization
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance6.hs b/src/Vulkan/Extensions/VK_KHR_maintenance6.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance6.hs
@@ -0,0 +1,2230 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_maintenance6 - device extension
+--
+-- == VK_KHR_maintenance6
+--
+-- [__Name String__]
+--     @VK_KHR_maintenance6@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     546
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__API Interactions__]
+--
+--     -   Interacts with VK_EXT_descriptor_buffer
+--
+--     -   Interacts with VK_KHR_push_descriptor
+--
+-- [__Contact__]
+--
+--     -   Jon Leech
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance6] @oddhack%0A*Here describe the issue or question you have about the VK_KHR_maintenance6 extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_maintenance6.adoc VK_KHR_maintenance6>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-08-03
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   Interacts with @VK_EXT_robustness2@
+--
+-- [__Contributors__]
+--
+--     -   Jon Leech, Khronos
+--
+--     -   Stu Smith, AMD
+--
+--     -   Mike Blumenkrantz, Valve
+--
+--     -   Ralph Potter, Samsung
+--
+--     -   James Fitzpatrick, Imagination Technologies
+--
+--     -   Piers Daniell, NVIDIA
+--
+--     -   Daniel Story, Nintendo
+--
+-- == Description
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>
+-- adds a collection of minor features, none of which would warrant an
+-- entire extension of their own.
+--
+-- The new features are as follows:
+--
+-- -   'BindMemoryStatusKHR' may be included in the @pNext@ chain of
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'
+--     and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',
+--     allowing applications to identify individual resources for which
+--     memory binding failed during calls to
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindBufferMemory2'
+--     and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindImageMemory2'.
+--
+-- -   A new property @fragmentShadingRateClampCombinerInputs@ to indicate
+--     if an implementation clamps the inputs to fragment shading rate
+--     combiner operations.
+--
+-- -   'Vulkan.Core10.APIConstants.NULL_HANDLE' is allowed to be used when
+--     binding an index buffer, instead of a valid
+--     'Vulkan.Core10.Handles.Buffer' handle. When the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>
+--     feature is enabled, every index fetched results in a value of zero.
+--
+-- -   A new property @maxCombinedImageSamplerDescriptorCount@ to indicate
+--     the maximum number of descriptors needed for any of the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>
+--     supported by the implementation.
+--
+-- -   A new property @blockTexelViewCompatibleMultipleLayers@ indicating
+--     whether
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'
+--     is allowed to be used with @layerCount@ > 1
+--
+-- -   @pNext@ extensible *2 versions of all descriptor binding commands.
+--
+-- == New Commands
+--
+-- -   'cmdBindDescriptorSets2KHR'
+--
+-- -   'cmdPushConstants2KHR'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>
+-- is supported:
+--
+-- -   'cmdBindDescriptorBufferEmbeddedSamplers2EXT'
+--
+-- -   'cmdSetDescriptorBufferOffsets2EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>
+-- is supported:
+--
+-- -   'cmdPushDescriptorSet2KHR'
+--
+-- -   'cmdPushDescriptorSetWithTemplate2KHR'
+--
+-- == New Structures
+--
+-- -   'BindDescriptorSetsInfoKHR'
+--
+-- -   'PushConstantsInfoKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo':
+--
+--     -   'BindMemoryStatusKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceMaintenance6FeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceMaintenance6PropertiesKHR'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>
+-- is supported:
+--
+-- -   'BindDescriptorBufferEmbeddedSamplersInfoEXT'
+--
+-- -   'SetDescriptorBufferOffsetsInfoEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>
+-- is supported:
+--
+-- -   'PushDescriptorSetInfoKHR'
+--
+-- -   'PushDescriptorSetWithTemplateInfoKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_MAINTENANCE_6_EXTENSION_NAME'
+--
+-- -   'KHR_MAINTENANCE_6_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR'
+--
+-- == Issues
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-08-01 (Jon Leech)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'BindDescriptorSetsInfoKHR', 'BindMemoryStatusKHR',
+-- 'PhysicalDeviceMaintenance6FeaturesKHR',
+-- 'PhysicalDeviceMaintenance6PropertiesKHR', 'PushConstantsInfoKHR',
+-- 'cmdBindDescriptorSets2KHR', 'cmdPushConstants2KHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_maintenance6 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_maintenance6  ( cmdBindDescriptorSets2KHR
+                                              , cmdPushConstants2KHR
+                                              , cmdPushDescriptorSet2KHR
+                                              , cmdPushDescriptorSetWithTemplate2KHR
+                                              , cmdSetDescriptorBufferOffsets2EXT
+                                              , cmdBindDescriptorBufferEmbeddedSamplers2EXT
+                                              , PhysicalDeviceMaintenance6FeaturesKHR(..)
+                                              , PhysicalDeviceMaintenance6PropertiesKHR(..)
+                                              , BindMemoryStatusKHR(..)
+                                              , BindDescriptorSetsInfoKHR(..)
+                                              , PushConstantsInfoKHR(..)
+                                              , PushDescriptorSetInfoKHR(..)
+                                              , PushDescriptorSetWithTemplateInfoKHR(..)
+                                              , SetDescriptorBufferOffsetsInfoEXT(..)
+                                              , BindDescriptorBufferEmbeddedSamplersInfoEXT(..)
+                                              , KHR_MAINTENANCE_6_SPEC_VERSION
+                                              , pattern KHR_MAINTENANCE_6_SPEC_VERSION
+                                              , KHR_MAINTENANCE_6_EXTENSION_NAME
+                                              , pattern KHR_MAINTENANCE_6_EXTENSION_NAME
+                                              ) where
+
+import Vulkan.Internal.Utils (traceAroundEvent)
+import Control.Monad (unless)
+import Control.Monad.IO.Class (liftIO)
+import Data.Typeable (eqT)
+import Foreign.Marshal.Alloc (allocaBytes)
+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 qualified Data.Vector (imapM_)
+import qualified Data.Vector (length)
+import qualified Data.Vector (null)
+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.Type.Equality ((:~:)(Refl))
+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 (pokeSomeCStruct)
+import Vulkan.Core10.FundamentalTypes (Bool32)
+import Vulkan.CStruct.Extends (Chain)
+import Vulkan.Core10.Handles (CommandBuffer)
+import Vulkan.Core10.Handles (CommandBuffer(..))
+import Vulkan.Core10.Handles (CommandBuffer(CommandBuffer))
+import Vulkan.Core10.Handles (CommandBuffer_T)
+import Vulkan.Core10.Handles (DescriptorSet)
+import Vulkan.Core11.Handles (DescriptorUpdateTemplate)
+import Vulkan.Dynamic (DeviceCmds(pVkCmdBindDescriptorBufferEmbeddedSamplers2EXT))
+import Vulkan.Dynamic (DeviceCmds(pVkCmdBindDescriptorSets2KHR))
+import Vulkan.Dynamic (DeviceCmds(pVkCmdPushConstants2KHR))
+import Vulkan.Dynamic (DeviceCmds(pVkCmdPushDescriptorSet2KHR))
+import Vulkan.Dynamic (DeviceCmds(pVkCmdPushDescriptorSetWithTemplate2KHR))
+import Vulkan.Dynamic (DeviceCmds(pVkCmdSetDescriptorBufferOffsets2EXT))
+import Vulkan.Core10.FundamentalTypes (DeviceSize)
+import Vulkan.CStruct.Extends (Extends)
+import Vulkan.CStruct.Extends (Extendss)
+import Vulkan.CStruct.Extends (Extensible(..))
+import Vulkan.CStruct.Extends (PeekChain)
+import Vulkan.CStruct.Extends (PeekChain(..))
+import Vulkan.Core10.Handles (PipelineLayout)
+import {-# SOURCE #-} Vulkan.Core10.PipelineLayout (PipelineLayoutCreateInfo)
+import Vulkan.CStruct.Extends (PokeChain)
+import Vulkan.CStruct.Extends (PokeChain(..))
+import Vulkan.Core10.Enums.Result (Result)
+import Vulkan.Core10.Enums.ShaderStageFlagBits (ShaderStageFlags)
+import Vulkan.CStruct.Extends (SomeStruct)
+import Vulkan.Core10.Enums.StructureType (StructureType)
+import Vulkan.Core10.DescriptorSet (WriteDescriptorSet)
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR))
+import Vulkan.Core10.Enums.StructureType (StructureType(STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT))
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdBindDescriptorSets2KHR
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorSetsInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorSetsInfoKHR) -> IO ()
+
+-- | vkCmdBindDescriptorSets2KHR - Binds descriptor sets to a command buffer
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdBindDescriptorSets2KHR-pBindDescriptorSetsInfo-09467#
+--     Each bit in @pBindDescriptorSetsInfo->stageFlags@ /must/ be a stage
+--     supported by the @commandBuffer@’s parent
+--     'Vulkan.Core10.Handles.CommandPool'’s queue family
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdBindDescriptorSets2KHR-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdBindDescriptorSets2KHR-pBindDescriptorSetsInfo-parameter#
+--     @pBindDescriptorSetsInfo@ /must/ be a valid pointer to a valid
+--     'BindDescriptorSetsInfoKHR' structure
+--
+-- -   #VUID-vkCmdBindDescriptorSets2KHR-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-vkCmdBindDescriptorSets2KHR-commandBuffer-cmdpool# The
+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics, or compute operations
+--
+-- -   #VUID-vkCmdBindDescriptorSets2KHR-videocoding# This command /must/
+--     only be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'BindDescriptorSetsInfoKHR', 'Vulkan.Core10.Handles.CommandBuffer'
+cmdBindDescriptorSets2KHR :: forall a io
+                           . ( Extendss BindDescriptorSetsInfoKHR a
+                             , PokeChain a
+                             , MonadIO io )
+                          => -- | @commandBuffer@ is the command buffer that the descriptor sets will be
+                             -- bound to.
+                             CommandBuffer
+                          -> -- | @pBindDescriptorSetsInfo@ is a pointer to a 'BindDescriptorSetsInfoKHR'
+                             -- structure.
+                             (BindDescriptorSetsInfoKHR a)
+                          -> io ()
+cmdBindDescriptorSets2KHR commandBuffer
+                            bindDescriptorSetsInfo = liftIO . evalContT $ do
+  let vkCmdBindDescriptorSets2KHRPtr = pVkCmdBindDescriptorSets2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdBindDescriptorSets2KHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindDescriptorSets2KHR is null" Nothing Nothing
+  let vkCmdBindDescriptorSets2KHR' = mkVkCmdBindDescriptorSets2KHR vkCmdBindDescriptorSets2KHRPtr
+  pBindDescriptorSetsInfo <- ContT $ withCStruct (bindDescriptorSetsInfo)
+  lift $ traceAroundEvent "vkCmdBindDescriptorSets2KHR" (vkCmdBindDescriptorSets2KHR'
+                                                           (commandBufferHandle (commandBuffer))
+                                                           (forgetExtensions pBindDescriptorSetsInfo))
+  pure $ ()
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdPushConstants2KHR
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct PushConstantsInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct PushConstantsInfoKHR) -> IO ()
+
+-- | vkCmdPushConstants2KHR - Update the values of push constants
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdPushConstants2KHR-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdPushConstants2KHR-pPushConstantsInfo-parameter#
+--     @pPushConstantsInfo@ /must/ be a valid pointer to a valid
+--     'PushConstantsInfoKHR' structure
+--
+-- -   #VUID-vkCmdPushConstants2KHR-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-vkCmdPushConstants2KHR-commandBuffer-cmdpool# The
+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics, or compute operations
+--
+-- -   #VUID-vkCmdPushConstants2KHR-videocoding# This command /must/ only
+--     be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.Handles.CommandBuffer', 'PushConstantsInfoKHR'
+cmdPushConstants2KHR :: forall a io
+                      . ( Extendss PushConstantsInfoKHR a
+                        , PokeChain a
+                        , MonadIO io )
+                     => -- | @commandBuffer@ is the command buffer in which the push constant update
+                        -- will be recorded.
+                        CommandBuffer
+                     -> -- | @pPushConstantsInfo@ is a pointer to a 'PushConstantsInfoKHR' structure.
+                        (PushConstantsInfoKHR a)
+                     -> io ()
+cmdPushConstants2KHR commandBuffer pushConstantsInfo = liftIO . evalContT $ do
+  let vkCmdPushConstants2KHRPtr = pVkCmdPushConstants2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdPushConstants2KHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushConstants2KHR is null" Nothing Nothing
+  let vkCmdPushConstants2KHR' = mkVkCmdPushConstants2KHR vkCmdPushConstants2KHRPtr
+  pPushConstantsInfo <- ContT $ withCStruct (pushConstantsInfo)
+  lift $ traceAroundEvent "vkCmdPushConstants2KHR" (vkCmdPushConstants2KHR'
+                                                      (commandBufferHandle (commandBuffer))
+                                                      (forgetExtensions pPushConstantsInfo))
+  pure $ ()
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdPushDescriptorSet2KHR
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetInfoKHR) -> IO ()
+
+-- | vkCmdPushDescriptorSet2KHR - Pushes descriptor updates into a command
+-- buffer
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdPushDescriptorSet2KHR-pPushDescriptorSetInfo-09468# Each
+--     bit in @pPushDescriptorSetInfo->stageFlags@ /must/ be a stage
+--     supported by the @commandBuffer@’s parent
+--     'Vulkan.Core10.Handles.CommandPool'’s queue family
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdPushDescriptorSet2KHR-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdPushDescriptorSet2KHR-pPushDescriptorSetInfo-parameter#
+--     @pPushDescriptorSetInfo@ /must/ be a valid pointer to a valid
+--     'PushDescriptorSetInfoKHR' structure
+--
+-- -   #VUID-vkCmdPushDescriptorSet2KHR-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-vkCmdPushDescriptorSet2KHR-commandBuffer-cmdpool# The
+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics, or compute operations
+--
+-- -   #VUID-vkCmdPushDescriptorSet2KHR-videocoding# This command /must/
+--     only be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- <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', 'PushDescriptorSetInfoKHR'
+cmdPushDescriptorSet2KHR :: forall a io
+                          . ( Extendss PushDescriptorSetInfoKHR a
+                            , PokeChain a
+                            , MonadIO io )
+                         => -- | @commandBuffer@ is the command buffer that the descriptors will be
+                            -- recorded in.
+                            CommandBuffer
+                         -> -- | @pPushDescriptorSetInfo@ is a pointer to a 'PushDescriptorSetInfoKHR'
+                            -- structure.
+                            (PushDescriptorSetInfoKHR a)
+                         -> io ()
+cmdPushDescriptorSet2KHR commandBuffer
+                           pushDescriptorSetInfo = liftIO . evalContT $ do
+  let vkCmdPushDescriptorSet2KHRPtr = pVkCmdPushDescriptorSet2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdPushDescriptorSet2KHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushDescriptorSet2KHR is null" Nothing Nothing
+  let vkCmdPushDescriptorSet2KHR' = mkVkCmdPushDescriptorSet2KHR vkCmdPushDescriptorSet2KHRPtr
+  pPushDescriptorSetInfo <- ContT $ withCStruct (pushDescriptorSetInfo)
+  lift $ traceAroundEvent "vkCmdPushDescriptorSet2KHR" (vkCmdPushDescriptorSet2KHR'
+                                                          (commandBufferHandle (commandBuffer))
+                                                          (forgetExtensions pPushDescriptorSetInfo))
+  pure $ ()
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdPushDescriptorSetWithTemplate2KHR
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct PushDescriptorSetWithTemplateInfoKHR) -> IO ()
+
+-- | vkCmdPushDescriptorSetWithTemplate2KHR - Pushes descriptor updates into
+-- a command buffer using a descriptor update template
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-pPushDescriptorSetWithTemplateInfo-parameter#
+--     @pPushDescriptorSetWithTemplateInfo@ /must/ be a valid pointer to a
+--     valid 'PushDescriptorSetWithTemplateInfoKHR' structure
+--
+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-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-vkCmdPushDescriptorSetWithTemplate2KHR-commandBuffer-cmdpool#
+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics, or compute operations
+--
+-- -   #VUID-vkCmdPushDescriptorSetWithTemplate2KHR-videocoding# This
+--     command /must/ only be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- <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',
+-- 'PushDescriptorSetWithTemplateInfoKHR'
+cmdPushDescriptorSetWithTemplate2KHR :: forall a io
+                                      . ( Extendss PushDescriptorSetWithTemplateInfoKHR a
+                                        , PokeChain a
+                                        , MonadIO io )
+                                     => -- | @commandBuffer@ is the command buffer that the descriptors will be
+                                        -- recorded in.
+                                        CommandBuffer
+                                     -> -- | @pPushDescriptorSetWithTemplateInfo@ is a pointer to a
+                                        -- 'PushDescriptorSetWithTemplateInfoKHR' structure.
+                                        (PushDescriptorSetWithTemplateInfoKHR a)
+                                     -> io ()
+cmdPushDescriptorSetWithTemplate2KHR commandBuffer
+                                       pushDescriptorSetWithTemplateInfo = liftIO . evalContT $ do
+  let vkCmdPushDescriptorSetWithTemplate2KHRPtr = pVkCmdPushDescriptorSetWithTemplate2KHR (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdPushDescriptorSetWithTemplate2KHRPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdPushDescriptorSetWithTemplate2KHR is null" Nothing Nothing
+  let vkCmdPushDescriptorSetWithTemplate2KHR' = mkVkCmdPushDescriptorSetWithTemplate2KHR vkCmdPushDescriptorSetWithTemplate2KHRPtr
+  pPushDescriptorSetWithTemplateInfo <- ContT $ withCStruct (pushDescriptorSetWithTemplateInfo)
+  lift $ traceAroundEvent "vkCmdPushDescriptorSetWithTemplate2KHR" (vkCmdPushDescriptorSetWithTemplate2KHR'
+                                                                      (commandBufferHandle (commandBuffer))
+                                                                      (forgetExtensions pPushDescriptorSetWithTemplateInfo))
+  pure $ ()
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdSetDescriptorBufferOffsets2EXT
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct SetDescriptorBufferOffsetsInfoEXT) -> IO ()
+
+-- | vkCmdSetDescriptorBufferOffsets2EXT - Setting descriptor buffer offsets
+-- in a command buffer
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-descriptorBuffer-09470#
+--     The
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>
+--     feature /must/ be enabled
+--
+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-pSetDescriptorBufferOffsetsInfo-09471#
+--     Each bit in @pSetDescriptorBufferOffsetsInfo->stageFlags@ /must/ be
+--     a stage supported by the @commandBuffer@’s parent
+--     'Vulkan.Core10.Handles.CommandPool'’s queue family
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-pSetDescriptorBufferOffsetsInfo-parameter#
+--     @pSetDescriptorBufferOffsetsInfo@ /must/ be a valid pointer to a
+--     valid 'SetDescriptorBufferOffsetsInfoEXT' structure
+--
+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-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-vkCmdSetDescriptorBufferOffsets2EXT-commandBuffer-cmdpool# The
+--     'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics, or compute operations
+--
+-- -   #VUID-vkCmdSetDescriptorBufferOffsets2EXT-videocoding# This command
+--     /must/ only be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.Handles.CommandBuffer',
+-- 'SetDescriptorBufferOffsetsInfoEXT'
+cmdSetDescriptorBufferOffsets2EXT :: forall a io
+                                   . ( Extendss SetDescriptorBufferOffsetsInfoEXT a
+                                     , PokeChain a
+                                     , MonadIO io )
+                                  => -- | @commandBuffer@ is the command buffer in which the descriptor buffer
+                                     -- offsets will be set.
+                                     CommandBuffer
+                                  -> -- | @pSetDescriptorBufferOffsetsInfo@ is a pointer to a
+                                     -- 'SetDescriptorBufferOffsetsInfoEXT' structure.
+                                     (SetDescriptorBufferOffsetsInfoEXT a)
+                                  -> io ()
+cmdSetDescriptorBufferOffsets2EXT commandBuffer
+                                    setDescriptorBufferOffsetsInfo = liftIO . evalContT $ do
+  let vkCmdSetDescriptorBufferOffsets2EXTPtr = pVkCmdSetDescriptorBufferOffsets2EXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdSetDescriptorBufferOffsets2EXTPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdSetDescriptorBufferOffsets2EXT is null" Nothing Nothing
+  let vkCmdSetDescriptorBufferOffsets2EXT' = mkVkCmdSetDescriptorBufferOffsets2EXT vkCmdSetDescriptorBufferOffsets2EXTPtr
+  pSetDescriptorBufferOffsetsInfo <- ContT $ withCStruct (setDescriptorBufferOffsetsInfo)
+  lift $ traceAroundEvent "vkCmdSetDescriptorBufferOffsets2EXT" (vkCmdSetDescriptorBufferOffsets2EXT'
+                                                                   (commandBufferHandle (commandBuffer))
+                                                                   (forgetExtensions pSetDescriptorBufferOffsetsInfo))
+  pure $ ()
+
+
+foreign import ccall
+#if !defined(SAFE_FOREIGN_CALLS)
+  unsafe
+#endif
+  "dynamic" mkVkCmdBindDescriptorBufferEmbeddedSamplers2EXT
+  :: FunPtr (Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT) -> IO ()) -> Ptr CommandBuffer_T -> Ptr (SomeStruct BindDescriptorBufferEmbeddedSamplersInfoEXT) -> IO ()
+
+-- | vkCmdBindDescriptorBufferEmbeddedSamplers2EXT - Setting embedded
+-- immutable samplers offsets in a command buffer
+--
+-- == Valid Usage
+--
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-descriptorBuffer-09472#
+--     The
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-descriptorBuffer descriptorBuffer>
+--     feature /must/ be enabled
+--
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-pBindDescriptorBufferEmbeddedSamplersInfo-09473#
+--     Each bit in @pBindDescriptorBufferEmbeddedSamplersInfo->stageFlags@
+--     /must/ be a stage supported by the @commandBuffer@’s parent
+--     'Vulkan.Core10.Handles.CommandPool'’s queue family
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-parameter#
+--     @commandBuffer@ /must/ be a valid
+--     'Vulkan.Core10.Handles.CommandBuffer' handle
+--
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-pBindDescriptorBufferEmbeddedSamplersInfo-parameter#
+--     @pBindDescriptorBufferEmbeddedSamplersInfo@ /must/ be a valid
+--     pointer to a valid 'BindDescriptorBufferEmbeddedSamplersInfoEXT'
+--     structure
+--
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-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-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-commandBuffer-cmdpool#
+--     The 'Vulkan.Core10.Handles.CommandPool' that @commandBuffer@ was
+--     allocated from /must/ support graphics, or compute operations
+--
+-- -   #VUID-vkCmdBindDescriptorBufferEmbeddedSamplers2EXT-videocoding#
+--     This command /must/ only be called outside of a video coding scope
+--
+-- == 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#vkCmdBeginVideoCodingKHR Video Coding Scope> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VkQueueFlagBits Supported Queue Types> | <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-queueoperation-command-types Command Type> |
+-- +============================================================================================================================+========================================================================================================================+=============================================================================================================================+=======================================================================================================================+========================================================================================================================================+
+-- | Primary                                                                                                                    | Both                                                                                                                   | Outside                                                                                                                     | Graphics                                                                                                              | State                                                                                                                                  |
+-- | Secondary                                                                                                                  |                                                                                                                        |                                                                                                                             | Compute                                                                                                               |                                                                                                                                        |
+-- +----------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'BindDescriptorBufferEmbeddedSamplersInfoEXT',
+-- 'Vulkan.Core10.Handles.CommandBuffer'
+cmdBindDescriptorBufferEmbeddedSamplers2EXT :: forall a io
+                                             . ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT a
+                                               , PokeChain a
+                                               , MonadIO io )
+                                            => -- | @commandBuffer@ is the command buffer that the embedded immutable
+                                               -- samplers will be bound to.
+                                               CommandBuffer
+                                            -> -- | @pBindDescriptorBufferEmbeddedSamplersInfo@ is a pointer to a
+                                               -- 'BindDescriptorBufferEmbeddedSamplersInfoEXT' structure.
+                                               (BindDescriptorBufferEmbeddedSamplersInfoEXT a)
+                                            -> io ()
+cmdBindDescriptorBufferEmbeddedSamplers2EXT commandBuffer
+                                              bindDescriptorBufferEmbeddedSamplersInfo = liftIO . evalContT $ do
+  let vkCmdBindDescriptorBufferEmbeddedSamplers2EXTPtr = pVkCmdBindDescriptorBufferEmbeddedSamplers2EXT (case commandBuffer of CommandBuffer{deviceCmds} -> deviceCmds)
+  lift $ unless (vkCmdBindDescriptorBufferEmbeddedSamplers2EXTPtr /= nullFunPtr) $
+    throwIO $ IOError Nothing InvalidArgument "" "The function pointer for vkCmdBindDescriptorBufferEmbeddedSamplers2EXT is null" Nothing Nothing
+  let vkCmdBindDescriptorBufferEmbeddedSamplers2EXT' = mkVkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXTPtr
+  pBindDescriptorBufferEmbeddedSamplersInfo <- ContT $ withCStruct (bindDescriptorBufferEmbeddedSamplersInfo)
+  lift $ traceAroundEvent "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" (vkCmdBindDescriptorBufferEmbeddedSamplers2EXT'
+                                                                             (commandBufferHandle (commandBuffer))
+                                                                             (forgetExtensions pBindDescriptorBufferEmbeddedSamplersInfo))
+  pure $ ()
+
+
+-- | VkPhysicalDeviceMaintenance6FeaturesKHR - Structure describing whether
+-- the implementation supports maintenance6 functionality
+--
+-- = Members
+--
+-- This structure describes the following feature:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceMaintenance6FeaturesKHR' 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. 'PhysicalDeviceMaintenance6FeaturesKHR' /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_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceMaintenance6FeaturesKHR = PhysicalDeviceMaintenance6FeaturesKHR
+  { -- | #features-maintenance6# @maintenance6@ indicates that the implementation
+    -- supports the following:
+    --
+    -- -   'Vulkan.Core10.APIConstants.NULL_HANDLE' /can/ be used when binding
+    --     an index buffer
+    --
+    -- -   'BindMemoryStatusKHR' /can/ be included in the @pNext@ chain of the
+    --     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'
+    --     and
+    --     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo'
+    --     structures, enabling applications to retrieve
+    --     'Vulkan.Core10.Enums.Result.Result' values for individual memory
+    --     binding operations.
+    --
+    -- -   'PhysicalDeviceMaintenance6PropertiesKHR'::@blockTexelViewCompatibleMultipleLayers@
+    --     property to indicate that the implementation supports creating image
+    --     views with
+    --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'
+    --     where the @layerCount@ member of @subresourceRange@ is greater than
+    --     @1@.
+    --
+    -- -   'PhysicalDeviceMaintenance6PropertiesKHR'::@maxCombinedImageSamplerDescriptorCount@
+    --     property which indicates the maximum descriptor size required for
+    --     any
+    --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion format that requires a sampler Y′CBCR conversion>
+    --     supported by the implementation.
+    --
+    -- -   A
+    --     'PhysicalDeviceMaintenance6PropertiesKHR'::@fragmentShadingRateClampCombinerInputs@
+    --     property which indicates whether the implementation clamps the
+    --     inputs to fragment shading rate combiner operations.
+    maintenance6 :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceMaintenance6FeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceMaintenance6FeaturesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance6FeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceMaintenance6FeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (maintenance6))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceMaintenance6FeaturesKHR where
+  peekCStruct p = do
+    maintenance6 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceMaintenance6FeaturesKHR
+             (bool32ToBool maintenance6)
+
+instance Storable PhysicalDeviceMaintenance6FeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceMaintenance6FeaturesKHR where
+  zero = PhysicalDeviceMaintenance6FeaturesKHR
+           zero
+
+
+-- | VkPhysicalDeviceMaintenance6PropertiesKHR - Structure describing various
+-- implementation-defined properties introduced with VK_KHR_maintenance6
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceMaintenance6PropertiesKHR' 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_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceMaintenance6PropertiesKHR = PhysicalDeviceMaintenance6PropertiesKHR
+  { -- | @blockTexelViewCompatibleMultipleLayers@ is a boolean value indicating
+    -- that an implementation supports creating image views with
+    -- 'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'
+    -- where the @layerCount@ member of @subresourceRange@ is greater than @1@.
+    blockTexelViewCompatibleMultipleLayers :: Bool
+  , -- | @maxCombinedImageSamplerDescriptorCount@ is the maximum number of
+    -- combined image sampler descriptors that the implementation uses to
+    -- access any of the
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>
+    -- supported by the implementation.
+    maxCombinedImageSamplerDescriptorCount :: Word32
+  , -- | @fragmentShadingRateClampCombinerInputs@ is a boolean value indicating
+    -- that an implementation clamps the inputs to
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#primsrast-fragment-shading-rate-combining combiner operations>.
+    fragmentShadingRateClampCombinerInputs :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceMaintenance6PropertiesKHR)
+#endif
+deriving instance Show PhysicalDeviceMaintenance6PropertiesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance6PropertiesKHR where
+  withCStruct x f = allocaBytes 32 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceMaintenance6PropertiesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (blockTexelViewCompatibleMultipleLayers))
+    poke ((p `plusPtr` 20 :: Ptr Word32)) (maxCombinedImageSamplerDescriptorCount)
+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (fragmentShadingRateClampCombinerInputs))
+    f
+  cStructSize = 32
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    poke ((p `plusPtr` 20 :: Ptr Word32)) (zero)
+    poke ((p `plusPtr` 24 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceMaintenance6PropertiesKHR where
+  peekCStruct p = do
+    blockTexelViewCompatibleMultipleLayers <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    maxCombinedImageSamplerDescriptorCount <- peek @Word32 ((p `plusPtr` 20 :: Ptr Word32))
+    fragmentShadingRateClampCombinerInputs <- peek @Bool32 ((p `plusPtr` 24 :: Ptr Bool32))
+    pure $ PhysicalDeviceMaintenance6PropertiesKHR
+             (bool32ToBool blockTexelViewCompatibleMultipleLayers)
+             maxCombinedImageSamplerDescriptorCount
+             (bool32ToBool fragmentShadingRateClampCombinerInputs)
+
+instance Storable PhysicalDeviceMaintenance6PropertiesKHR where
+  sizeOf ~_ = 32
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceMaintenance6PropertiesKHR where
+  zero = PhysicalDeviceMaintenance6PropertiesKHR
+           zero
+           zero
+           zero
+
+
+-- | VkBindMemoryStatusKHR - Structure specifying where to return memory
+-- binding status
+--
+-- = Description
+--
+-- If the @pNext@ chain of
+-- 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'
+-- or 'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo'
+-- includes a 'BindMemoryStatusKHR' structure, then the
+-- 'BindMemoryStatusKHR'::@pResult@ will be populated with a value
+-- describing the result of the corresponding memory binding operation.
+--
+-- == Valid Usage (Implicit)
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.Enums.Result.Result',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data BindMemoryStatusKHR = BindMemoryStatusKHR
+  { -- | @pResult@ is a pointer to a 'Vulkan.Core10.Enums.Result.Result' value.
+    --
+    -- #VUID-VkBindMemoryStatusKHR-pResult-parameter# @pResult@ /must/ be a
+    -- valid pointer to a 'Vulkan.Core10.Enums.Result.Result' value
+    result :: Ptr Result }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BindMemoryStatusKHR)
+#endif
+deriving instance Show BindMemoryStatusKHR
+
+instance ToCStruct BindMemoryStatusKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BindMemoryStatusKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr (Ptr Result))) (result)
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr (Ptr Result))) (zero)
+    f
+
+instance FromCStruct BindMemoryStatusKHR where
+  peekCStruct p = do
+    pResult <- peek @(Ptr Result) ((p `plusPtr` 16 :: Ptr (Ptr Result)))
+    pure $ BindMemoryStatusKHR
+             pResult
+
+instance Storable BindMemoryStatusKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero BindMemoryStatusKHR where
+  zero = BindMemoryStatusKHR
+           zero
+
+
+-- | VkBindDescriptorSetsInfoKHR - Structure specifying a descriptor set
+-- binding operation
+--
+-- = Description
+--
+-- If @stageFlags@ specifies a subset of all stages corresponding to one or
+-- more pipeline bind points, the binding operation still affects all
+-- stages corresponding to the given pipeline bind point(s) as if the
+-- equivalent original version of this command had been called with the
+-- same parameters. For example, specifying a @stageFlags@ value of
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is
+-- equivalent to calling the original version of this command once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and
+-- once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-00358# Each
+--     element of @pDescriptorSets@ /must/ have been allocated with a
+--     'Vulkan.Core10.Handles.DescriptorSetLayout' that matches (is the
+--     same as, or identically defined as) the
+--     'Vulkan.Core10.Handles.DescriptorSetLayout' at set /n/ in @layout@,
+--     where /n/ is the sum of @firstSet@ and the index into
+--     @pDescriptorSets@
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-dynamicOffsetCount-00359#
+--     @dynamicOffsetCount@ /must/ be equal to the total number of dynamic
+--     descriptors in @pDescriptorSets@
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-firstSet-00360# The sum of
+--     @firstSet@ and @descriptorSetCount@ /must/ be less than or equal to
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
+--     provided when @layout@ was created
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-01971# Each
+--     element of @pDynamicOffsets@ which corresponds to a descriptor
+--     binding with type
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC'
+--     /must/ be a multiple of
+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@minUniformBufferOffsetAlignment@
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-01972# Each
+--     element of @pDynamicOffsets@ which corresponds to a descriptor
+--     binding with type
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC'
+--     /must/ be a multiple of
+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@minStorageBufferOffsetAlignment@
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-01979# For each
+--     dynamic uniform or storage buffer binding in @pDescriptorSets@, the
+--     sum of the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#dynamic-effective-offset effective offset>
+--     and the range of the binding /must/ be less than or equal to the
+--     size of the buffer
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-06715# For each
+--     dynamic uniform or storage buffer binding in @pDescriptorSets@, if
+--     the range was set with 'Vulkan.Core10.APIConstants.WHOLE_SIZE' then
+--     @pDynamicOffsets@ which corresponds to the descriptor binding /must/
+--     be 0
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-04616# Each
+--     element of @pDescriptorSets@ /must/ not have been allocated from a
+--     'Vulkan.Core10.Handles.DescriptorPool' with the
+--     'Vulkan.Core10.Enums.DescriptorPoolCreateFlagBits.DESCRIPTOR_POOL_CREATE_HOST_ONLY_BIT_EXT'
+--     flag set
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-06563# If
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-graphicsPipelineLibrary graphicsPipelineLibrary>
+--     is not enabled, each element of @pDescriptorSets@ /must/ be a valid
+--     'Vulkan.Core10.Handles.DescriptorSet'
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-08010# Each
+--     element of @pDescriptorSets@ /must/ have been allocated with a
+--     'Vulkan.Core10.Handles.DescriptorSetLayout' which was not created
+--     with
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-None-09495# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+--     feature is not enabled, @layout@ /must/ be a valid
+--     'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-layout-09496# If @layout@ is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain /must/
+--     include a valid
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-sType-sType# @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR'
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pNext-pNext# @pNext@ /must/ be
+--     @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-sType-unique# The @sType@ value of
+--     each struct in the @pNext@ chain /must/ be unique
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-stageFlags-parameter# @stageFlags@
+--     /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-stageFlags-requiredbitmask#
+--     @stageFlags@ /must/ not be @0@
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-layout-parameter# If @layout@ is
+--     not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@ /must/ be a
+--     valid 'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDescriptorSets-parameter#
+--     @pDescriptorSets@ /must/ be a valid pointer to an array of
+--     @descriptorSetCount@ valid 'Vulkan.Core10.Handles.DescriptorSet'
+--     handles
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-pDynamicOffsets-parameter# If
+--     @dynamicOffsetCount@ is not @0@, and @pDynamicOffsets@ is not
+--     @NULL@, @pDynamicOffsets@ /must/ be a valid pointer to an array of
+--     @dynamicOffsetCount@ or 'Vulkan.Core10.APIConstants.NULL_HANDLE'
+--     @uint32_t@ values
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-descriptorSetCount-arraylength#
+--     @descriptorSetCount@ /must/ be greater than @0@
+--
+-- -   #VUID-VkBindDescriptorSetsInfoKHR-commonparent# Both of @layout@,
+--     and the elements of @pDescriptorSets@ that are valid handles of
+--     non-ignored parameters /must/ have been created, allocated, or
+--     retrieved from the same 'Vulkan.Core10.Handles.Device'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.Handles.DescriptorSet',
+-- 'Vulkan.Core10.Handles.PipelineLayout',
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'cmdBindDescriptorSets2KHR'
+data BindDescriptorSetsInfoKHR (es :: [Type]) = BindDescriptorSetsInfoKHR
+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
+    next :: Chain es
+  , -- | @stageFlags@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying
+    -- the shader stages the descriptor sets will be bound to.
+    stageFlags :: ShaderStageFlags
+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to
+    -- program the bindings. If the
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+    -- feature is enabled, @layout@ /can/ be
+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be
+    -- specified by chaining the
+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off
+    -- the @pNext@
+    layout :: PipelineLayout
+  , -- | @firstSet@ is the set number of the first descriptor set to be bound.
+    firstSet :: Word32
+  , -- | @pDescriptorSets@ is a pointer to an array of handles to
+    -- 'Vulkan.Core10.Handles.DescriptorSet' objects describing the descriptor
+    -- sets to bind to.
+    descriptorSets :: Vector DescriptorSet
+  , -- | @dynamicOffsetCount@ is the number of dynamic offsets in the
+    -- @pDynamicOffsets@ array.
+    dynamicOffsetCount :: Word32
+  , -- | @pDynamicOffsets@ is a pointer to an array of @uint32_t@ values
+    -- specifying dynamic offsets.
+    dynamicOffsets :: Vector Word32
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BindDescriptorSetsInfoKHR (es :: [Type]))
+#endif
+deriving instance Show (Chain es) => Show (BindDescriptorSetsInfoKHR es)
+
+instance Extensible BindDescriptorSetsInfoKHR where
+  extensibleTypeName = "BindDescriptorSetsInfoKHR"
+  setNext BindDescriptorSetsInfoKHR{..} next' = BindDescriptorSetsInfoKHR{next = next', ..}
+  getNext BindDescriptorSetsInfoKHR{..} = next
+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindDescriptorSetsInfoKHR e => b) -> Maybe b
+  extends _ f
+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f
+    | otherwise = Nothing
+
+instance ( Extendss BindDescriptorSetsInfoKHR es
+         , PokeChain es ) => ToCStruct (BindDescriptorSetsInfoKHR es) where
+  withCStruct x f = allocaBytes 64 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BindDescriptorSetsInfoKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR)
+    pNext'' <- fmap castPtr . ContT $ withChain (next)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)
+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)
+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (firstSet)
+    lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (descriptorSets)) :: Word32))
+    pPDescriptorSets' <- ContT $ allocaBytes @DescriptorSet ((Data.Vector.length (descriptorSets)) * 8)
+    lift $ Data.Vector.imapM_ (\i e -> poke (pPDescriptorSets' `plusPtr` (8 * (i)) :: Ptr DescriptorSet) (e)) (descriptorSets)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr DescriptorSet))) (pPDescriptorSets')
+    let pDynamicOffsetsLength = Data.Vector.length $ (dynamicOffsets)
+    dynamicOffsetCount'' <- lift $ if (dynamicOffsetCount) == 0
+      then pure $ fromIntegral pDynamicOffsetsLength
+      else do
+        unless (fromIntegral pDynamicOffsetsLength == (dynamicOffsetCount) || pDynamicOffsetsLength == 0) $
+          throwIO $ IOError Nothing InvalidArgument "" "pDynamicOffsets must be empty or have 'dynamicOffsetCount' elements" Nothing Nothing
+        pure (dynamicOffsetCount)
+    lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (dynamicOffsetCount'')
+    pDynamicOffsets'' <- if Data.Vector.null (dynamicOffsets)
+      then pure nullPtr
+      else do
+        pPDynamicOffsets <- ContT $ allocaBytes @Word32 (((Data.Vector.length (dynamicOffsets))) * 4)
+        lift $ Data.Vector.imapM_ (\i e -> poke (pPDynamicOffsets `plusPtr` (4 * (i)) :: Ptr Word32) (e)) ((dynamicOffsets))
+        pure $ pPDynamicOffsets
+    lift $ poke ((p `plusPtr` 56 :: Ptr (Ptr Word32))) pDynamicOffsets''
+    lift $ f
+  cStructSize = 64
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR)
+    pNext' <- fmap castPtr . ContT $ withZeroChain @es
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)
+    lift $ f
+
+instance ( Extendss BindDescriptorSetsInfoKHR es
+         , PeekChain es ) => FromCStruct (BindDescriptorSetsInfoKHR es) where
+  peekCStruct p = do
+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))
+    next <- peekChain (castPtr pNext)
+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))
+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))
+    firstSet <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
+    descriptorSetCount <- peek @Word32 ((p `plusPtr` 36 :: Ptr Word32))
+    pDescriptorSets <- peek @(Ptr DescriptorSet) ((p `plusPtr` 40 :: Ptr (Ptr DescriptorSet)))
+    pDescriptorSets' <- generateM (fromIntegral descriptorSetCount) (\i -> peek @DescriptorSet ((pDescriptorSets `advancePtrBytes` (8 * (i)) :: Ptr DescriptorSet)))
+    dynamicOffsetCount <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32))
+    pDynamicOffsets <- peek @(Ptr Word32) ((p `plusPtr` 56 :: Ptr (Ptr Word32)))
+    let pDynamicOffsetsLength = if pDynamicOffsets == nullPtr then 0 else (fromIntegral dynamicOffsetCount)
+    pDynamicOffsets' <- generateM pDynamicOffsetsLength (\i -> peek @Word32 ((pDynamicOffsets `advancePtrBytes` (4 * (i)) :: Ptr Word32)))
+    pure $ BindDescriptorSetsInfoKHR
+             next
+             stageFlags
+             layout
+             firstSet
+             pDescriptorSets'
+             dynamicOffsetCount
+             pDynamicOffsets'
+
+instance es ~ '[] => Zero (BindDescriptorSetsInfoKHR es) where
+  zero = BindDescriptorSetsInfoKHR
+           ()
+           zero
+           zero
+           zero
+           mempty
+           zero
+           mempty
+
+
+-- | VkPushConstantsInfoKHR - Structure specifying a push constant update
+-- operation
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkPushConstantsInfoKHR-offset-01795# For each byte in the
+--     range specified by @offset@ and @size@ and for each shader stage in
+--     @stageFlags@, there /must/ be a push constant range in @layout@ that
+--     includes that byte and that stage
+--
+-- -   #VUID-VkPushConstantsInfoKHR-offset-01796# For each byte in the
+--     range specified by @offset@ and @size@ and for each push constant
+--     range that overlaps that byte, @stageFlags@ /must/ include all
+--     stages in that push constant range’s
+--     'Vulkan.Core10.PipelineLayout.PushConstantRange'::@stageFlags@
+--
+-- -   #VUID-VkPushConstantsInfoKHR-offset-00368# @offset@ /must/ be a
+--     multiple of @4@
+--
+-- -   #VUID-VkPushConstantsInfoKHR-size-00369# @size@ /must/ be a multiple
+--     of @4@
+--
+-- -   #VUID-VkPushConstantsInfoKHR-offset-00370# @offset@ /must/ be less
+--     than
+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxPushConstantsSize@
+--
+-- -   #VUID-VkPushConstantsInfoKHR-size-00371# @size@ /must/ be less than
+--     or equal to
+--     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxPushConstantsSize@
+--     minus @offset@
+--
+-- -   #VUID-VkPushConstantsInfoKHR-None-09495# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+--     feature is not enabled, @layout@ /must/ be a valid
+--     'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkPushConstantsInfoKHR-layout-09496# If @layout@ is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain /must/
+--     include a valid
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkPushConstantsInfoKHR-sType-sType# @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR'
+--
+-- -   #VUID-VkPushConstantsInfoKHR-pNext-pNext# @pNext@ /must/ be @NULL@
+--     or a pointer to a valid instance of
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'
+--
+-- -   #VUID-VkPushConstantsInfoKHR-sType-unique# The @sType@ value of each
+--     struct in the @pNext@ chain /must/ be unique
+--
+-- -   #VUID-VkPushConstantsInfoKHR-layout-parameter# If @layout@ is not
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@ /must/ be a valid
+--     'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkPushConstantsInfoKHR-stageFlags-parameter# @stageFlags@
+--     /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values
+--
+-- -   #VUID-VkPushConstantsInfoKHR-stageFlags-requiredbitmask#
+--     @stageFlags@ /must/ not be @0@
+--
+-- -   #VUID-VkPushConstantsInfoKHR-pValues-parameter# @pValues@ /must/ be
+--     a valid pointer to an array of @size@ bytes
+--
+-- -   #VUID-VkPushConstantsInfoKHR-size-arraylength# @size@ /must/ be
+--     greater than @0@
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.Handles.PipelineLayout',
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'cmdPushConstants2KHR'
+data PushConstantsInfoKHR (es :: [Type]) = PushConstantsInfoKHR
+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
+    next :: Chain es
+  , -- | @layout@ is the pipeline layout used to program the push constant
+    -- updates. If the
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+    -- feature is enabled, @layout@ /can/ be
+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be
+    -- specified by chaining
+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off
+    -- the @pNext@
+    layout :: PipelineLayout
+  , -- | @stageFlags@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying
+    -- the shader stages that will use the push constants in the updated range.
+    stageFlags :: ShaderStageFlags
+  , -- | @offset@ is the start offset of the push constant range to update, in
+    -- units of bytes.
+    offset :: Word32
+  , -- | @size@ is the size of the push constant range to update, in units of
+    -- bytes.
+    size :: Word32
+  , -- | @pValues@ is a pointer to an array of @size@ bytes containing the new
+    -- push constant values.
+    values :: Ptr ()
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PushConstantsInfoKHR (es :: [Type]))
+#endif
+deriving instance Show (Chain es) => Show (PushConstantsInfoKHR es)
+
+instance Extensible PushConstantsInfoKHR where
+  extensibleTypeName = "PushConstantsInfoKHR"
+  setNext PushConstantsInfoKHR{..} next' = PushConstantsInfoKHR{next = next', ..}
+  getNext PushConstantsInfoKHR{..} = next
+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends PushConstantsInfoKHR e => b) -> Maybe b
+  extends _ f
+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f
+    | otherwise = Nothing
+
+instance ( Extendss PushConstantsInfoKHR es
+         , PokeChain es ) => ToCStruct (PushConstantsInfoKHR es) where
+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PushConstantsInfoKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR)
+    pNext'' <- fmap castPtr . ContT $ withChain (next)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''
+    lift $ poke ((p `plusPtr` 16 :: Ptr PipelineLayout)) (layout)
+    lift $ poke ((p `plusPtr` 24 :: Ptr ShaderStageFlags)) (stageFlags)
+    lift $ poke ((p `plusPtr` 28 :: Ptr Word32)) (offset)
+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (size)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (values)
+    lift $ f
+  cStructSize = 48
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR)
+    pNext' <- fmap castPtr . ContT $ withZeroChain @es
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
+    lift $ poke ((p `plusPtr` 24 :: Ptr ShaderStageFlags)) (zero)
+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (zero)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (zero)
+    lift $ f
+
+instance ( Extendss PushConstantsInfoKHR es
+         , PeekChain es ) => FromCStruct (PushConstantsInfoKHR es) where
+  peekCStruct p = do
+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))
+    next <- peekChain (castPtr pNext)
+    layout <- peek @PipelineLayout ((p `plusPtr` 16 :: Ptr PipelineLayout))
+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 24 :: Ptr ShaderStageFlags))
+    offset <- peek @Word32 ((p `plusPtr` 28 :: Ptr Word32))
+    size <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
+    pValues <- peek @(Ptr ()) ((p `plusPtr` 40 :: Ptr (Ptr ())))
+    pure $ PushConstantsInfoKHR
+             next layout stageFlags offset size pValues
+
+instance es ~ '[] => Zero (PushConstantsInfoKHR es) where
+  zero = PushConstantsInfoKHR
+           ()
+           zero
+           zero
+           zero
+           zero
+           zero
+
+
+-- | VkPushDescriptorSetInfoKHR - Structure specifying a descriptor set push
+-- operation
+--
+-- = Description
+--
+-- If @stageFlags@ specifies a subset of all stages corresponding to one or
+-- more pipeline bind points, the binding operation still affects all
+-- stages corresponding to the given pipeline bind point(s) as if the
+-- equivalent original version of this command had been called with the
+-- same parameters. For example, specifying a @stageFlags@ value of
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is
+-- equivalent to calling the original version of this command once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and
+-- once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-set-00364# @set@ /must/ be less
+--     than
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
+--     provided when @layout@ was created
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-set-00365# @set@ /must/ be the
+--     unique set number in the pipeline layout that uses a descriptor set
+--     layout that was created with
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR'
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-pDescriptorWrites-06494# For each
+--     element i where @pDescriptorWrites@[i].@descriptorType@ is
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER',
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE',
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE',
+--     or
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_INPUT_ATTACHMENT',
+--     @pDescriptorWrites@[i].@pImageInfo@ /must/ be a valid pointer to an
+--     array of @pDescriptorWrites@[i].@descriptorCount@ valid
+--     'Vulkan.Core10.DescriptorSet.DescriptorImageInfo' structures
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-None-09495# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+--     feature is not enabled, @layout@ /must/ be a valid
+--     'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-layout-09496# If @layout@ is
+--     'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain /must/
+--     include a valid
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-sType-sType# @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR'
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-pNext-pNext# @pNext@ /must/ be
+--     @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-sType-unique# The @sType@ value of
+--     each struct in the @pNext@ chain /must/ be unique
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-stageFlags-parameter# @stageFlags@
+--     /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-stageFlags-requiredbitmask#
+--     @stageFlags@ /must/ not be @0@
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-layout-parameter# If @layout@ is
+--     not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@ /must/ be a
+--     valid 'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-pDescriptorWrites-parameter#
+--     @pDescriptorWrites@ /must/ be a valid pointer to an array of
+--     @descriptorWriteCount@ valid
+--     'Vulkan.Core10.DescriptorSet.WriteDescriptorSet' structures
+--
+-- -   #VUID-VkPushDescriptorSetInfoKHR-descriptorWriteCount-arraylength#
+--     @descriptorWriteCount@ /must/ be greater than @0@
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,
+-- 'Vulkan.Core10.Handles.PipelineLayout',
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet',
+-- 'cmdPushDescriptorSet2KHR'
+data PushDescriptorSetInfoKHR (es :: [Type]) = PushDescriptorSetInfoKHR
+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
+    next :: Chain es
+  , -- | @stageFlags@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying
+    -- the shader stages that will use the descriptors.
+    stageFlags :: ShaderStageFlags
+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to
+    -- program the bindings. If the
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+    -- feature is enabled, @layout@ /can/ be
+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be
+    -- specified by chaining
+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off
+    -- the @pNext@
+    layout :: PipelineLayout
+  , -- | @set@ is the set number of the descriptor set in the pipeline layout
+    -- that will be updated.
+    set :: Word32
+  , -- | @pDescriptorWrites@ is a pointer to an array of
+    -- 'Vulkan.Core10.DescriptorSet.WriteDescriptorSet' structures describing
+    -- the descriptors to be updated.
+    descriptorWrites :: Vector (SomeStruct WriteDescriptorSet)
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PushDescriptorSetInfoKHR (es :: [Type]))
+#endif
+deriving instance Show (Chain es) => Show (PushDescriptorSetInfoKHR es)
+
+instance Extensible PushDescriptorSetInfoKHR where
+  extensibleTypeName = "PushDescriptorSetInfoKHR"
+  setNext PushDescriptorSetInfoKHR{..} next' = PushDescriptorSetInfoKHR{next = next', ..}
+  getNext PushDescriptorSetInfoKHR{..} = next
+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends PushDescriptorSetInfoKHR e => b) -> Maybe b
+  extends _ f
+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f
+    | otherwise = Nothing
+
+instance ( Extendss PushDescriptorSetInfoKHR es
+         , PokeChain es ) => ToCStruct (PushDescriptorSetInfoKHR es) where
+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PushDescriptorSetInfoKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR)
+    pNext'' <- fmap castPtr . ContT $ withChain (next)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)
+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)
+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (set)
+    lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) ((fromIntegral (Data.Vector.length $ (descriptorWrites)) :: Word32))
+    pPDescriptorWrites' <- ContT $ allocaBytes @(WriteDescriptorSet _) ((Data.Vector.length (descriptorWrites)) * 64)
+    Data.Vector.imapM_ (\i e -> ContT $ pokeSomeCStruct (forgetExtensions (pPDescriptorWrites' `plusPtr` (64 * (i)) :: Ptr (WriteDescriptorSet _))) (e) . ($ ())) (descriptorWrites)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr (WriteDescriptorSet _)))) (pPDescriptorWrites')
+    lift $ f
+  cStructSize = 48
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR)
+    pNext' <- fmap castPtr . ContT $ withZeroChain @es
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)
+    lift $ f
+
+instance ( Extendss PushDescriptorSetInfoKHR es
+         , PeekChain es ) => FromCStruct (PushDescriptorSetInfoKHR es) where
+  peekCStruct p = do
+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))
+    next <- peekChain (castPtr pNext)
+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))
+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))
+    set <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
+    descriptorWriteCount <- peek @Word32 ((p `plusPtr` 36 :: Ptr Word32))
+    pDescriptorWrites <- peek @(Ptr (WriteDescriptorSet _)) ((p `plusPtr` 40 :: Ptr (Ptr (WriteDescriptorSet _))))
+    pDescriptorWrites' <- generateM (fromIntegral descriptorWriteCount) (\i -> peekSomeCStruct (forgetExtensions ((pDescriptorWrites `advancePtrBytes` (64 * (i)) :: Ptr (WriteDescriptorSet _)))))
+    pure $ PushDescriptorSetInfoKHR
+             next stageFlags layout set pDescriptorWrites'
+
+instance es ~ '[] => Zero (PushDescriptorSetInfoKHR es) where
+  zero = PushDescriptorSetInfoKHR
+           ()
+           zero
+           zero
+           zero
+           mempty
+
+
+-- | VkPushDescriptorSetWithTemplateInfoKHR - Structure specifying a
+-- descriptor set push operation using a descriptor update template
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-commandBuffer-00366#
+--     The @pipelineBindPoint@ specified during the creation of the
+--     descriptor update template /must/ be supported by the
+--     @commandBuffer@’s parent 'Vulkan.Core10.Handles.CommandPool'’s queue
+--     family
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-pData-01686# @pData@
+--     /must/ be a valid pointer to a memory containing one or more valid
+--     instances of 'Vulkan.Core10.DescriptorSet.DescriptorImageInfo',
+--     'Vulkan.Core10.DescriptorSet.DescriptorBufferInfo', or
+--     'Vulkan.Core10.Handles.BufferView' in a layout defined by
+--     @descriptorUpdateTemplate@ when it was created with
+--     'Vulkan.Core11.Promoted_From_VK_KHR_descriptor_update_template.createDescriptorUpdateTemplate'
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-07993# @layout@
+--     /must/ be compatible with the layout used to create
+--     @descriptorUpdateTemplate@
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-descriptorUpdateTemplate-07994#
+--     @descriptorUpdateTemplate@ /must/ have been created with a
+--     @templateType@ of
+--     'Vulkan.Core11.Enums.DescriptorUpdateTemplateType.DESCRIPTOR_UPDATE_TEMPLATE_TYPE_PUSH_DESCRIPTORS_KHR'
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07995# @set@ /must/
+--     be the same value used to create @descriptorUpdateTemplate@
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07304# @set@ /must/
+--     be less than
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
+--     provided when @layout@ was created
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-set-07305# @set@ /must/
+--     be the unique set number in the pipeline layout that uses a
+--     descriptor set layout that was created with
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR'
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-None-09495# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+--     feature is not enabled, @layout@ /must/ be a valid
+--     'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-09496# If
+--     @layout@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@
+--     chain /must/ include a valid
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-sType-sType# @sType@
+--     /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR'
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-pNext-pNext# @pNext@
+--     /must/ be @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-sType-unique# The
+--     @sType@ value of each struct in the @pNext@ chain /must/ be unique
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-descriptorUpdateTemplate-parameter#
+--     @descriptorUpdateTemplate@ /must/ be a valid
+--     'Vulkan.Core11.Handles.DescriptorUpdateTemplate' handle
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-layout-parameter# If
+--     @layout@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@
+--     /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-pData-parameter#
+--     @pData@ /must/ be a pointer value
+--
+-- -   #VUID-VkPushDescriptorSetWithTemplateInfoKHR-commonparent# Both of
+--     @descriptorUpdateTemplate@, and @layout@ that are valid handles of
+--     non-ignored parameters /must/ have been created, allocated, or
+--     retrieved from the same 'Vulkan.Core10.Handles.Device'
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>,
+-- 'Vulkan.Core11.Handles.DescriptorUpdateTemplate',
+-- 'Vulkan.Core10.Handles.PipelineLayout',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'cmdPushDescriptorSetWithTemplate2KHR'
+data PushDescriptorSetWithTemplateInfoKHR (es :: [Type]) = PushDescriptorSetWithTemplateInfoKHR
+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
+    next :: Chain es
+  , -- | @descriptorUpdateTemplate@ is a descriptor update template defining how
+    -- to interpret the descriptor information in @pData@.
+    descriptorUpdateTemplate :: DescriptorUpdateTemplate
+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to
+    -- program the bindings. It /must/ be compatible with the layout used to
+    -- create the @descriptorUpdateTemplate@ handle. If the
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+    -- feature is enabled, @layout@ /can/ be
+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be
+    -- specified by chaining
+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off
+    -- the @pNext@
+    layout :: PipelineLayout
+  , -- | @set@ is the set number of the descriptor set in the pipeline layout
+    -- that will be updated. This /must/ be the same number used to create the
+    -- @descriptorUpdateTemplate@ handle.
+    set :: Word32
+  , -- | @pData@ is a pointer to memory containing descriptors for the templated
+    -- update.
+    data' :: Ptr ()
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PushDescriptorSetWithTemplateInfoKHR (es :: [Type]))
+#endif
+deriving instance Show (Chain es) => Show (PushDescriptorSetWithTemplateInfoKHR es)
+
+instance Extensible PushDescriptorSetWithTemplateInfoKHR where
+  extensibleTypeName = "PushDescriptorSetWithTemplateInfoKHR"
+  setNext PushDescriptorSetWithTemplateInfoKHR{..} next' = PushDescriptorSetWithTemplateInfoKHR{next = next', ..}
+  getNext PushDescriptorSetWithTemplateInfoKHR{..} = next
+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends PushDescriptorSetWithTemplateInfoKHR e => b) -> Maybe b
+  extends _ f
+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f
+    | otherwise = Nothing
+
+instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es
+         , PokeChain es ) => ToCStruct (PushDescriptorSetWithTemplateInfoKHR es) where
+  withCStruct x f = allocaBytes 48 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PushDescriptorSetWithTemplateInfoKHR{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR)
+    pNext'' <- fmap castPtr . ContT $ withChain (next)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''
+    lift $ poke ((p `plusPtr` 16 :: Ptr DescriptorUpdateTemplate)) (descriptorUpdateTemplate)
+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)
+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (set)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (data')
+    lift $ f
+  cStructSize = 48
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR)
+    pNext' <- fmap castPtr . ContT $ withZeroChain @es
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
+    lift $ poke ((p `plusPtr` 16 :: Ptr DescriptorUpdateTemplate)) (zero)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr ()))) (zero)
+    lift $ f
+
+instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es
+         , PeekChain es ) => FromCStruct (PushDescriptorSetWithTemplateInfoKHR es) where
+  peekCStruct p = do
+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))
+    next <- peekChain (castPtr pNext)
+    descriptorUpdateTemplate <- peek @DescriptorUpdateTemplate ((p `plusPtr` 16 :: Ptr DescriptorUpdateTemplate))
+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))
+    set <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
+    pData <- peek @(Ptr ()) ((p `plusPtr` 40 :: Ptr (Ptr ())))
+    pure $ PushDescriptorSetWithTemplateInfoKHR
+             next descriptorUpdateTemplate layout set pData
+
+instance es ~ '[] => Zero (PushDescriptorSetWithTemplateInfoKHR es) where
+  zero = PushDescriptorSetWithTemplateInfoKHR
+           ()
+           zero
+           zero
+           zero
+           zero
+
+
+-- | VkSetDescriptorBufferOffsetsInfoEXT - Structure specifying descriptor
+-- buffer offsets to set in a command buffer
+--
+-- = Description
+--
+-- If @stageFlags@ specifies a subset of all stages corresponding to one or
+-- more pipeline bind points, the binding operation still affects all
+-- stages corresponding to the given pipeline bind point(s) as if the
+-- equivalent original version of this command had been called with the
+-- same parameters. For example, specifying a @stageFlags@ value of
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is
+-- equivalent to calling the original version of this command once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and
+-- once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08061# The
+--     offsets in @pOffsets@ /must/ be aligned to
+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@descriptorBufferOffsetAlignment@
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08063# The
+--     offsets in @pOffsets@ /must/ be small enough such that any
+--     descriptor binding referenced by @layout@ without the
+--     'Vulkan.Core12.Enums.DescriptorBindingFlagBits.DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT'
+--     flag computes a valid address inside the underlying
+--     'Vulkan.Core10.Handles.Buffer'
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08126# The
+--     offsets in @pOffsets@ /must/ be small enough such that any location
+--     accessed by a shader as a sampler descriptor /must/ be within
+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxSamplerDescriptorBufferRange@
+--     of the sampler descriptor buffer binding
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-08127# The
+--     offsets in @pOffsets@ /must/ be small enough such that any location
+--     accessed by a shader as a resource descriptor /must/ be within
+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxResourceDescriptorBufferRange@
+--     of the resource descriptor buffer binding
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-08064# Each
+--     element of @pBufferIndices@ /must/ be less than
+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.PhysicalDeviceDescriptorBufferPropertiesEXT'::@maxDescriptorBufferBindings@
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-08065# Each
+--     element of @pBufferIndices@ /must/ reference a valid descriptor
+--     buffer binding set by a previous call to
+--     'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBuffersEXT'
+--     in @commandBuffer@
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-firstSet-08066# The sum of
+--     @firstSet@ and @setCount@ /must/ be less than or equal to
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
+--     provided when @layout@ was created
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-firstSet-09006# The
+--     'Vulkan.Core10.Handles.DescriptorSetLayout' for each set from
+--     @firstSet@ to @firstSet@ + @setCount@ when @layout@ was created
+--     /must/ have been created with the
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT'
+--     bit set
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-None-09495# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+--     feature is not enabled, @layout@ /must/ be a valid
+--     'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-layout-09496# If @layout@
+--     is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@ chain
+--     /must/ include a valid
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-sType# @sType@
+--     /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT'
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pNext-pNext# @pNext@
+--     /must/ be @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-sType-unique# The @sType@
+--     value of each struct in the @pNext@ chain /must/ be unique
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-parameter#
+--     @stageFlags@ /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-stageFlags-requiredbitmask#
+--     @stageFlags@ /must/ not be @0@
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-layout-parameter# If
+--     @layout@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE', @layout@
+--     /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pBufferIndices-parameter#
+--     @pBufferIndices@ /must/ be a valid pointer to an array of @setCount@
+--     @uint32_t@ values
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-pOffsets-parameter#
+--     @pOffsets@ /must/ be a valid pointer to an array of @setCount@
+--     'Vulkan.Core10.FundamentalTypes.DeviceSize' values
+--
+-- -   #VUID-VkSetDescriptorBufferOffsetsInfoEXT-setCount-arraylength#
+--     @setCount@ /must/ be greater than @0@
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.FundamentalTypes.DeviceSize',
+-- 'Vulkan.Core10.Handles.PipelineLayout',
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'cmdSetDescriptorBufferOffsets2EXT'
+data SetDescriptorBufferOffsetsInfoEXT (es :: [Type]) = SetDescriptorBufferOffsetsInfoEXT
+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
+    next :: Chain es
+  , -- | @stageFlags@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying
+    -- the shader stages the descriptor sets will be bound to
+    stageFlags :: ShaderStageFlags
+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to
+    -- program the bindings. If the
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+    -- feature is enabled, @layout@ /can/ be
+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be
+    -- specified by chaining
+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off
+    -- the @pNext@
+    layout :: PipelineLayout
+  , -- | @firstSet@ is the number of the first set to be bound.
+    firstSet :: Word32
+  , -- | @pBufferIndices@ is a pointer to an array of indices into the descriptor
+    -- buffer binding points set by
+    -- 'Vulkan.Extensions.VK_EXT_descriptor_buffer.cmdBindDescriptorBuffersEXT'.
+    bufferIndices :: Vector Word32
+  , -- | @pOffsets@ is a pointer to an array of
+    -- 'Vulkan.Core10.FundamentalTypes.DeviceSize' offsets to apply to the
+    -- bound descriptor buffers.
+    offsets :: Vector DeviceSize
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (SetDescriptorBufferOffsetsInfoEXT (es :: [Type]))
+#endif
+deriving instance Show (Chain es) => Show (SetDescriptorBufferOffsetsInfoEXT es)
+
+instance Extensible SetDescriptorBufferOffsetsInfoEXT where
+  extensibleTypeName = "SetDescriptorBufferOffsetsInfoEXT"
+  setNext SetDescriptorBufferOffsetsInfoEXT{..} next' = SetDescriptorBufferOffsetsInfoEXT{next = next', ..}
+  getNext SetDescriptorBufferOffsetsInfoEXT{..} = next
+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends SetDescriptorBufferOffsetsInfoEXT e => b) -> Maybe b
+  extends _ f
+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f
+    | otherwise = Nothing
+
+instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es
+         , PokeChain es ) => ToCStruct (SetDescriptorBufferOffsetsInfoEXT es) where
+  withCStruct x f = allocaBytes 56 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p SetDescriptorBufferOffsetsInfoEXT{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT)
+    pNext'' <- fmap castPtr . ContT $ withChain (next)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)
+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)
+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (firstSet)
+    let pBufferIndicesLength = Data.Vector.length $ (bufferIndices)
+    lift $ unless ((Data.Vector.length $ (offsets)) == pBufferIndicesLength) $
+      throwIO $ IOError Nothing InvalidArgument "" "pOffsets and pBufferIndices must have the same length" Nothing Nothing
+    lift $ poke ((p `plusPtr` 36 :: Ptr Word32)) ((fromIntegral pBufferIndicesLength :: Word32))
+    pPBufferIndices' <- ContT $ allocaBytes @Word32 ((Data.Vector.length (bufferIndices)) * 4)
+    lift $ Data.Vector.imapM_ (\i e -> poke (pPBufferIndices' `plusPtr` (4 * (i)) :: Ptr Word32) (e)) (bufferIndices)
+    lift $ poke ((p `plusPtr` 40 :: Ptr (Ptr Word32))) (pPBufferIndices')
+    pPOffsets' <- ContT $ allocaBytes @DeviceSize ((Data.Vector.length (offsets)) * 8)
+    lift $ Data.Vector.imapM_ (\i e -> poke (pPOffsets' `plusPtr` (8 * (i)) :: Ptr DeviceSize) (e)) (offsets)
+    lift $ poke ((p `plusPtr` 48 :: Ptr (Ptr DeviceSize))) (pPOffsets')
+    lift $ f
+  cStructSize = 56
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT)
+    pNext' <- fmap castPtr . ContT $ withZeroChain @es
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)
+    lift $ f
+
+instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es
+         , PeekChain es ) => FromCStruct (SetDescriptorBufferOffsetsInfoEXT es) where
+  peekCStruct p = do
+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))
+    next <- peekChain (castPtr pNext)
+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))
+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))
+    firstSet <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
+    setCount <- peek @Word32 ((p `plusPtr` 36 :: Ptr Word32))
+    pBufferIndices <- peek @(Ptr Word32) ((p `plusPtr` 40 :: Ptr (Ptr Word32)))
+    pBufferIndices' <- generateM (fromIntegral setCount) (\i -> peek @Word32 ((pBufferIndices `advancePtrBytes` (4 * (i)) :: Ptr Word32)))
+    pOffsets <- peek @(Ptr DeviceSize) ((p `plusPtr` 48 :: Ptr (Ptr DeviceSize)))
+    pOffsets' <- generateM (fromIntegral setCount) (\i -> peek @DeviceSize ((pOffsets `advancePtrBytes` (8 * (i)) :: Ptr DeviceSize)))
+    pure $ SetDescriptorBufferOffsetsInfoEXT
+             next stageFlags layout firstSet pBufferIndices' pOffsets'
+
+instance es ~ '[] => Zero (SetDescriptorBufferOffsetsInfoEXT es) where
+  zero = SetDescriptorBufferOffsetsInfoEXT
+           ()
+           zero
+           zero
+           zero
+           mempty
+           mempty
+
+
+-- | VkBindDescriptorBufferEmbeddedSamplersInfoEXT - Structure specifying
+-- embedded immutable sampler offsets to set in a command buffer
+--
+-- = Description
+--
+-- If @stageFlags@ specifies a subset of all stages corresponding to one or
+-- more pipeline bind points, the binding operation still affects all
+-- stages corresponding to the given pipeline bind point(s) as if the
+-- equivalent original version of this command had been called with the
+-- same parameters. For example, specifying a @stageFlags@ value of
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_FRAGMENT_BIT' |
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_COMPUTE_BIT' is
+-- equivalent to calling the original version of this command once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_GRAPHICS' and
+-- once with
+-- 'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE'.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-set-08070# The
+--     'Vulkan.Core10.Handles.DescriptorSetLayout' at index @set@ when
+--     @layout@ was created /must/ have been created with the
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT'
+--     bit set
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-set-08071# @set@
+--     /must/ be less than or equal to
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
+--     provided when @layout@ was created
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-None-09495# If
+--     the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+--     feature is not enabled, @layout@ /must/ be a valid
+--     'Vulkan.Core10.Handles.PipelineLayout' handle
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-09496# If
+--     @layout@ is 'Vulkan.Core10.APIConstants.NULL_HANDLE', the @pNext@
+--     chain /must/ include a valid
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure
+--
+-- == Valid Usage (Implicit)
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-sType#
+--     @sType@ /must/ be
+--     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT'
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-pNext-pNext#
+--     @pNext@ /must/ be @NULL@ or a pointer to a valid instance of
+--     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-sType-unique#
+--     The @sType@ value of each struct in the @pNext@ chain /must/ be
+--     unique
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-parameter#
+--     @stageFlags@ /must/ be a valid combination of
+--     'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' values
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-stageFlags-requiredbitmask#
+--     @stageFlags@ /must/ not be @0@
+--
+-- -   #VUID-VkBindDescriptorBufferEmbeddedSamplersInfoEXT-layout-parameter#
+--     If @layout@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
+--     @layout@ /must/ be a valid 'Vulkan.Core10.Handles.PipelineLayout'
+--     handle
+--
+-- = See Also
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>,
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>,
+-- 'Vulkan.Core10.Handles.PipelineLayout',
+-- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlags',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType',
+-- 'cmdBindDescriptorBufferEmbeddedSamplers2EXT'
+data BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type]) = BindDescriptorBufferEmbeddedSamplersInfoEXT
+  { -- | @pNext@ is @NULL@ or a pointer to a structure extending this structure.
+    next :: Chain es
+  , -- | @stageFlags@ is a bitmask of
+    -- 'Vulkan.Core10.Enums.ShaderStageFlagBits.ShaderStageFlagBits' specifying
+    -- the shader stages that will use the embedded immutable samplers.
+    stageFlags :: ShaderStageFlags
+  , -- | @layout@ is a 'Vulkan.Core10.Handles.PipelineLayout' object used to
+    -- program the bindings. If the
+    -- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-dynamicPipelineLayout dynamicPipelineLayout>
+    -- feature is enabled, @layout@ /can/ be
+    -- 'Vulkan.Core10.APIConstants.NULL_HANDLE' and the layout /must/ be
+    -- specified by chaining
+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure off
+    -- the @pNext@
+    layout :: PipelineLayout
+  , -- | @set@ is the number of the set to be bound.
+    set :: Word32
+  }
+  deriving (Typeable)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type]))
+#endif
+deriving instance Show (Chain es) => Show (BindDescriptorBufferEmbeddedSamplersInfoEXT es)
+
+instance Extensible BindDescriptorBufferEmbeddedSamplersInfoEXT where
+  extensibleTypeName = "BindDescriptorBufferEmbeddedSamplersInfoEXT"
+  setNext BindDescriptorBufferEmbeddedSamplersInfoEXT{..} next' = BindDescriptorBufferEmbeddedSamplersInfoEXT{next = next', ..}
+  getNext BindDescriptorBufferEmbeddedSamplersInfoEXT{..} = next
+  extends :: forall e b proxy. Typeable e => proxy e -> (Extends BindDescriptorBufferEmbeddedSamplersInfoEXT e => b) -> Maybe b
+  extends _ f
+    | Just Refl <- eqT @e @PipelineLayoutCreateInfo = Just f
+    | otherwise = Nothing
+
+instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es
+         , PokeChain es ) => ToCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es) where
+  withCStruct x f = allocaBytes 40 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p BindDescriptorBufferEmbeddedSamplersInfoEXT{..} f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT)
+    pNext'' <- fmap castPtr . ContT $ withChain (next)
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext''
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (stageFlags)
+    lift $ poke ((p `plusPtr` 24 :: Ptr PipelineLayout)) (layout)
+    lift $ poke ((p `plusPtr` 32 :: Ptr Word32)) (set)
+    lift $ f
+  cStructSize = 40
+  cStructAlignment = 8
+  pokeZeroCStruct p f = evalContT $ do
+    lift $ poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT)
+    pNext' <- fmap castPtr . ContT $ withZeroChain @es
+    lift $ poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) pNext'
+    lift $ poke ((p `plusPtr` 16 :: Ptr ShaderStageFlags)) (zero)
+    lift $ f
+
+instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es
+         , PeekChain es ) => FromCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es) where
+  peekCStruct p = do
+    pNext <- peek @(Ptr ()) ((p `plusPtr` 8 :: Ptr (Ptr ())))
+    next <- peekChain (castPtr pNext)
+    stageFlags <- peek @ShaderStageFlags ((p `plusPtr` 16 :: Ptr ShaderStageFlags))
+    layout <- peek @PipelineLayout ((p `plusPtr` 24 :: Ptr PipelineLayout))
+    set <- peek @Word32 ((p `plusPtr` 32 :: Ptr Word32))
+    pure $ BindDescriptorBufferEmbeddedSamplersInfoEXT
+             next stageFlags layout set
+
+instance es ~ '[] => Zero (BindDescriptorBufferEmbeddedSamplersInfoEXT es) where
+  zero = BindDescriptorBufferEmbeddedSamplersInfoEXT
+           ()
+           zero
+           zero
+           zero
+
+
+type KHR_MAINTENANCE_6_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_6_SPEC_VERSION"
+pattern KHR_MAINTENANCE_6_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_MAINTENANCE_6_SPEC_VERSION = 1
+
+
+type KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6"
+
+-- No documentation found for TopLevel "VK_KHR_MAINTENANCE_6_EXTENSION_NAME"
+pattern KHR_MAINTENANCE_6_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_MAINTENANCE_6_EXTENSION_NAME = "VK_KHR_maintenance6"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_maintenance6.hs-boot b/src/Vulkan/Extensions/VK_KHR_maintenance6.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_maintenance6.hs-boot
@@ -0,0 +1,334 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_maintenance6 - device extension
+--
+-- == VK_KHR_maintenance6
+--
+-- [__Name String__]
+--     @VK_KHR_maintenance6@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     546
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__API Interactions__]
+--
+--     -   Interacts with VK_EXT_descriptor_buffer
+--
+--     -   Interacts with VK_KHR_push_descriptor
+--
+-- [__Contact__]
+--
+--     -   Jon Leech
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_maintenance6] @oddhack%0A*Here describe the issue or question you have about the VK_KHR_maintenance6 extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_maintenance6.adoc VK_KHR_maintenance6>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-08-03
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   Interacts with @VK_EXT_robustness2@
+--
+-- [__Contributors__]
+--
+--     -   Jon Leech, Khronos
+--
+--     -   Stu Smith, AMD
+--
+--     -   Mike Blumenkrantz, Valve
+--
+--     -   Ralph Potter, Samsung
+--
+--     -   James Fitzpatrick, Imagination Technologies
+--
+--     -   Piers Daniell, NVIDIA
+--
+--     -   Daniel Story, Nintendo
+--
+-- == Description
+--
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>
+-- adds a collection of minor features, none of which would warrant an
+-- entire extension of their own.
+--
+-- The new features are as follows:
+--
+-- -   'BindMemoryStatusKHR' may be included in the @pNext@ chain of
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo'
+--     and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo',
+--     allowing applications to identify individual resources for which
+--     memory binding failed during calls to
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindBufferMemory2'
+--     and
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.bindImageMemory2'.
+--
+-- -   A new property @fragmentShadingRateClampCombinerInputs@ to indicate
+--     if an implementation clamps the inputs to fragment shading rate
+--     combiner operations.
+--
+-- -   'Vulkan.Core10.APIConstants.NULL_HANDLE' is allowed to be used when
+--     binding an index buffer, instead of a valid
+--     'Vulkan.Core10.Handles.Buffer' handle. When the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-nullDescriptor nullDescriptor>
+--     feature is enabled, every index fetched results in a value of zero.
+--
+-- -   A new property @maxCombinedImageSamplerDescriptorCount@ to indicate
+--     the maximum number of descriptors needed for any of the
+--     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#formats-requiring-sampler-ycbcr-conversion formats that require a sampler Y′CBCR conversion>
+--     supported by the implementation.
+--
+-- -   A new property @blockTexelViewCompatibleMultipleLayers@ indicating
+--     whether
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT'
+--     is allowed to be used with @layerCount@ > 1
+--
+-- -   @pNext@ extensible *2 versions of all descriptor binding commands.
+--
+-- == New Commands
+--
+-- -   'cmdBindDescriptorSets2KHR'
+--
+-- -   'cmdPushConstants2KHR'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>
+-- is supported:
+--
+-- -   'cmdBindDescriptorBufferEmbeddedSamplers2EXT'
+--
+-- -   'cmdSetDescriptorBufferOffsets2EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>
+-- is supported:
+--
+-- -   'cmdPushDescriptorSet2KHR'
+--
+-- -   'cmdPushDescriptorSetWithTemplate2KHR'
+--
+-- == New Structures
+--
+-- -   'BindDescriptorSetsInfoKHR'
+--
+-- -   'PushConstantsInfoKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindBufferMemoryInfo',
+--     'Vulkan.Core11.Promoted_From_VK_KHR_bind_memory2.BindImageMemoryInfo':
+--
+--     -   'BindMemoryStatusKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceMaintenance6FeaturesKHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceProperties2':
+--
+--     -   'PhysicalDeviceMaintenance6PropertiesKHR'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>
+-- is supported:
+--
+-- -   'BindDescriptorBufferEmbeddedSamplersInfoEXT'
+--
+-- -   'SetDescriptorBufferOffsetsInfoEXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>
+-- is supported:
+--
+-- -   'PushDescriptorSetInfoKHR'
+--
+-- -   'PushDescriptorSetWithTemplateInfoKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_MAINTENANCE_6_EXTENSION_NAME'
+--
+-- -   'KHR_MAINTENANCE_6_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_EXT_descriptor_buffer VK_EXT_descriptor_buffer>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT'
+--
+-- If
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_push_descriptor VK_KHR_push_descriptor>
+-- is supported:
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR'
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR'
+--
+-- == Issues
+--
+-- None.
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-08-01 (Jon Leech)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'BindDescriptorSetsInfoKHR', 'BindMemoryStatusKHR',
+-- 'PhysicalDeviceMaintenance6FeaturesKHR',
+-- 'PhysicalDeviceMaintenance6PropertiesKHR', 'PushConstantsInfoKHR',
+-- 'cmdBindDescriptorSets2KHR', 'cmdPushConstants2KHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_maintenance6 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_maintenance6  ( BindDescriptorBufferEmbeddedSamplersInfoEXT
+                                              , BindDescriptorSetsInfoKHR
+                                              , BindMemoryStatusKHR
+                                              , PhysicalDeviceMaintenance6FeaturesKHR
+                                              , PhysicalDeviceMaintenance6PropertiesKHR
+                                              , PushConstantsInfoKHR
+                                              , PushDescriptorSetInfoKHR
+                                              , PushDescriptorSetWithTemplateInfoKHR
+                                              , SetDescriptorBufferOffsetsInfoEXT
+                                              ) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+import {-# SOURCE #-} Vulkan.CStruct.Extends (Chain)
+import {-# SOURCE #-} Vulkan.CStruct.Extends (Extendss)
+import {-# SOURCE #-} Vulkan.CStruct.Extends (PeekChain)
+import {-# SOURCE #-} Vulkan.CStruct.Extends (PokeChain)
+type role BindDescriptorBufferEmbeddedSamplersInfoEXT nominal
+data BindDescriptorBufferEmbeddedSamplersInfoEXT (es :: [Type])
+
+instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es
+         , PokeChain es ) => ToCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es)
+instance Show (Chain es) => Show (BindDescriptorBufferEmbeddedSamplersInfoEXT es)
+
+instance ( Extendss BindDescriptorBufferEmbeddedSamplersInfoEXT es
+         , PeekChain es ) => FromCStruct (BindDescriptorBufferEmbeddedSamplersInfoEXT es)
+
+
+type role BindDescriptorSetsInfoKHR nominal
+data BindDescriptorSetsInfoKHR (es :: [Type])
+
+instance ( Extendss BindDescriptorSetsInfoKHR es
+         , PokeChain es ) => ToCStruct (BindDescriptorSetsInfoKHR es)
+instance Show (Chain es) => Show (BindDescriptorSetsInfoKHR es)
+
+instance ( Extendss BindDescriptorSetsInfoKHR es
+         , PeekChain es ) => FromCStruct (BindDescriptorSetsInfoKHR es)
+
+
+data BindMemoryStatusKHR
+
+instance ToCStruct BindMemoryStatusKHR
+instance Show BindMemoryStatusKHR
+
+instance FromCStruct BindMemoryStatusKHR
+
+
+data PhysicalDeviceMaintenance6FeaturesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance6FeaturesKHR
+instance Show PhysicalDeviceMaintenance6FeaturesKHR
+
+instance FromCStruct PhysicalDeviceMaintenance6FeaturesKHR
+
+
+data PhysicalDeviceMaintenance6PropertiesKHR
+
+instance ToCStruct PhysicalDeviceMaintenance6PropertiesKHR
+instance Show PhysicalDeviceMaintenance6PropertiesKHR
+
+instance FromCStruct PhysicalDeviceMaintenance6PropertiesKHR
+
+
+type role PushConstantsInfoKHR nominal
+data PushConstantsInfoKHR (es :: [Type])
+
+instance ( Extendss PushConstantsInfoKHR es
+         , PokeChain es ) => ToCStruct (PushConstantsInfoKHR es)
+instance Show (Chain es) => Show (PushConstantsInfoKHR es)
+
+instance ( Extendss PushConstantsInfoKHR es
+         , PeekChain es ) => FromCStruct (PushConstantsInfoKHR es)
+
+
+type role PushDescriptorSetInfoKHR nominal
+data PushDescriptorSetInfoKHR (es :: [Type])
+
+instance ( Extendss PushDescriptorSetInfoKHR es
+         , PokeChain es ) => ToCStruct (PushDescriptorSetInfoKHR es)
+instance Show (Chain es) => Show (PushDescriptorSetInfoKHR es)
+
+instance ( Extendss PushDescriptorSetInfoKHR es
+         , PeekChain es ) => FromCStruct (PushDescriptorSetInfoKHR es)
+
+
+type role PushDescriptorSetWithTemplateInfoKHR nominal
+data PushDescriptorSetWithTemplateInfoKHR (es :: [Type])
+
+instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es
+         , PokeChain es ) => ToCStruct (PushDescriptorSetWithTemplateInfoKHR es)
+instance Show (Chain es) => Show (PushDescriptorSetWithTemplateInfoKHR es)
+
+instance ( Extendss PushDescriptorSetWithTemplateInfoKHR es
+         , PeekChain es ) => FromCStruct (PushDescriptorSetWithTemplateInfoKHR es)
+
+
+type role SetDescriptorBufferOffsetsInfoEXT nominal
+data SetDescriptorBufferOffsetsInfoEXT (es :: [Type])
+
+instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es
+         , PokeChain es ) => ToCStruct (SetDescriptorBufferOffsetsInfoEXT es)
+instance Show (Chain es) => Show (SetDescriptorBufferOffsetsInfoEXT es)
+
+instance ( Extendss SetDescriptorBufferOffsetsInfoEXT es
+         , PeekChain es ) => FromCStruct (SetDescriptorBufferOffsetsInfoEXT es)
+
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
@@ -254,10 +254,6 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-vkCmdPushDescriptorSetKHR-pipelineBindPoint-00363#
---     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
---     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
---
 -- -   #VUID-vkCmdPushDescriptorSetKHR-set-00364# @set@ /must/ be less than
 --     'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo'::@setLayoutCount@
 --     provided when @layout@ was created
@@ -269,6 +265,8 @@
 --
 -- -   #VUID-vkCmdPushDescriptorSetKHR-pDescriptorWrites-06494# For each
 --     element i where @pDescriptorWrites@[i].@descriptorType@ is
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLER',
+--     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER',
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_SAMPLED_IMAGE',
 --     'Vulkan.Core10.Enums.DescriptorType.DESCRIPTOR_TYPE_STORAGE_IMAGE',
 --     or
@@ -276,6 +274,10 @@
 --     @pDescriptorWrites@[i].@pImageInfo@ /must/ be a valid pointer to an
 --     array of @pDescriptorWrites@[i].@descriptorCount@ valid
 --     'Vulkan.Core10.DescriptorSet.DescriptorImageInfo' structures
+--
+-- -   #VUID-vkCmdPushDescriptorSetKHR-pipelineBindPoint-00363#
+--     @pipelineBindPoint@ /must/ be supported by the @commandBuffer@’s
+--     parent 'Vulkan.Core10.Handles.CommandPool'’s queue family
 --
 -- == Valid Usage (Implicit)
 --
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
@@ -2024,11 +2024,6 @@
 --     host access to @pipelineCache@ /must/ be
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#fundamentals-threadingbehavior externally synchronized>
 --
--- -   #VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03677# If
---     @deferredOperation@ is not 'Vulkan.Core10.APIConstants.NULL_HANDLE',
---     it /must/ be a valid
---     'Vulkan.Extensions.Handles.DeferredOperationKHR' object
---
 -- -   #VUID-vkCreateRayTracingPipelinesKHR-deferredOperation-03678# Any
 --     previous deferred operation that was associated with
 --     @deferredOperation@ /must/ be complete
@@ -3441,6 +3436,13 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkRayTracingPipelineCreateInfoKHR-None-09497# If the @pNext@
+--     chain does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'
+--     structure, @flags@ must be a valid combination of
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
+--     values
+--
 -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-flags-07984# If @flags@
 --     contains the
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'
@@ -3711,11 +3713,6 @@
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-sType-unique# The @sType@
 --     value of each struct in the @pNext@ chain /must/ be unique
---
--- -   #VUID-VkRayTracingPipelineCreateInfoKHR-flags-parameter# @flags@
---     /must/ be a valid combination of
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
---     values
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoKHR-pStages-parameter# If
 --     @stageCount@ is not @0@, @pStages@ /must/ be a valid pointer to an
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs b/src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs
@@ -0,0 +1,201 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_expect_assume - device extension
+--
+-- == VK_KHR_shader_expect_assume
+--
+-- [__Name String__]
+--     @VK_KHR_shader_expect_assume@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     545
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_expect_assume.html SPV_KHR_expect_assume>
+--
+-- [__Contact__]
+--
+--     -   Kevin Petit
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_expect_assume] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_expect_assume extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-12-06
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Kevin Petit, Arm
+--
+--     -   Tobias Hector, AMD
+--
+--     -   James Fitzpatrick, Imagination Technologies
+--
+-- == Description
+--
+-- This extension allows the use of the @SPV_KHR_expect_assume@ extension
+-- in SPIR-V shader modules which enables SPIR-V producers to provide
+-- optimization hints to the Vulkan implementation.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderExpectAssumeFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-ExpectAssumeKHR ExpectAssumeKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-12-06 (Kevin Petit)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderExpectAssumeFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_expect_assume 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_expect_assume  ( PhysicalDeviceShaderExpectAssumeFeaturesKHR(..)
+                                                      , KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION
+                                                      , pattern KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION
+                                                      , KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME
+                                                      , pattern KHR_SHADER_EXPECT_ASSUME_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_EXPECT_ASSUME_FEATURES_KHR))
+-- | VkPhysicalDeviceShaderExpectAssumeFeaturesKHR - Structure describing
+-- shader expect assume features that can be supported by an implementation
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceShaderExpectAssumeFeaturesKHR' 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. 'PhysicalDeviceShaderExpectAssumeFeaturesKHR' /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_expect_assume VK_KHR_shader_expect_assume>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceShaderExpectAssumeFeaturesKHR = PhysicalDeviceShaderExpectAssumeFeaturesKHR
+  { -- | #features-shaderExpectAssume# @shaderExpectAssume@ specifies whether
+    -- shader modules /can/ declare the @ExpectAssumeKHR@ capability.
+    shaderExpectAssume :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceShaderExpectAssumeFeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceShaderExpectAssumeFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceShaderExpectAssumeFeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderExpectAssume))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR where
+  peekCStruct p = do
+    shaderExpectAssume <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceShaderExpectAssumeFeaturesKHR
+             (bool32ToBool shaderExpectAssume)
+
+instance Storable PhysicalDeviceShaderExpectAssumeFeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceShaderExpectAssumeFeaturesKHR where
+  zero = PhysicalDeviceShaderExpectAssumeFeaturesKHR
+           zero
+
+
+type KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION"
+pattern KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION = 1
+
+
+type KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME = "VK_KHR_shader_expect_assume"
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME"
+pattern KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME = "VK_KHR_shader_expect_assume"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_expect_assume.hs-boot
@@ -0,0 +1,108 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_expect_assume - device extension
+--
+-- == VK_KHR_shader_expect_assume
+--
+-- [__Name String__]
+--     @VK_KHR_shader_expect_assume@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     545
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_get_physical_device_properties2 VK_KHR_get_physical_device_properties2>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_expect_assume.html SPV_KHR_expect_assume>
+--
+-- [__Contact__]
+--
+--     -   Kevin Petit
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_expect_assume] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_expect_assume extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-12-06
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Kevin Petit, Arm
+--
+--     -   Tobias Hector, AMD
+--
+--     -   James Fitzpatrick, Imagination Technologies
+--
+-- == Description
+--
+-- This extension allows the use of the @SPV_KHR_expect_assume@ extension
+-- in SPIR-V shader modules which enables SPIR-V producers to provide
+-- optimization hints to the Vulkan implementation.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderExpectAssumeFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EXPECT_ASSUME_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-ExpectAssumeKHR ExpectAssumeKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-12-06 (Kevin Petit)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderExpectAssumeFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_expect_assume 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_expect_assume  (PhysicalDeviceShaderExpectAssumeFeaturesKHR) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceShaderExpectAssumeFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR
+instance Show PhysicalDeviceShaderExpectAssumeFeaturesKHR
+
+instance FromCStruct PhysicalDeviceShaderExpectAssumeFeaturesKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs b/src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs
@@ -0,0 +1,215 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_float_controls2 - device extension
+--
+-- == VK_KHR_shader_float_controls2
+--
+-- [__Name String__]
+--     @VK_KHR_shader_float_controls2@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     529
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--     and
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls VK_KHR_shader_float_controls>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>
+--
+-- [__Contact__]
+--
+--     -   Graeme Leese
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_float_controls2] @gnl21%0A*Here describe the issue or question you have about the VK_KHR_shader_float_controls2 extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_float_controls2.adoc VK_KHR_shader_float_controls2>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-05-16
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>.
+--
+-- [__Contributors__]
+--
+--     -   Graeme Leese, Broadcom
+--
+-- == Description
+--
+-- This extension enables use of the more expressive fast floating-point
+-- math flags in the SPV_KHR_float_controls2 extension. These flags give
+-- finer- grained control over which optimisations compilers may apply,
+-- potentially speeding up execution while retaining correct results.
+--
+-- The extension also adds control over the fast-math modes to the GLSL
+-- extended instruction set, making these operations more consistent with
+-- SPIR-V and allowing their use in situations where floating-point
+-- conformance is important.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderFloatControls2FeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-FloatControls2 FloatControls2>
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-05-16 (Graeme Leese)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderFloatControls2FeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_float_controls2 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_float_controls2  ( PhysicalDeviceShaderFloatControls2FeaturesKHR(..)
+                                                        , KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION
+                                                        , pattern KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION
+                                                        , KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME
+                                                        , pattern KHR_SHADER_FLOAT_CONTROLS_2_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_FLOAT_CONTROLS_2_FEATURES_KHR))
+-- | VkPhysicalDeviceShaderFloatControls2FeaturesKHR - Structure describing
+-- shader float controls 2 features that can be supported by an
+-- implementation
+--
+-- = Members
+--
+-- This structure describes the following feature:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceShaderFloatControls2FeaturesKHR' 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. 'PhysicalDeviceShaderFloatControls2FeaturesKHR' /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_float_controls2 VK_KHR_shader_float_controls2>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceShaderFloatControls2FeaturesKHR = PhysicalDeviceShaderFloatControls2FeaturesKHR
+  { -- | #features-shaderFloatControls2# @shaderFloatControls2@ specifies whether
+    -- shader modules /can/ declare the @FloatControls2@ capability.
+    shaderFloatControls2 :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceShaderFloatControls2FeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceShaderFloatControls2FeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceShaderFloatControls2FeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderFloatControls2))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR where
+  peekCStruct p = do
+    shaderFloatControls2 <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceShaderFloatControls2FeaturesKHR
+             (bool32ToBool shaderFloatControls2)
+
+instance Storable PhysicalDeviceShaderFloatControls2FeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceShaderFloatControls2FeaturesKHR where
+  zero = PhysicalDeviceShaderFloatControls2FeaturesKHR
+           zero
+
+
+type KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION"
+pattern KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION = 1
+
+
+type KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME = "VK_KHR_shader_float_controls2"
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME"
+pattern KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME = "VK_KHR_shader_float_controls2"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_float_controls2.hs-boot
@@ -0,0 +1,117 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_float_controls2 - device extension
+--
+-- == VK_KHR_shader_float_controls2
+--
+-- [__Name String__]
+--     @VK_KHR_shader_float_controls2@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     529
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--     and
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_float_controls VK_KHR_shader_float_controls>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>
+--
+-- [__Contact__]
+--
+--     -   Graeme Leese
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_float_controls2] @gnl21%0A*Here describe the issue or question you have about the VK_KHR_shader_float_controls2 extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_float_controls2.adoc VK_KHR_shader_float_controls2>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-05-16
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_float_controls2.html SPV_KHR_float_controls2>.
+--
+-- [__Contributors__]
+--
+--     -   Graeme Leese, Broadcom
+--
+-- == Description
+--
+-- This extension enables use of the more expressive fast floating-point
+-- math flags in the SPV_KHR_float_controls2 extension. These flags give
+-- finer- grained control over which optimisations compilers may apply,
+-- potentially speeding up execution while retaining correct results.
+--
+-- The extension also adds control over the fast-math modes to the GLSL
+-- extended instruction set, making these operations more consistent with
+-- SPIR-V and allowing their use in situations where floating-point
+-- conformance is important.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderFloatControls2FeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_FLOAT_CONTROLS_2_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-FloatControls2 FloatControls2>
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-05-16 (Graeme Leese)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderFloatControls2FeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_float_controls2 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_float_controls2  (PhysicalDeviceShaderFloatControls2FeaturesKHR) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceShaderFloatControls2FeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR
+instance Show PhysicalDeviceShaderFloatControls2FeaturesKHR
+
+instance FromCStruct PhysicalDeviceShaderFloatControls2FeaturesKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs b/src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs
@@ -0,0 +1,222 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_maximal_reconvergence - device extension
+--
+-- == VK_KHR_shader_maximal_reconvergence
+--
+-- [__Name String__]
+--     @VK_KHR_shader_maximal_reconvergence@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     435
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>
+--
+-- [__Contact__]
+--
+--     -   Alan Baker
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_maximal_reconvergence] @alan-baker%0A*Here describe the issue or question you have about the VK_KHR_shader_maximal_reconvergence extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-11-12
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   Requires SPIR-V 1.3.
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>
+--
+-- [__Contributors__]
+--
+--     -   Alan Baker, Google
+--
+-- == Description
+--
+-- This extension allows the use of the @SPV_KHR_maximal_reconvergence@
+-- SPIR-V extension in shader modules. @SPV_KHR_maximal_reconvergence@
+-- provides stronger guarantees that diverged subgroups will reconverge.
+-- These guarantees should match shader author intuition about divergence
+-- and reconvergence of invocations based on the structure of the code in
+-- the HLL.
+--
+-- Developers should utilize this extension if they require stronger
+-- guarantees about reconvergence than either the core spec or
+-- SPV_KHR_subgroup_uniform_control_flow. This extension will define the
+-- rules that govern how invocations diverge and reconverge in a way that
+-- should match developer intuition. It allows robust programs to be
+-- written relying on subgroup operations and other tangled instructions.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-MaximallyReconvergesKHR MaximallyReconvergesKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-11-12 (Alan Baker)
+--
+--     -   Internal draft version
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence 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_maximal_reconvergence  ( PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(..)
+                                                              , KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION
+                                                              , pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION
+                                                              , KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME
+                                                              , pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_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_MAXIMAL_RECONVERGENCE_FEATURES_KHR))
+-- | VkPhysicalDeviceShaderMaximalReconvergenceFeaturesKHR - Structure
+-- describing support for shader maximal reconvergence by an implementation
+--
+-- = Members
+--
+-- This structure describes the following feature:
+--
+-- = Description
+--
+-- If the
+-- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT'
+-- 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.
+-- 'Vulkan.Extensions.VK_EXT_private_data.PhysicalDevicePrivateDataFeaturesEXT'
+-- /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_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR = PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+  { -- | #features-shaderMaximalReconvergence# @shaderMaximalReconvergence@
+    -- specifies whether the implementation supports the shader execution mode
+    -- @MaximallyReconvergesKHR@
+    shaderMaximalReconvergence :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderMaximalReconvergence))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where
+  peekCStruct p = do
+    shaderMaximalReconvergence <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+             (bool32ToBool shaderMaximalReconvergence)
+
+instance Storable PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR where
+  zero = PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+           zero
+
+
+type KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION"
+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION = 1
+
+
+type KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME = "VK_KHR_shader_maximal_reconvergence"
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME"
+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME = "VK_KHR_shader_maximal_reconvergence"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_maximal_reconvergence.hs-boot
@@ -0,0 +1,121 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_maximal_reconvergence - device extension
+--
+-- == VK_KHR_shader_maximal_reconvergence
+--
+-- [__Name String__]
+--     @VK_KHR_shader_maximal_reconvergence@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     435
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>
+--
+-- [__Contact__]
+--
+--     -   Alan Baker
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_maximal_reconvergence] @alan-baker%0A*Here describe the issue or question you have about the VK_KHR_shader_maximal_reconvergence extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2021-11-12
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Interactions and External Dependencies__]
+--
+--     -   Requires SPIR-V 1.3.
+--
+--     -   This extension requires
+--         <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_maximal_reconvergence.html SPV_KHR_maximal_reconvergence>
+--
+-- [__Contributors__]
+--
+--     -   Alan Baker, Google
+--
+-- == Description
+--
+-- This extension allows the use of the @SPV_KHR_maximal_reconvergence@
+-- SPIR-V extension in shader modules. @SPV_KHR_maximal_reconvergence@
+-- provides stronger guarantees that diverged subgroups will reconverge.
+-- These guarantees should match shader author intuition about divergence
+-- and reconvergence of invocations based on the structure of the code in
+-- the HLL.
+--
+-- Developers should utilize this extension if they require stronger
+-- guarantees about reconvergence than either the core spec or
+-- SPV_KHR_subgroup_uniform_control_flow. This extension will define the
+-- rules that govern how invocations diverge and reconverge in a way that
+-- should match developer intuition. It allows robust programs to be
+-- written relying on subgroup operations and other tangled instructions.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_MAXIMAL_RECONVERGENCE_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-MaximallyReconvergesKHR MaximallyReconvergesKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2021-11-12 (Alan Baker)
+--
+--     -   Internal draft version
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence 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_maximal_reconvergence  (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+instance Show PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+
+instance FromCStruct PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs b/src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs
@@ -0,0 +1,222 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_quad_control - device extension
+--
+-- == VK_KHR_shader_quad_control
+--
+-- [__Name String__]
+--     @VK_KHR_shader_quad_control@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     236
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--     and
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_vulkan_memory_model VK_KHR_vulkan_memory_model>
+--     and
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_quad_control.html SPV_KHR_quad_control>
+--
+-- [__Contact__]
+--
+--     -   Tobias Hector
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_quad_control] @tobski%0A*Here describe the issue or question you have about the VK_KHR_shader_quad_control extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_quad_control.adoc VK_KHR_shader_quad_control>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-11-01
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Bill Licea-Kane, Qualcomm
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Nicolai Hähnle, AMD
+--
+--     -   Jeff Bolz, NVidia
+--
+--     -   Alan Baker, Google
+--
+--     -   Hans-Kristian Arntzen, Valve
+--
+-- == Description
+--
+-- This extension adds new quad any\/all operations, requires that
+-- derivatives are well-defined in quad-uniform control flow, and adds the
+-- ability to require helper invocations participate in group operations.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderQuadControlFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_QUAD_CONTROL_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-QuadControlKHR QuadControlKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-11-01 (Tobias Hector)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderQuadControlFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_quad_control 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_quad_control  ( PhysicalDeviceShaderQuadControlFeaturesKHR(..)
+                                                     , KHR_SHADER_QUAD_CONTROL_SPEC_VERSION
+                                                     , pattern KHR_SHADER_QUAD_CONTROL_SPEC_VERSION
+                                                     , KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME
+                                                     , pattern KHR_SHADER_QUAD_CONTROL_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_QUAD_CONTROL_FEATURES_KHR))
+-- | VkPhysicalDeviceShaderQuadControlFeaturesKHR - Structure describing
+-- whether quad scopes are supported by the implementation
+--
+-- = Members
+--
+-- This structure describes the following features:
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceShaderQuadControlFeaturesKHR' 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. 'PhysicalDeviceShaderQuadControlFeaturesKHR' /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_quad_control VK_KHR_shader_quad_control>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceShaderQuadControlFeaturesKHR = PhysicalDeviceShaderQuadControlFeaturesKHR
+  { -- | #features-shaderQuadControl# @shaderQuadControl@ indicates whether the
+    -- implementation supports shaders with the @QuadControlKHR@ capability.
+    shaderQuadControl :: Bool }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceShaderQuadControlFeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceShaderQuadControlFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderQuadControlFeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceShaderQuadControlFeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderQuadControl))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (zero))
+    f
+
+instance FromCStruct PhysicalDeviceShaderQuadControlFeaturesKHR where
+  peekCStruct p = do
+    shaderQuadControl <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    pure $ PhysicalDeviceShaderQuadControlFeaturesKHR
+             (bool32ToBool shaderQuadControl)
+
+instance Storable PhysicalDeviceShaderQuadControlFeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceShaderQuadControlFeaturesKHR where
+  zero = PhysicalDeviceShaderQuadControlFeaturesKHR
+           zero
+
+
+type KHR_SHADER_QUAD_CONTROL_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION"
+pattern KHR_SHADER_QUAD_CONTROL_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_SHADER_QUAD_CONTROL_SPEC_VERSION = 1
+
+
+type KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME = "VK_KHR_shader_quad_control"
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME"
+pattern KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME = "VK_KHR_shader_quad_control"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_quad_control.hs-boot
@@ -0,0 +1,125 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_quad_control - device extension
+--
+-- == VK_KHR_shader_quad_control
+--
+-- [__Name String__]
+--     @VK_KHR_shader_quad_control@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     236
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#versions-1.1 Version 1.1>
+--     and
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_vulkan_memory_model VK_KHR_vulkan_memory_model>
+--     and
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_shader_maximal_reconvergence VK_KHR_shader_maximal_reconvergence>
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_quad_control.html SPV_KHR_quad_control>
+--
+-- [__Contact__]
+--
+--     -   Tobias Hector
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_quad_control] @tobski%0A*Here describe the issue or question you have about the VK_KHR_shader_quad_control extension* >
+--
+-- [__Extension Proposal__]
+--     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_KHR_shader_quad_control.adoc VK_KHR_shader_quad_control>
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-11-01
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Tobias Hector, AMD
+--
+--     -   Bill Licea-Kane, Qualcomm
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Jan-Harald Fredriksen, Arm
+--
+--     -   Nicolai Hähnle, AMD
+--
+--     -   Jeff Bolz, NVidia
+--
+--     -   Alan Baker, Google
+--
+--     -   Hans-Kristian Arntzen, Valve
+--
+-- == Description
+--
+-- This extension adds new quad any\/all operations, requires that
+-- derivatives are well-defined in quad-uniform control flow, and adds the
+-- ability to require helper invocations participate in group operations.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderQuadControlFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_QUAD_CONTROL_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_QUAD_CONTROL_FEATURES_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-QuadControlKHR QuadControlKHR>
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-11-01 (Tobias Hector)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderQuadControlFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_quad_control 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_quad_control  (PhysicalDeviceShaderQuadControlFeaturesKHR) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceShaderQuadControlFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderQuadControlFeaturesKHR
+instance Show PhysicalDeviceShaderQuadControlFeaturesKHR
+
+instance FromCStruct PhysicalDeviceShaderQuadControlFeaturesKHR
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs
@@ -0,0 +1,230 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_subgroup_rotate - device extension
+--
+-- == VK_KHR_shader_subgroup_rotate
+--
+-- [__Name String__]
+--     @VK_KHR_shader_subgroup_rotate@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     417
+--
+-- [__Revision__]
+--     2
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     None
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_subgroup_rotate.html SPV_KHR_subgroup_rotate>
+--
+-- [__Contact__]
+--
+--     -   Kevin Petit
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_subgroup_rotate] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_subgroup_rotate extension* >
+--
+-- [__Last Modified Date__]
+--     2024-01-29
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Kévin Petit, Arm Ltd.
+--
+--     -   Tobias Hector, AMD
+--
+--     -   John Leech, Khronos
+--
+--     -   Matthew Netsch, Qualcomm
+--
+--     -   Jan-Harald Fredriksen, Arm Ltd.
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Tom Olson, Arm Ltd.
+--
+--     -   Spencer Fricke, LunarG Inc.
+--
+-- This extension adds support for the subgroup rotate instruction defined
+-- in SPV_KHR_subgroup_rotate.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits':
+--
+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'
+--
+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-GroupNonUniformRotateKHR GroupNonUniformRotateKHR>
+--
+-- == Version History
+--
+-- -   Revision 2, 2024-01-29 (Kévin Petit)
+--
+--     -   Add
+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'
+--         and
+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'
+--
+-- -   Revision 1, 2023-06-20 (Kévin Petit)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate 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_subgroup_rotate  ( PhysicalDeviceShaderSubgroupRotateFeaturesKHR(..)
+                                                        , KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION
+                                                        , pattern KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION
+                                                        , KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME
+                                                        , pattern KHR_SHADER_SUBGROUP_ROTATE_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_SUBGROUP_ROTATE_FEATURES_KHR))
+-- | VkPhysicalDeviceShaderSubgroupRotateFeaturesKHR - Structure describing
+-- whether subgroup rotation is enabled
+--
+-- = Description
+--
+-- If the 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR' 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. 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR' /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_subgroup_rotate VK_KHR_shader_subgroup_rotate>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDeviceShaderSubgroupRotateFeaturesKHR = PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+  { -- | #features-shaderSubgroupRotate# @shaderSubgroupRotate@ specifies whether
+    -- shader modules /can/ declare the @GroupNonUniformRotateKHR@ capability.
+    shaderSubgroupRotate :: Bool
+  , -- | #features-shaderSubgroupRotateClustered# @shaderSubgroupRotateClustered@
+    -- specifies whether shader modules /can/ use the @ClusterSize@ operand to
+    -- @OpGroupNonUniformRotateKHR@.
+    shaderSubgroupRotateClustered :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDeviceShaderSubgroupRotateFeaturesKHR)
+#endif
+deriving instance Show PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderSubgroupRotateFeaturesKHR where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDeviceShaderSubgroupRotateFeaturesKHR{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (shaderSubgroupRotate))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (shaderSubgroupRotateClustered))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR)
+    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 PhysicalDeviceShaderSubgroupRotateFeaturesKHR where
+  peekCStruct p = do
+    shaderSubgroupRotate <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    shaderSubgroupRotateClustered <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    pure $ PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+             (bool32ToBool shaderSubgroupRotate)
+             (bool32ToBool shaderSubgroupRotateClustered)
+
+instance Storable PhysicalDeviceShaderSubgroupRotateFeaturesKHR where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDeviceShaderSubgroupRotateFeaturesKHR where
+  zero = PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+           zero
+           zero
+
+
+type KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION = 2
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION"
+pattern KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION :: forall a . Integral a => a
+pattern KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION = 2
+
+
+type KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME = "VK_KHR_shader_subgroup_rotate"
+
+-- No documentation found for TopLevel "VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME"
+pattern KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME = "VK_KHR_shader_subgroup_rotate"
+
diff --git a/src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs-boot b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_KHR_shader_subgroup_rotate.hs-boot
@@ -0,0 +1,127 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_KHR_shader_subgroup_rotate - device extension
+--
+-- == VK_KHR_shader_subgroup_rotate
+--
+-- [__Name String__]
+--     @VK_KHR_shader_subgroup_rotate@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     417
+--
+-- [__Revision__]
+--     2
+--
+-- [__Ratification Status__]
+--     Ratified
+--
+-- [__Extension and Version Dependencies__]
+--     None
+--
+-- [__SPIR-V Dependencies__]
+--
+--     -   <https://htmlpreview.github.io/?https://github.com/KhronosGroup/SPIRV-Registry/blob/master/extensions/KHR/SPV_KHR_subgroup_rotate.html SPV_KHR_subgroup_rotate>
+--
+-- [__Contact__]
+--
+--     -   Kevin Petit
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_KHR_shader_subgroup_rotate] @kpet%0A*Here describe the issue or question you have about the VK_KHR_shader_subgroup_rotate extension* >
+--
+-- [__Last Modified Date__]
+--     2024-01-29
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Kévin Petit, Arm Ltd.
+--
+--     -   Tobias Hector, AMD
+--
+--     -   John Leech, Khronos
+--
+--     -   Matthew Netsch, Qualcomm
+--
+--     -   Jan-Harald Fredriksen, Arm Ltd.
+--
+--     -   Graeme Leese, Broadcom
+--
+--     -   Tom Olson, Arm Ltd.
+--
+--     -   Spencer Fricke, LunarG Inc.
+--
+-- This extension adds support for the subgroup rotate instruction defined
+-- in SPV_KHR_subgroup_rotate.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'
+--
+-- == New Enum Constants
+--
+-- -   'KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME'
+--
+-- -   'KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SUBGROUP_ROTATE_FEATURES_KHR'
+--
+-- -   Extending
+--     'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SubgroupFeatureFlagBits':
+--
+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'
+--
+--     -   'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'
+--
+-- == New SPIR-V Capabilities
+--
+-- -   <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#spirvenv-capabilities-table-GroupNonUniformRotateKHR GroupNonUniformRotateKHR>
+--
+-- == Version History
+--
+-- -   Revision 2, 2024-01-29 (Kévin Petit)
+--
+--     -   Add
+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_BIT_KHR'
+--         and
+--         'Vulkan.Core11.Enums.SubgroupFeatureFlagBits.SUBGROUP_FEATURE_ROTATE_CLUSTERED_BIT_KHR'
+--
+-- -   Revision 1, 2023-06-20 (Kévin Petit)
+--
+--     -   Initial revision
+--
+-- == See Also
+--
+-- 'PhysicalDeviceShaderSubgroupRotateFeaturesKHR'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_KHR_shader_subgroup_rotate 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_subgroup_rotate  (PhysicalDeviceShaderSubgroupRotateFeaturesKHR) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+
+instance ToCStruct PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+instance Show PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+
+instance FromCStruct PhysicalDeviceShaderSubgroupRotateFeaturesKHR
+
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
@@ -332,6 +332,35 @@
 --
 --     -   'Vulkan.Core10.Enums.Result.ERROR_OUT_OF_DEVICE_MEMORY'
 --
+-- Some Vulkan functions /may/ call the @SendMessage@ system API when
+-- interacting with a 'Vulkan.Extensions.Handles.SurfaceKHR' through a
+-- 'Vulkan.Extensions.Handles.SwapchainKHR'. In a multithreaded
+-- environment, calling @SendMessage@ from a thread that is not the thread
+-- associated with @pCreateInfo@::@hwnd@ will block until the application
+-- has processed the window message. Thus, applications /should/ either
+-- call these Vulkan functions on the message pump thread, or make sure
+-- their message pump is actively running. Failing to do so /may/ result in
+-- deadlocks.
+--
+-- The functions subject to this requirement are:
+--
+-- -   'Vulkan.Extensions.VK_KHR_swapchain.createSwapchainKHR'
+--
+-- -   'Vulkan.Extensions.VK_KHR_swapchain.destroySwapchainKHR'
+--
+-- -   'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImageKHR' and
+--     'Vulkan.Extensions.VK_KHR_swapchain.acquireNextImage2KHR'
+--
+-- -   'Vulkan.Extensions.VK_KHR_swapchain.queuePresentKHR'
+--
+-- -   'Vulkan.Extensions.VK_EXT_swapchain_maintenance1.releaseSwapchainImagesEXT'
+--
+-- -   'Vulkan.Extensions.VK_EXT_full_screen_exclusive.acquireFullScreenExclusiveModeEXT'
+--
+-- -   'Vulkan.Extensions.VK_EXT_full_screen_exclusive.releaseFullScreenExclusiveModeEXT'
+--
+-- -   'Vulkan.Extensions.VK_EXT_hdr_metadata.setHdrMetadataEXT'
+--
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_win32_surface VK_KHR_win32_surface>,
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
@@ -608,29 +608,14 @@
   , -- | @KSize@ is the number of columns in matrix A and rows in matrix B.
     kSize :: Word32
   , -- | @AType@ is the component type of matrix A, of type 'ComponentTypeNV'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesNV-AType-parameter# @AType@ /must/ be
-    -- a valid 'ComponentTypeNV' value
     aType :: ComponentTypeNV
   , -- | @BType@ is the component type of matrix B, of type 'ComponentTypeNV'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesNV-BType-parameter# @BType@ /must/ be
-    -- a valid 'ComponentTypeNV' value
     bType :: ComponentTypeNV
   , -- | @CType@ is the component type of matrix C, of type 'ComponentTypeNV'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesNV-CType-parameter# @CType@ /must/ be
-    -- a valid 'ComponentTypeNV' value
     cType :: ComponentTypeNV
   , -- | @DType@ is the component type of matrix D, of type 'ComponentTypeNV'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesNV-DType-parameter# @DType@ /must/ be
-    -- a valid 'ComponentTypeNV' value
     dType :: ComponentTypeNV
   , -- | @scope@ is the scope of all the matrix types, of type 'ScopeNV'.
-    --
-    -- #VUID-VkCooperativeMatrixPropertiesNV-scope-parameter# @scope@ /must/ be
-    -- a valid 'ScopeNV' value
     scope :: ScopeNV
   }
   deriving (Typeable, Eq)
diff --git a/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs b/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs
--- a/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs
+++ b/src/Vulkan/Extensions/VK_NV_copy_memory_indirect.hs
@@ -301,8 +301,8 @@
 -- region to an image region in the destination image. If the destination
 -- image is of type 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_3D', the
 -- starting slice and number of slices to copy are specified in
--- @pImageSubresources@::@baseArrayLayer@ and
--- @pImageSubresources@::@layerCount@ respectively. The copy /must/ be
+-- @pImageSubresources->baseArrayLayer@ and
+-- @pImageSubresources->layerCount@ respectively. The copy /must/ be
 -- performed on a queue that supports indirect copy operations, see
 -- 'PhysicalDeviceCopyMemoryIndirectPropertiesNV'.
 --
diff --git a/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs b/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs
--- a/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs
+++ b/src/Vulkan/Extensions/VK_NV_cuda_kernel_launch.hs
@@ -924,49 +924,8 @@
 -- and /may/ be altered or freed after 'cmdCudaLaunchKernelNV' has
 -- returned.
 --
--- == Valid Usage
---
--- -   #VUID-VkCudaLaunchInfoNV-gridDimX-09406# @gridDimX@ /must/ be less
---     than or equal to
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]
---
--- -   #VUID-VkCudaLaunchInfoNV-gridDimY-09407# @gridDimY@ /must/ be less
---     than or equal to
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]
---
--- -   #VUID-VkCudaLaunchInfoNV-gridDimZ-09408# @gridDimZ@ /must/ be less
---     than or equal to
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]
---
--- -   #VUID-VkCudaLaunchInfoNV-paramCount-09409# @paramCount@ /must/ be
---     the total amount of parameters listed in the @pParams@ table.
---
--- -   #VUID-VkCudaLaunchInfoNV-pParams-09410# @pParams@ /must/ be a
---     pointer to a table of @paramCount@ parameters, corresponding to the
---     arguments of @function@.
---
--- -   #VUID-VkCudaLaunchInfoNV-extraCount-09411# @extraCount@ must be 0
---
--- -   #VUID-VkCudaLaunchInfoNV-pExtras-09412# @pExtras@ must be NULL
---
 -- == Valid Usage (Implicit)
 --
--- -   #VUID-VkCudaLaunchInfoNV-sType-sType# @sType@ /must/ be
---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV'
---
--- -   #VUID-VkCudaLaunchInfoNV-pNext-pNext# @pNext@ /must/ be @NULL@
---
--- -   #VUID-VkCudaLaunchInfoNV-function-parameter# @function@ /must/ be a
---     valid 'Vulkan.Extensions.Handles.CudaFunctionNV' handle
---
--- -   #VUID-VkCudaLaunchInfoNV-pParams-parameter# If @paramCount@ is not
---     @0@, and @pParams@ is not @NULL@, @pParams@ /must/ be a valid
---     pointer to an array of @paramCount@ bytes
---
--- -   #VUID-VkCudaLaunchInfoNV-pExtras-parameter# If @extraCount@ is not
---     @0@, and @pExtras@ is not @NULL@, @pExtras@ /must/ be a valid
---     pointer to an array of @extraCount@ bytes
---
 -- = See Also
 --
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_NV_cuda_kernel_launch VK_NV_cuda_kernel_launch>,
@@ -975,18 +934,33 @@
 -- 'cmdCudaLaunchKernelNV'
 data CudaLaunchInfoNV = CudaLaunchInfoNV
   { -- | @function@ is the CUDA-Driver handle to the function being launched.
+    --
+    -- #VUID-VkCudaLaunchInfoNV-function-parameter# @function@ /must/ be a
+    -- valid 'Vulkan.Extensions.Handles.CudaFunctionNV' handle
     function :: CudaFunctionNV
   , -- | @gridDimX@ is the number of local workgroups to dispatch in the X
     -- dimension. It must be less than or equal to
     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]
+    --
+    -- #VUID-VkCudaLaunchInfoNV-gridDimX-09406# @gridDimX@ /must/ be less than
+    -- or equal to
+    -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[0]
     gridDimX :: Word32
   , -- | @gridDimY@ is the number of local workgroups to dispatch in the Y
     -- dimension. It must be less than or equal to
     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]
+    --
+    -- #VUID-VkCudaLaunchInfoNV-gridDimY-09407# @gridDimY@ /must/ be less than
+    -- or equal to
+    -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[1]
     gridDimY :: Word32
   , -- | @gridDimZ@ is the number of local workgroups to dispatch in the Z
     -- dimension. It must be less than or equal to
     -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]
+    --
+    -- #VUID-VkCudaLaunchInfoNV-gridDimZ-09408# @gridDimZ@ /must/ be less than
+    -- or equal to
+    -- 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxComputeWorkGroupCount@[2]
     gridDimZ :: Word32
   , -- | @blockDimX@ is block size in the X dimension.
     blockDimX :: Word32
@@ -997,14 +971,16 @@
   , -- | @sharedMemBytes@ is the dynamic shared-memory size per thread block in
     -- bytes.
     sharedMemBytes :: Word32
-  , -- | @paramCount@ is the length of the @pParams@ table.
-    paramCount :: Word64
   , -- | @pParams@ is a pointer to an array of @paramCount@ pointers,
     -- corresponding to the arguments of @function@.
+    --
+    -- #VUID-VkCudaLaunchInfoNV-pParams-09410# @pParams@ /must/ be a pointer to
+    -- a table of @paramCount@ parameters, corresponding to the arguments of
+    -- @function@.
     params :: Vector (Ptr ())
-  , -- | @extraCount@ is reserved for future use.
-    extraCount :: Word64
   , -- | @pExtras@ is reserved for future use.
+    --
+    -- #VUID-VkCudaLaunchInfoNV-pExtras-09412# @pExtras@ must be NULL
     extras :: Vector (Ptr ())
   }
   deriving (Typeable)
@@ -1026,25 +1002,11 @@
     lift $ poke ((p `plusPtr` 40 :: Ptr Word32)) (blockDimY)
     lift $ poke ((p `plusPtr` 44 :: Ptr Word32)) (blockDimZ)
     lift $ poke ((p `plusPtr` 48 :: Ptr Word32)) (sharedMemBytes)
-    let pParamsLength = Data.Vector.length $ (params)
-    paramCount'' <- lift $ if (paramCount) == 0
-      then pure $ fromIntegral pParamsLength
-      else do
-        unless (fromIntegral pParamsLength == (paramCount) || pParamsLength == 0) $
-          throwIO $ IOError Nothing InvalidArgument "" "pParams must be empty or have 'paramCount' elements" Nothing Nothing
-        pure (paramCount)
-    lift $ poke ((p `plusPtr` 56 :: Ptr CSize)) (fromIntegral (paramCount''))
+    lift $ poke ((p `plusPtr` 56 :: Ptr CSize)) (fromIntegral ((Data.Vector.length $ (params))))
     pPParams' <- ContT $ allocaBytes @(Ptr ()) ((Data.Vector.length (params)) * 8)
     lift $ Data.Vector.imapM_ (\i e -> poke (pPParams' `plusPtr` (8 * (i)) :: Ptr (Ptr ())) (e)) (params)
     lift $ poke ((p `plusPtr` 64 :: Ptr (Ptr (Ptr ())))) (pPParams')
-    let pExtrasLength = Data.Vector.length $ (extras)
-    extraCount'' <- lift $ if (extraCount) == 0
-      then pure $ fromIntegral pExtrasLength
-      else do
-        unless (fromIntegral pExtrasLength == (extraCount) || pExtrasLength == 0) $
-          throwIO $ IOError Nothing InvalidArgument "" "pExtras must be empty or have 'extraCount' elements" Nothing Nothing
-        pure (extraCount)
-    lift $ poke ((p `plusPtr` 72 :: Ptr CSize)) (fromIntegral (extraCount''))
+    lift $ poke ((p `plusPtr` 72 :: Ptr CSize)) (fromIntegral ((Data.Vector.length $ (extras))))
     pPExtras' <- ContT $ allocaBytes @(Ptr ()) ((Data.Vector.length (extras)) * 8)
     lift $ Data.Vector.imapM_ (\i e -> poke (pPExtras' `plusPtr` (8 * (i)) :: Ptr (Ptr ())) (e)) (extras)
     lift $ poke ((p `plusPtr` 80 :: Ptr (Ptr (Ptr ())))) (pPExtras')
@@ -1075,13 +1037,11 @@
     blockDimZ <- peek @Word32 ((p `plusPtr` 44 :: Ptr Word32))
     sharedMemBytes <- peek @Word32 ((p `plusPtr` 48 :: Ptr Word32))
     paramCount <- peek @CSize ((p `plusPtr` 56 :: Ptr CSize))
-    let paramCount' = coerce @CSize @Word64 paramCount
     pParams <- peek @(Ptr (Ptr ())) ((p `plusPtr` 64 :: Ptr (Ptr (Ptr ()))))
-    pParams' <- generateM (fromIntegral paramCount') (\i -> peek @(Ptr ()) ((pParams `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))
+    pParams' <- generateM (fromIntegral (coerce @CSize @Word64 paramCount)) (\i -> peek @(Ptr ()) ((pParams `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))
     extraCount <- peek @CSize ((p `plusPtr` 72 :: Ptr CSize))
-    let extraCount' = coerce @CSize @Word64 extraCount
     pExtras <- peek @(Ptr (Ptr ())) ((p `plusPtr` 80 :: Ptr (Ptr (Ptr ()))))
-    pExtras' <- generateM (fromIntegral extraCount') (\i -> peek @(Ptr ()) ((pExtras `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))
+    pExtras' <- generateM (fromIntegral (coerce @CSize @Word64 extraCount)) (\i -> peek @(Ptr ()) ((pExtras `advancePtrBytes` (8 * (i)) :: Ptr (Ptr ()))))
     pure $ CudaLaunchInfoNV
              function
              gridDimX
@@ -1091,9 +1051,7 @@
              blockDimY
              blockDimZ
              sharedMemBytes
-             paramCount'
              pParams'
-             extraCount'
              pExtras'
 
 instance Zero CudaLaunchInfoNV where
@@ -1106,9 +1064,7 @@
            zero
            zero
            zero
-           zero
            mempty
-           zero
            mempty
 
 
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
@@ -3165,8 +3165,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3178,8 +3179,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -3193,8 +3194,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -3215,8 +3217,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3228,8 +3231,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -3243,8 +3246,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -3258,15 +3262,16 @@
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-07849# If the bound
 --     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3946,7 +3951,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -3959,7 +3964,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -3972,7 +3977,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -3985,7 +3990,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -4248,6 +4253,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-09548# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-09549# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdExecuteGeneratedCommandsNV-None-04007# All vertex input
 --     bindings accessed via vertex input variables declared in the vertex
 --     shader entry point’s interface /must/ have either valid or
@@ -4739,7 +4763,7 @@
 --     feature /must/ be enabled
 --
 -- -   #VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pInfo-09074# If
---     @pInfo@::@pipelineBindPoint@ is of type
+--     @pInfo->pipelineBindPoint@ is of type
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE',
 --     then the
 --     <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#features-deviceGeneratedCompute ::deviceGeneratedCompute>
@@ -6572,7 +6596,7 @@
 --     'Vulkan.Core10.Enums.PipelineBindPoint.PIPELINE_BIND_POINT_COMPUTE',
 --     and the @indirectCommandsLayout@ contains a
 --     'INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV' token, then the
---     @pipeline@ /must/ be @NULL@
+--     @pipeline@ /must/ be 'Vulkan.Core10.APIConstants.NULL_HANDLE'
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs b/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs
--- a/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs
+++ b/src/Vulkan/Extensions/VK_NV_device_generated_commands_compute.hs
@@ -343,7 +343,7 @@
 --
 -- = Description
 --
--- If @pCreateInfo@::@pNext@ chain includes a pointer to a
+-- If @pCreateInfo->pNext@ chain includes a pointer to a
 -- 'ComputePipelineIndirectBufferInfoNV' structure, then the contents of
 -- that structure are ignored.
 --
@@ -355,7 +355,7 @@
 --     feature /must/ be enabled
 --
 -- -   #VUID-vkGetPipelineIndirectMemoryRequirementsNV-pCreateInfo-09083#
---     @pCreateInfo@::@flags@ /must/ include
+--     @pCreateInfo->flags@ /must/ include
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV'
 --
 -- == Valid Usage (Implicit)
diff --git a/src/Vulkan/Extensions/VK_NV_displacement_micromap.hs b/src/Vulkan/Extensions/VK_NV_displacement_micromap.hs
--- a/src/Vulkan/Extensions/VK_NV_displacement_micromap.hs
+++ b/src/Vulkan/Extensions/VK_NV_displacement_micromap.hs
@@ -385,6 +385,14 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-09501#
+--     @displacementBiasAndScaleFormat@ /must/ not be
+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
+--
+-- -   #VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-09502#
+--     @displacementVectorFormat@ /must/ not be
+--     'Vulkan.Core10.Enums.Format.FORMAT_UNDEFINED'
+--
 -- -   #VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-pUsageCounts-07992#
 --     Only one of @pUsageCounts@ or @ppUsageCounts@ /can/ be a valid
 --     pointer, the other /must/ be @NULL@
diff --git a/src/Vulkan/Extensions/VK_NV_low_latency2.hs b/src/Vulkan/Extensions/VK_NV_low_latency2.hs
--- a/src/Vulkan/Extensions/VK_NV_low_latency2.hs
+++ b/src/Vulkan/Extensions/VK_NV_low_latency2.hs
@@ -371,14 +371,12 @@
 --
 -- 'latencySleepNV' returns immediately. Applications /should/ use
 -- 'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.waitSemaphores'
--- with
--- @pSleepInfo@::'Vulkan.Core12.Promoted_From_VK_KHR_timeline_semaphore.signalSemaphore'
--- to delay host CPU work. CPU work refers to application work done before
--- presenting which includes but is not limited to: input sampling,
--- simulation, command buffer recording, command buffer submission, and
--- present submission. It is recommended to call this function before input
--- sampling. When using this function, it /should/ be called exactly once
--- between presents.
+-- with @pSleepInfo->signalSemaphore@ to delay host CPU work. CPU work
+-- refers to application work done before presenting which includes but is
+-- not limited to: input sampling, simulation, command buffer recording,
+-- command buffer submission, and present submission. It is recommended to
+-- call this function before input sampling. When using this function, it
+-- /should/ be called exactly once between presents.
 --
 -- == Return Codes
 --
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
@@ -2766,8 +2766,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2779,8 +2780,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2794,8 +2795,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2816,8 +2818,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -2829,8 +2832,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -2844,8 +2847,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -2859,15 +2863,16 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-07849# If the bound graphics
 --     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksNV-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -3546,7 +3551,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -3559,7 +3564,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -3572,7 +3577,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -3585,7 +3590,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -3845,6 +3850,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-09548# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMeshTasksNV-None-09549# If the current render pass
+--     was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawMeshTasksNV-stage-06480# The bound graphics pipeline
 --     /must/ not have been created with the
 --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
@@ -6404,8 +6428,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6417,8 +6442,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6432,8 +6457,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6454,8 +6480,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -6467,8 +6494,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -6482,8 +6509,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -6497,15 +6525,16 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-07849# If the bound graphics
 --     pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -7185,7 +7214,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -7198,7 +7227,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -7211,7 +7240,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -7224,7 +7253,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -7487,6 +7516,25 @@
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
 --
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-09548# If the current render
+--     pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectNV-None-09549# If the current render
+--     pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
+--
 -- -   #VUID-vkCmdDrawMeshTasksIndirectNV-stage-06480# The bound graphics
 --     pipeline /must/ not have been created with the
 --     'Vulkan.Core10.Pipeline.PipelineShaderStageCreateInfo'::@stage@
@@ -10104,8 +10152,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08666# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -10117,8 +10166,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08667# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -10132,8 +10181,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08668# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -10154,8 +10204,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08669# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -10167,8 +10218,8 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08670# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_VERTEX_BIT'
 --     stage, and the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
@@ -10182,8 +10233,9 @@
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08671# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object that outputs line primitives is bound to the
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object that outputs line primitives is
+--     bound to the
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_TESSELLATION_EVALUATION_BIT'
 --     or
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_GEOMETRY_BIT'
@@ -10197,15 +10249,16 @@
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07849# If the bound
 --     graphics pipeline state was created with the
---     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_EXT'
+--     'Vulkan.Core10.Enums.DynamicState.DYNAMIC_STATE_LINE_STIPPLE_KHR'
 --     dynamic state enabled then
---     'Vulkan.Extensions.VK_EXT_line_rasterization.cmdSetLineStippleEXT'
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.cmdSetLineStippleKHR'
 --     /must/ have been called in the current command buffer prior to this
 --     drawing command
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08672# If the
---     @VK_EXT_line_rasterization@ extension is enabled, and a shader
---     object is bound to any graphics stage, and the most recent call to
+--     @VK_KHR_line_rasterization@ or @VK_EXT_line_rasterization@ extension
+--     is enabled, and a shader object is bound to any graphics stage, and
+--     the most recent call to
 --     'Vulkan.Core13.Promoted_From_VK_EXT_extended_dynamic_state2.cmdSetRasterizerDiscardEnable'
 --     in the current command buffer set @rasterizerDiscardEnable@ to
 --     'Vulkan.Core10.FundamentalTypes.FALSE', and the most recent call to
@@ -10885,7 +10938,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled
@@ -10898,7 +10951,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_BRESENHAM_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledBresenhamLines stippledBresenhamLines>
 --     feature /must/ be enabled
@@ -10911,7 +10964,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledSmoothLines stippledSmoothLines>
 --     feature /must/ be enabled
@@ -10924,7 +10977,7 @@
 --     dynamic states enabled, and if the current @stippledLineEnable@
 --     state is 'Vulkan.Core10.FundamentalTypes.TRUE' and the current
 --     @lineRasterizationMode@ state is
---     'Vulkan.Extensions.VK_EXT_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_EXT',
+--     'Vulkan.Extensions.VK_KHR_line_rasterization.LINE_RASTERIZATION_MODE_DEFAULT_KHR',
 --     then the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-stippledRectangularLines stippledRectangularLines>
 --     feature /must/ be enabled and
@@ -11186,6 +11239,25 @@
 --     in the @Fragment@ @Execution@ @Model@ executed by this command
 --     /must/ be less than
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-maxFragmentDualSrcAttachments maxFragmentDualSrcAttachments>
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09548# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, the value
+--     of each element of
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingAttachmentLocationInfoKHR'::@pColorAttachmentLocations@
+--     set by
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.cmdSetRenderingAttachmentLocationsKHR'
+--     /must/ match the value set for the corresponding element in the
+--     currently bound pipeline
+--
+-- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09549# If the current
+--     render pass was begun with
+--     'Vulkan.Core13.Promoted_From_VK_KHR_dynamic_rendering.cmdBeginRendering',
+--     and there is no shader object bound to any graphics stage, input
+--     attachment index mappings in the currently bound pipeline /must/
+--     match those set for the current render pass instance via
+--     'Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read.RenderingInputAttachmentIndexInfoKHR'
 --
 -- -   #VUID-vkCmdDrawMeshTasksIndirectCountNV-stage-06480# The bound
 --     graphics pipeline /must/ not have been created with the
diff --git a/src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs b/src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs
@@ -0,0 +1,242 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_NV_per_stage_descriptor_set - device extension
+--
+-- == VK_NV_per_stage_descriptor_set
+--
+-- [__Name String__]
+--     @VK_NV_per_stage_descriptor_set@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     517
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Not ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_per_stage_descriptor_set] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_NV_per_stage_descriptor_set extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-10-16
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Daniel Story, Nintendo
+--
+-- == Description
+--
+-- This extension introduces a new descriptor set layout creation flag that
+-- allows bindings in a descriptor set to be scoped to each shader stage.
+-- This means that shaders bound at the same time /may/ use completely
+-- different descriptor set layouts without any restrictions on
+-- compatibility, and that the descriptor limits that would otherwise apply
+-- to the union of all stages together instead apply to each stage
+-- individually. It also means that descriptors shared by multiple stages
+-- /must/ be bound to each stage or set of stages that use a unique
+-- descriptor set layout using their specific per stage descriptor set
+-- layout(s).
+--
+-- This extension also allows each of the new descriptor binding functions
+-- from VK_KHR_maintenance6 to have their
+-- 'Vulkan.Core10.Handles.PipelineLayout' member be optionally set to
+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE', in which case the pipeline
+-- layout information is taken from a
+-- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure in the
+-- @pNext@ chain. This enables descriptors to be directly bound using
+-- descriptor set layouts without applications needing to create and manage
+-- 'Vulkan.Core10.Handles.PipelineLayout' objects at command recording
+-- time.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDevicePerStageDescriptorSetFeaturesNV'
+--
+-- == New Enum Constants
+--
+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME'
+--
+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV'
+--
+-- == Issues
+--
+-- None
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-10-16 (Piers Daniell)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDevicePerStageDescriptorSetFeaturesNV'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_per_stage_descriptor_set Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_NV_per_stage_descriptor_set  ( PhysicalDevicePerStageDescriptorSetFeaturesNV(..)
+                                                         , NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION
+                                                         , pattern NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION
+                                                         , NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME
+                                                         , pattern NV_PER_STAGE_DESCRIPTOR_SET_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_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV))
+-- | VkPhysicalDevicePerStageDescriptorSetFeaturesNV - Structure describing
+-- feature to allow descriptor set layout bindings to be per-stage
+--
+-- = Members
+--
+-- This structure describes the following feature:
+--
+-- = Description
+--
+-- If the 'PhysicalDevicePerStageDescriptorSetFeaturesNV' 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. 'PhysicalDevicePerStageDescriptorSetFeaturesNV' /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_NV_per_stage_descriptor_set VK_NV_per_stage_descriptor_set>,
+-- 'Vulkan.Core10.FundamentalTypes.Bool32',
+-- 'Vulkan.Core10.Enums.StructureType.StructureType'
+data PhysicalDevicePerStageDescriptorSetFeaturesNV = PhysicalDevicePerStageDescriptorSetFeaturesNV
+  { -- | #features-perStageDescriptorSet# @perStageDescriptorSet@ indicates that
+    -- the implementation allows the
+    -- 'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV'
+    -- descriptor set layout creation flag to be used so the bindings are
+    -- specified per-stage rather than across all stages.
+    perStageDescriptorSet :: Bool
+  , -- | #features-dynamicPipelineLayout# @dynamicPipelineLayout@ indicates the
+    -- implementation allows the @layout@ member of
+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorSetsInfoKHR',
+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.PushConstantsInfoKHR',
+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetInfoKHR',
+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.PushDescriptorSetWithTemplateInfoKHR',
+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.SetDescriptorBufferOffsetsInfoEXT'
+    -- and
+    -- 'Vulkan.Extensions.VK_KHR_maintenance6.BindDescriptorBufferEmbeddedSamplersInfoEXT'
+    -- to be 'Vulkan.Core10.APIConstants.NULL_HANDLE' and
+    -- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' /can/ be chained
+    -- off those structures\' @pNext@ instead.
+    dynamicPipelineLayout :: Bool
+  }
+  deriving (Typeable, Eq)
+#if defined(GENERIC_INSTANCES)
+deriving instance Generic (PhysicalDevicePerStageDescriptorSetFeaturesNV)
+#endif
+deriving instance Show PhysicalDevicePerStageDescriptorSetFeaturesNV
+
+instance ToCStruct PhysicalDevicePerStageDescriptorSetFeaturesNV where
+  withCStruct x f = allocaBytes 24 $ \p -> pokeCStruct p x (f p)
+  pokeCStruct p PhysicalDevicePerStageDescriptorSetFeaturesNV{..} f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV)
+    poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
+    poke ((p `plusPtr` 16 :: Ptr Bool32)) (boolToBool32 (perStageDescriptorSet))
+    poke ((p `plusPtr` 20 :: Ptr Bool32)) (boolToBool32 (dynamicPipelineLayout))
+    f
+  cStructSize = 24
+  cStructAlignment = 8
+  pokeZeroCStruct p f = do
+    poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV)
+    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 PhysicalDevicePerStageDescriptorSetFeaturesNV where
+  peekCStruct p = do
+    perStageDescriptorSet <- peek @Bool32 ((p `plusPtr` 16 :: Ptr Bool32))
+    dynamicPipelineLayout <- peek @Bool32 ((p `plusPtr` 20 :: Ptr Bool32))
+    pure $ PhysicalDevicePerStageDescriptorSetFeaturesNV
+             (bool32ToBool perStageDescriptorSet)
+             (bool32ToBool dynamicPipelineLayout)
+
+instance Storable PhysicalDevicePerStageDescriptorSetFeaturesNV where
+  sizeOf ~_ = 24
+  alignment ~_ = 8
+  peek = peekCStruct
+  poke ptr poked = pokeCStruct ptr poked (pure ())
+
+instance Zero PhysicalDevicePerStageDescriptorSetFeaturesNV where
+  zero = PhysicalDevicePerStageDescriptorSetFeaturesNV
+           zero
+           zero
+
+
+type NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION = 1
+
+-- No documentation found for TopLevel "VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION"
+pattern NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION :: forall a . Integral a => a
+pattern NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION = 1
+
+
+type NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME = "VK_NV_per_stage_descriptor_set"
+
+-- No documentation found for TopLevel "VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME"
+pattern NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME :: forall a . (Eq a, IsString a) => a
+pattern NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME = "VK_NV_per_stage_descriptor_set"
+
diff --git a/src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs-boot b/src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs-boot
new file mode 100644
--- /dev/null
+++ b/src/Vulkan/Extensions/VK_NV_per_stage_descriptor_set.hs-boot
@@ -0,0 +1,123 @@
+{-# language CPP #-}
+-- | = Name
+--
+-- VK_NV_per_stage_descriptor_set - device extension
+--
+-- == VK_NV_per_stage_descriptor_set
+--
+-- [__Name String__]
+--     @VK_NV_per_stage_descriptor_set@
+--
+-- [__Extension Type__]
+--     Device extension
+--
+-- [__Registered Extension Number__]
+--     517
+--
+-- [__Revision__]
+--     1
+--
+-- [__Ratification Status__]
+--     Not ratified
+--
+-- [__Extension and Version Dependencies__]
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_maintenance6 VK_KHR_maintenance6>
+--
+-- [__Contact__]
+--
+--     -   Piers Daniell
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_NV_per_stage_descriptor_set] @pdaniell-nv%0A*Here describe the issue or question you have about the VK_NV_per_stage_descriptor_set extension* >
+--
+-- == Other Extension Metadata
+--
+-- [__Last Modified Date__]
+--     2023-10-16
+--
+-- [__IP Status__]
+--     No known IP claims.
+--
+-- [__Contributors__]
+--
+--     -   Daniel Story, Nintendo
+--
+-- == Description
+--
+-- This extension introduces a new descriptor set layout creation flag that
+-- allows bindings in a descriptor set to be scoped to each shader stage.
+-- This means that shaders bound at the same time /may/ use completely
+-- different descriptor set layouts without any restrictions on
+-- compatibility, and that the descriptor limits that would otherwise apply
+-- to the union of all stages together instead apply to each stage
+-- individually. It also means that descriptors shared by multiple stages
+-- /must/ be bound to each stage or set of stages that use a unique
+-- descriptor set layout using their specific per stage descriptor set
+-- layout(s).
+--
+-- This extension also allows each of the new descriptor binding functions
+-- from VK_KHR_maintenance6 to have their
+-- 'Vulkan.Core10.Handles.PipelineLayout' member be optionally set to
+-- 'Vulkan.Core10.APIConstants.NULL_HANDLE', in which case the pipeline
+-- layout information is taken from a
+-- 'Vulkan.Core10.PipelineLayout.PipelineLayoutCreateInfo' structure in the
+-- @pNext@ chain. This enables descriptors to be directly bound using
+-- descriptor set layouts without applications needing to create and manage
+-- 'Vulkan.Core10.Handles.PipelineLayout' objects at command recording
+-- time.
+--
+-- == New Structures
+--
+-- -   Extending
+--     'Vulkan.Core11.Promoted_From_VK_KHR_get_physical_device_properties2.PhysicalDeviceFeatures2',
+--     'Vulkan.Core10.Device.DeviceCreateInfo':
+--
+--     -   'PhysicalDevicePerStageDescriptorSetFeaturesNV'
+--
+-- == New Enum Constants
+--
+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME'
+--
+-- -   'NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION'
+--
+-- -   Extending
+--     'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DescriptorSetLayoutCreateFlagBits':
+--
+--     -   'Vulkan.Core10.Enums.DescriptorSetLayoutCreateFlagBits.DESCRIPTOR_SET_LAYOUT_CREATE_PER_STAGE_BIT_NV'
+--
+-- -   Extending 'Vulkan.Core10.Enums.StructureType.StructureType':
+--
+--     -   'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV'
+--
+-- == Issues
+--
+-- None
+--
+-- == Version History
+--
+-- -   Revision 1, 2023-10-16 (Piers Daniell)
+--
+--     -   Initial draft
+--
+-- == See Also
+--
+-- 'PhysicalDevicePerStageDescriptorSetFeaturesNV'
+--
+-- == Document Notes
+--
+-- For more information, see the
+-- <https://registry.khronos.org/vulkan/specs/1.3-extensions/html/vkspec.html#VK_NV_per_stage_descriptor_set Vulkan Specification>
+--
+-- This page is a generated document. Fixes and changes should be made to
+-- the generator scripts, not directly.
+module Vulkan.Extensions.VK_NV_per_stage_descriptor_set  (PhysicalDevicePerStageDescriptorSetFeaturesNV) where
+
+import Vulkan.CStruct (FromCStruct)
+import Vulkan.CStruct (ToCStruct)
+import Data.Kind (Type)
+
+data PhysicalDevicePerStageDescriptorSetFeaturesNV
+
+instance ToCStruct PhysicalDevicePerStageDescriptorSetFeaturesNV
+instance Show PhysicalDevicePerStageDescriptorSetFeaturesNV
+
+instance FromCStruct PhysicalDevicePerStageDescriptorSetFeaturesNV
+
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
@@ -3072,6 +3072,13 @@
 --
 -- == Valid Usage
 --
+-- -   #VUID-VkRayTracingPipelineCreateInfoNV-None-09497# If the @pNext@
+--     chain does not include a
+--     'Vulkan.Extensions.VK_KHR_maintenance5.PipelineCreateFlags2CreateInfoKHR'
+--     structure, @flags@ must be a valid combination of
+--     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
+--     values
+--
 -- -   #VUID-VkRayTracingPipelineCreateInfoNV-flags-07984# If @flags@
 --     contains the
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_DERIVATIVE_BIT'
@@ -3224,11 +3231,6 @@
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoNV-sType-unique# The @sType@
 --     value of each struct in the @pNext@ chain /must/ be unique
---
--- -   #VUID-VkRayTracingPipelineCreateInfoNV-flags-parameter# @flags@
---     /must/ be a valid combination of
---     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PipelineCreateFlagBits'
---     values
 --
 -- -   #VUID-VkRayTracingPipelineCreateInfoNV-pStages-parameter# @pStages@
 --     /must/ be a valid pointer to an array of @stageCount@ valid
diff --git a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs
--- a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs
@@ -31,8 +31,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs-boot b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_clamp.hs-boot
@@ -31,8 +31,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_clamp] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_clamp extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs
--- a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs-boot b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_filter_cubic_weights.hs-boot
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_filter_cubic_weights] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_filter_cubic_weights extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_image_processing.hs b/src/Vulkan/Extensions/VK_QCOM_image_processing.hs
--- a/src/Vulkan/Extensions/VK_QCOM_image_processing.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_image_processing.hs
@@ -33,8 +33,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* >
 --
 -- [__Extension Proposal__]
 --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_image_processing.adoc VK_QCOM_image_processing>
diff --git a/src/Vulkan/Extensions/VK_QCOM_image_processing.hs-boot b/src/Vulkan/Extensions/VK_QCOM_image_processing.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_image_processing.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_image_processing.hs-boot
@@ -33,8 +33,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing extension* >
 --
 -- [__Extension Proposal__]
 --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_image_processing.adoc VK_QCOM_image_processing>
diff --git a/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs b/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs
--- a/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs
@@ -29,8 +29,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs-boot b/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_image_processing2.hs-boot
@@ -29,8 +29,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_image_processing2] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_image_processing2 extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs
--- a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs-boot b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_render_areas.hs-boot
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_render_areas] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_render_areas extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs
--- a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_multiview_per_view_viewports.hs-boot
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_multiview_per_view_viewports] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_multiview_per_view_viewports 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
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Bill Licea-Kane
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_shader_resolve] @mnetsch%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
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Bill Licea-Kane
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_store_ops] @mnetsch%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
@@ -15,30 +15,30 @@
 --     283
 --
 -- [__Revision__]
---     3
+--     4
 --
 -- [__Ratification Status__]
 --     Not ratified
 --
 -- [__Extension and Version Dependencies__]
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>
---     and
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>
+--     None
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension* >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2022-07-21
+--     2023-12-13
 --
 -- [__Interactions and External Dependencies__]
 --
---     -   This extension requires @VK_KHR_swapchain@
+--     -   This extension interacts with @VK_KHR_swapchain@
 --
+--     -   This extension interacts with @VK_KHR_surface@
+--
 --     -   This extension interacts with @VK_EXT_fragment_density_map@
 --
 --     -   This extension interacts with @VK_KHR_fragment_shading_rate@
@@ -53,6 +53,8 @@
 --
 --     -   Matthew Netsch, Qualcomm Technologies, Inc.
 --
+--     -   Arpit Agarwal, Qualcomm Technologies, Inc.
+--
 -- == Description
 --
 -- This extension provides a mechanism for applications to enable driver
@@ -252,6 +254,10 @@
 --
 --     -   Adds interactions with VK_QCOM_tile_properties
 --
+-- -   Revision 4, 2023-12-13 (Matthew Netsch)
+--
+--     -   Relax dependencies on VK_KHR_surface and VK_KHR_swapchain
+--
 -- == See Also
 --
 -- 'CommandBufferInheritanceRenderPassTransformInfoQCOM',
@@ -449,11 +455,11 @@
            zero
 
 
-type QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 3
+type QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 4
 
 -- No documentation found for TopLevel "VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION"
 pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION :: forall a . Integral a => a
-pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 3
+pattern QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION = 4
 
 
 type QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME = "VK_QCOM_render_pass_transform"
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
@@ -15,30 +15,30 @@
 --     283
 --
 -- [__Revision__]
---     3
+--     4
 --
 -- [__Ratification Status__]
 --     Not ratified
 --
 -- [__Extension and Version Dependencies__]
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>
---     and
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_surface VK_KHR_surface>
+--     None
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_render_pass_transform] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_render_pass_transform extension* >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2022-07-21
+--     2023-12-13
 --
 -- [__Interactions and External Dependencies__]
 --
---     -   This extension requires @VK_KHR_swapchain@
+--     -   This extension interacts with @VK_KHR_swapchain@
 --
+--     -   This extension interacts with @VK_KHR_surface@
+--
 --     -   This extension interacts with @VK_EXT_fragment_density_map@
 --
 --     -   This extension interacts with @VK_KHR_fragment_shading_rate@
@@ -53,6 +53,8 @@
 --
 --     -   Matthew Netsch, Qualcomm Technologies, Inc.
 --
+--     -   Arpit Agarwal, Qualcomm Technologies, Inc.
+--
 -- == Description
 --
 -- This extension provides a mechanism for applications to enable driver
@@ -251,6 +253,10 @@
 -- -   Revision 3, 2022-07-11 (Arpit Agarwal)
 --
 --     -   Adds interactions with VK_QCOM_tile_properties
+--
+-- -   Revision 4, 2023-12-13 (Matthew Netsch)
+--
+--     -   Relax dependencies on VK_KHR_surface and VK_KHR_swapchain
 --
 -- == See Also
 --
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
@@ -15,34 +15,36 @@
 --     334
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Ratification Status__]
 --     Not ratified
 --
 -- [__Extension and Version Dependencies__]
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>
---     and
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension* >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2020-09-18
+--     2023-12-13
 --
 -- [__Interactions and External Dependencies__]
 --
---     -   None
+--     -   This extension interacts with @VK_KHR_swapchain@
 --
+--     -   This extension interacts with @VK_KHR_surface@
+--
 -- [__Contributors__]
 --
 --     -   Jeff Leger, Qualcomm Technologies, Inc.
 --
+--     -   Matthew Netsch, Qualcomm Technologies, Inc.
+--
 -- == Description
 --
 -- This extension extends adds an optional rotation transform to copy
@@ -108,6 +110,10 @@
 --
 -- -   Revision 1, 2020-09-19 (Jeff Leger)
 --
+-- -   Revision 2, 2023-12-13 (Matthew Netsch)
+--
+--     -   Relax dependency on VK_KHR_swapchain
+--
 -- == See Also
 --
 -- 'CopyCommandTransformInfoQCOM'
@@ -234,11 +240,11 @@
            zero
 
 
-type QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 1
+type QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 2
 
 -- No documentation found for TopLevel "VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION"
 pattern QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION :: forall a . Integral a => a
-pattern QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 1
+pattern QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION = 2
 
 
 type QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME = "VK_QCOM_rotated_copy_commands"
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
@@ -15,34 +15,36 @@
 --     334
 --
 -- [__Revision__]
---     1
+--     2
 --
 -- [__Ratification Status__]
 --     Not ratified
 --
 -- [__Extension and Version Dependencies__]
---     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_swapchain VK_KHR_swapchain>
---     and
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#VK_KHR_copy_commands2 VK_KHR_copy_commands2>
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <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* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_rotated_copy_commands] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_rotated_copy_commands extension* >
 --
 -- == Other Extension Metadata
 --
 -- [__Last Modified Date__]
---     2020-09-18
+--     2023-12-13
 --
 -- [__Interactions and External Dependencies__]
 --
---     -   None
+--     -   This extension interacts with @VK_KHR_swapchain@
 --
+--     -   This extension interacts with @VK_KHR_surface@
+--
 -- [__Contributors__]
 --
 --     -   Jeff Leger, Qualcomm Technologies, Inc.
 --
+--     -   Matthew Netsch, Qualcomm Technologies, Inc.
+--
 -- == Description
 --
 -- This extension extends adds an optional rotation transform to copy
@@ -107,6 +109,10 @@
 -- == Version History
 --
 -- -   Revision 1, 2020-09-19 (Jeff Leger)
+--
+-- -   Revision 2, 2023-12-13 (Matthew Netsch)
+--
+--     -   Relax dependency on VK_KHR_swapchain
 --
 -- == See Also
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs b/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs
--- a/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs
@@ -29,8 +29,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* >
 --
 -- [__Extension Proposal__]
 --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_tile_properties.adoc VK_QCOM_tile_properties>
diff --git a/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs-boot b/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_tile_properties.hs-boot
@@ -29,8 +29,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_tile_properties] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_tile_properties extension* >
 --
 -- [__Extension Proposal__]
 --     <https://github.com/KhronosGroup/Vulkan-Docs/tree/main/proposals/VK_QCOM_tile_properties.adoc VK_QCOM_tile_properties>
diff --git a/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs b/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs
--- a/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs
+++ b/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma extension* >
 --
 -- == Other Extension Metadata
 --
diff --git a/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs-boot b/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs-boot
--- a/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs-boot
+++ b/src/Vulkan/Extensions/VK_QCOM_ycbcr_degamma.hs-boot
@@ -25,8 +25,8 @@
 --
 -- [__Contact__]
 --
---     -   Jeff Leger
---         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @jackohound%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma extension* >
+--     -   Matthew Netsch
+--         <https://github.com/KhronosGroup/Vulkan-Docs/issues/new?body=[VK_QCOM_ycbcr_degamma] @mnetsch%0A*Here describe the issue or question you have about the VK_QCOM_ycbcr_degamma 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
@@ -42,12 +42,17 @@
 import Vulkan.Core13.Promoted_From_VK_EXT_shader_demote_to_helper_invocation (PhysicalDeviceShaderDemoteToHelperInvocationFeatures(..))
 import Vulkan.Core11.Promoted_From_VK_KHR_shader_draw_parameters (PhysicalDeviceShaderDrawParametersFeatures(..))
 import Vulkan.Extensions.VK_AMDX_shader_enqueue (PhysicalDeviceShaderEnqueueFeaturesAMDX(..))
+import Vulkan.Extensions.VK_KHR_shader_expect_assume (PhysicalDeviceShaderExpectAssumeFeaturesKHR(..))
+import Vulkan.Extensions.VK_KHR_shader_float_controls2 (PhysicalDeviceShaderFloatControls2FeaturesKHR(..))
 import Vulkan.Extensions.VK_EXT_shader_image_atomic_int64 (PhysicalDeviceShaderImageAtomicInt64FeaturesEXT(..))
 import Vulkan.Extensions.VK_NV_shader_image_footprint (PhysicalDeviceShaderImageFootprintFeaturesNV(..))
 import Vulkan.Extensions.VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeaturesKHR)
 import Vulkan.Core13.Promoted_From_VK_KHR_shader_integer_dot_product (PhysicalDeviceShaderIntegerDotProductFeatures(..))
 import Vulkan.Extensions.VK_INTEL_shader_integer_functions2 (PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL(..))
+import Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence (PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR(..))
+import Vulkan.Extensions.VK_KHR_shader_quad_control (PhysicalDeviceShaderQuadControlFeaturesKHR(..))
 import Vulkan.Extensions.VK_NV_shader_sm_builtins (PhysicalDeviceShaderSMBuiltinsFeaturesNV(..))
+import Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (PhysicalDeviceShaderSubgroupRotateFeaturesKHR(..))
 import Vulkan.Extensions.VK_EXT_shader_tile_image (PhysicalDeviceShaderTileImageFeaturesEXT(..))
 import Vulkan.Extensions.VK_NV_shading_rate_image (PhysicalDeviceShadingRateImageFeaturesNV(..))
 import Vulkan.Extensions.VK_EXT_transform_feedback (PhysicalDeviceTransformFeedbackFeaturesEXT(..))
@@ -112,10 +117,15 @@
 import Vulkan.Extensions.VK_KHR_shader_atomic_int64 (pattern KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_clock (pattern KHR_SHADER_CLOCK_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_draw_parameters (pattern KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_shader_expect_assume (pattern KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME)
 import Vulkan.Extensions.VK_KHR_shader_float16_int8 (pattern KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_shader_float_controls2 (pattern KHR_SHADER_FLOAT_CONTROLS_2_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_maximal_reconvergence (pattern KHR_SHADER_MAXIMAL_RECONVERGENCE_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_quad_control (pattern KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME)
+import Vulkan.Extensions.VK_KHR_shader_subgroup_rotate (pattern KHR_SHADER_SUBGROUP_ROTATE_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)
 import Vulkan.Extensions.VK_KHR_storage_buffer_storage_class (pattern KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME)
@@ -763,6 +773,51 @@
           , deviceExtensionMinVersion = 0
           }
       ]
+  "SPV_KHR_maximal_reconvergence" ->
+    (,)
+      []
+      [ RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "SPV_KHR_subgroup_rotate" ->
+    (,)
+      []
+      [ RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "SPV_KHR_expect_assume" ->
+    (,)
+      []
+      [ RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "SPV_KHR_float_controls2" ->
+    (,)
+      []
+      [ RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "SPV_KHR_quad_control" ->
+    (,)
+      []
+      [ RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
   _ -> ([], [])
 
 spirvCapabilityRequirements :: ByteString -> ([InstanceRequirement], [DeviceRequirement])
@@ -2474,6 +2529,76 @@
       , RequireDeviceExtension
           { deviceExtensionLayerName = Nothing
           , deviceExtensionName = AMDX_SHADER_ENQUEUE_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "GroupNonUniformRotateKHR" ->
+    (,)
+      []
+      [ RequireDeviceFeature
+          { featureName = "shaderSubgroupRotate"
+          , checkFeature = \PhysicalDeviceShaderSubgroupRotateFeaturesKHR{shaderSubgroupRotate} -> shaderSubgroupRotate
+          , enableFeature = \PhysicalDeviceShaderSubgroupRotateFeaturesKHR{..} -> PhysicalDeviceShaderSubgroupRotateFeaturesKHR{shaderSubgroupRotate = True, ..}
+          }
+      , RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "ExpectAssumeKHR" ->
+    (,)
+      []
+      [ RequireDeviceFeature
+          { featureName = "shaderExpectAssume"
+          , checkFeature = \PhysicalDeviceShaderExpectAssumeFeaturesKHR{shaderExpectAssume} -> shaderExpectAssume
+          , enableFeature = \_ -> PhysicalDeviceShaderExpectAssumeFeaturesKHR{shaderExpectAssume = True}
+          }
+      , RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "FloatControls2" ->
+    (,)
+      []
+      [ RequireDeviceFeature
+          { featureName = "shaderFloatControls2"
+          , checkFeature = \PhysicalDeviceShaderFloatControls2FeaturesKHR{shaderFloatControls2} -> shaderFloatControls2
+          , enableFeature = \_ -> PhysicalDeviceShaderFloatControls2FeaturesKHR{shaderFloatControls2 = True}
+          }
+      , RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "QuadControlKHR" ->
+    (,)
+      []
+      [ RequireDeviceFeature
+          { featureName = "shaderQuadControl"
+          , checkFeature = \PhysicalDeviceShaderQuadControlFeaturesKHR{shaderQuadControl} -> shaderQuadControl
+          , enableFeature = \_ -> PhysicalDeviceShaderQuadControlFeaturesKHR{shaderQuadControl = True}
+          }
+      , RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME
+          , deviceExtensionMinVersion = 0
+          }
+      ]
+  "MaximallyReconvergesKHR" ->
+    (,)
+      []
+      [ RequireDeviceFeature
+          { featureName = "shaderMaximalReconvergence"
+          , checkFeature = \PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR{shaderMaximalReconvergence} -> shaderMaximalReconvergence
+          , enableFeature = \_ -> PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR{shaderMaximalReconvergence = True}
+          }
+      , RequireDeviceExtension
+          { deviceExtensionLayerName = Nothing
+          , deviceExtensionName = KHR_SHADER_MAXIMAL_RECONVERGENCE_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 = 273
+pattern HEADER_VERSION = 277
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 273
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 3 277
 
 
 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.26.4
+version:        3.26.5
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
@@ -486,6 +486,7 @@
       Vulkan.Extensions.VK_KHR_draw_indirect_count
       Vulkan.Extensions.VK_KHR_driver_properties
       Vulkan.Extensions.VK_KHR_dynamic_rendering
+      Vulkan.Extensions.VK_KHR_dynamic_rendering_local_read
       Vulkan.Extensions.VK_KHR_external_fence
       Vulkan.Extensions.VK_KHR_external_fence_capabilities
       Vulkan.Extensions.VK_KHR_external_fence_fd
@@ -509,11 +510,15 @@
       Vulkan.Extensions.VK_KHR_image_format_list
       Vulkan.Extensions.VK_KHR_imageless_framebuffer
       Vulkan.Extensions.VK_KHR_incremental_present
+      Vulkan.Extensions.VK_KHR_index_type_uint8
+      Vulkan.Extensions.VK_KHR_line_rasterization
+      Vulkan.Extensions.VK_KHR_load_store_op_none
       Vulkan.Extensions.VK_KHR_maintenance1
       Vulkan.Extensions.VK_KHR_maintenance2
       Vulkan.Extensions.VK_KHR_maintenance3
       Vulkan.Extensions.VK_KHR_maintenance4
       Vulkan.Extensions.VK_KHR_maintenance5
+      Vulkan.Extensions.VK_KHR_maintenance6
       Vulkan.Extensions.VK_KHR_map_memory2
       Vulkan.Extensions.VK_KHR_multiview
       Vulkan.Extensions.VK_KHR_performance_query
@@ -535,11 +540,16 @@
       Vulkan.Extensions.VK_KHR_shader_atomic_int64
       Vulkan.Extensions.VK_KHR_shader_clock
       Vulkan.Extensions.VK_KHR_shader_draw_parameters
+      Vulkan.Extensions.VK_KHR_shader_expect_assume
       Vulkan.Extensions.VK_KHR_shader_float16_int8
       Vulkan.Extensions.VK_KHR_shader_float_controls
+      Vulkan.Extensions.VK_KHR_shader_float_controls2
       Vulkan.Extensions.VK_KHR_shader_integer_dot_product
+      Vulkan.Extensions.VK_KHR_shader_maximal_reconvergence
       Vulkan.Extensions.VK_KHR_shader_non_semantic_info
+      Vulkan.Extensions.VK_KHR_shader_quad_control
       Vulkan.Extensions.VK_KHR_shader_subgroup_extended_types
+      Vulkan.Extensions.VK_KHR_shader_subgroup_rotate
       Vulkan.Extensions.VK_KHR_shader_subgroup_uniform_control_flow
       Vulkan.Extensions.VK_KHR_shader_terminate_invocation
       Vulkan.Extensions.VK_KHR_shared_presentable_image
@@ -602,6 +612,7 @@
       Vulkan.Extensions.VK_NV_memory_decompression
       Vulkan.Extensions.VK_NV_mesh_shader
       Vulkan.Extensions.VK_NV_optical_flow
+      Vulkan.Extensions.VK_NV_per_stage_descriptor_set
       Vulkan.Extensions.VK_NV_present_barrier
       Vulkan.Extensions.VK_NV_ray_tracing
       Vulkan.Extensions.VK_NV_ray_tracing_invocation_reorder
