diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.11.5] - 2021-08-03
+- Bump API version to v1.2.187
+
 ## [3.11.4.1] - 2021-07-30
 - Documentation fixes
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.11.4.1"
+version: "3.11.5"
 synopsis: Bindings to the Vulkan graphics API.
 description: Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category: Graphics
diff --git a/src/Vulkan/Core10/CommandBufferBuilding.hs b/src/Vulkan/Core10/CommandBufferBuilding.hs
--- a/src/Vulkan/Core10/CommandBufferBuilding.hs
+++ b/src/Vulkan/Core10/CommandBufferBuilding.hs
@@ -799,12 +799,6 @@
 -- representation, m is a function of depth values in the range [0,1], and
 -- o is applied to depth values in the same range.
 --
--- For fixed-point depth buffers, fragment depth values are always limited
--- to the range [0,1] by clamping after depth bias addition is performed.
--- Unless the @VK_EXT_depth_range_unrestricted@ extension is enabled,
--- fragment depth values are clamped even when the depth buffer uses a
--- floating-point representation.
---
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdSetDepthBias-depthBiasClamp-00790# If the
@@ -6087,7 +6081,7 @@
 --     is a protected command buffer, then @dstImage@ /must/ not be an
 --     unprotected image
 --
--- -   #VUID-vkCmdCopyBufferToImage-pRegions-00172# The image region
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-06217# The image region
 --     specified by each element of @pRegions@ /must/ be contained within
 --     the specified @imageSubresource@ of @dstImage@
 --
@@ -6169,13 +6163,13 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'.
 --
--- -   #VUID-vkCmdCopyBufferToImage-imageOffset-00197# For each element of
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-06218# For each element of
 --     @pRegions@, @imageOffset.x@ and (@imageExtent.width@ +
 --     @imageOffset.x@) /must/ both be greater than or equal to @0@ and
 --     less than or equal to the width of the specified @imageSubresource@
 --     of @dstImage@
 --
--- -   #VUID-vkCmdCopyBufferToImage-imageOffset-00198# For each element of
+-- -   #VUID-vkCmdCopyBufferToImage-pRegions-06219# For each element of
 --     @pRegions@, @imageOffset.y@ and (@imageExtent.height@ +
 --     @imageOffset.y@) /must/ both be greater than or equal to @0@ and
 --     less than or equal to the height of the specified @imageSubresource@
@@ -6434,7 +6428,7 @@
 --     is a protected command buffer, then @dstBuffer@ /must/ not be an
 --     unprotected buffer
 --
--- -   #VUID-vkCmdCopyImageToBuffer-pRegions-00182# The image region
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06220# The image region
 --     specified by each element of @pRegions@ /must/ be contained within
 --     the specified @imageSubresource@ of @srcImage@
 --
@@ -6507,13 +6501,13 @@
 --     have been created with @flags@ containing
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SUBSAMPLED_BIT_EXT'
 --
--- -   #VUID-vkCmdCopyImageToBuffer-imageOffset-00197# For each element of
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06221# For each element of
 --     @pRegions@, @imageOffset.x@ and (@imageExtent.width@ +
 --     @imageOffset.x@) /must/ both be greater than or equal to @0@ and
 --     less than or equal to the width of the specified @imageSubresource@
 --     of @srcImage@
 --
--- -   #VUID-vkCmdCopyImageToBuffer-imageOffset-00198# For each element of
+-- -   #VUID-vkCmdCopyImageToBuffer-pRegions-06222# For each element of
 --     @pRegions@, @imageOffset.y@ and (imageExtent.height +
 --     @imageOffset.y@) /must/ both be greater than or equal to @0@ and
 --     less than or equal to the height of the specified @imageSubresource@
@@ -7434,12 +7428,6 @@
 --
 -- = Description
 --
--- 'cmdClearAttachments' /can/ clear multiple regions of each attachment
--- used in the current subpass of a render pass instance. This command
--- /must/ be called only inside a render pass instance, and implicitly
--- selects the images to clear based on the current framebuffer attachments
--- and the command parameters.
---
 -- If the render pass has a
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#renderpass-fragmentdensitymapattachment fragment density map attachment>,
 -- clears follow the
@@ -7467,6 +7455,15 @@
 -- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT'
 -- stages.
 --
+-- 'cmdClearAttachments' is not affected by the bound pipeline state.
+--
+-- Note
+--
+-- It’s generally advised that attachments are cleared by using the
+-- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_CLEAR' load
+-- operation at the start of rendering, which will be more efficient on
+-- some implementations.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdClearAttachments-aspectMask-02501# If the @aspectMask@
@@ -7577,9 +7574,8 @@
                        CommandBuffer
                     -> -- | @pAttachments@ is a pointer to an array of 'ClearAttachment' structures
                        -- defining the attachments to clear and the clear values to use. If any
-                       -- attachment to be cleared in the current subpass is
-                       -- 'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED', then the clear has no
-                       -- effect on that attachment.
+                       -- attachment index to be cleared is not backed by an image view, then the
+                       -- clear has no effect.
                        ("attachments" ::: Vector ClearAttachment)
                     -> -- | @pRects@ is a pointer to an array of 'ClearRect' structures defining
                        -- regions within each selected attachment to clear.
@@ -7934,7 +7930,7 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
--- -   #VUID-vkCmdSetEvent-stageMask-4098# Any pipeline stage included in
+-- -   #VUID-vkCmdSetEvent-stageMask-04098# Any pipeline stage included in
 --     @stageMask@ /must/ be supported by the capabilities of the queue
 --     family specified by the @queueFamilyIndex@ member of the
 --     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was
@@ -8082,8 +8078,8 @@
 --     feature is not enabled, @stageMask@ /must/ not contain
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
--- -   #VUID-vkCmdResetEvent-stageMask-4098# Any pipeline stage included in
---     @stageMask@ /must/ be supported by the capabilities of the queue
+-- -   #VUID-vkCmdResetEvent-stageMask-04098# Any pipeline stage included
+--     in @stageMask@ /must/ be supported by the capabilities of the queue
 --     family specified by the @queueFamilyIndex@ member of the
 --     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was
 --     used to create the 'Vulkan.Core10.Handles.CommandPool' that
@@ -8360,11 +8356,11 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
--- -   #VUID-vkCmdWaitEvents-srcStageMask-4098# Any pipeline stage included
---     in @srcStageMask@ /must/ be supported by the capabilities of the
---     queue family specified by the @queueFamilyIndex@ member of the
---     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was
---     used to create the 'Vulkan.Core10.Handles.CommandPool' that
+-- -   #VUID-vkCmdWaitEvents-srcStageMask-04098# Any pipeline stage
+--     included in @srcStageMask@ /must/ be supported by the capabilities
+--     of the queue family specified by the @queueFamilyIndex@ member of
+--     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that
+--     was used to create the 'Vulkan.Core10.Handles.CommandPool' that
 --     @commandBuffer@ was allocated from, as specified in the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>
 --
@@ -8414,11 +8410,11 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
--- -   #VUID-vkCmdWaitEvents-dstStageMask-4098# Any pipeline stage included
---     in @dstStageMask@ /must/ be supported by the capabilities of the
---     queue family specified by the @queueFamilyIndex@ member of the
---     'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that was
---     used to create the 'Vulkan.Core10.Handles.CommandPool' that
+-- -   #VUID-vkCmdWaitEvents-dstStageMask-04098# Any pipeline stage
+--     included in @dstStageMask@ /must/ be supported by the capabilities
+--     of the queue family specified by the @queueFamilyIndex@ member of
+--     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that
+--     was used to create the 'Vulkan.Core10.Handles.CommandPool' that
 --     @commandBuffer@ was allocated from, as specified in the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages-supported table of supported pipeline stages>
 --
@@ -8760,7 +8756,7 @@
 --     feature is not enabled, @srcStageMask@ /must/ not contain
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
--- -   #VUID-vkCmdPipelineBarrier-srcStageMask-4098# Any pipeline stage
+-- -   #VUID-vkCmdPipelineBarrier-srcStageMask-04098# Any pipeline stage
 --     included in @srcStageMask@ /must/ be supported by the capabilities
 --     of the queue family specified by the @queueFamilyIndex@ member of
 --     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that
@@ -8814,7 +8810,7 @@
 --     feature is not enabled, @dstStageMask@ /must/ not contain
 --     'Vulkan.Extensions.VK_NV_shading_rate_image.PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV'
 --
--- -   #VUID-vkCmdPipelineBarrier-dstStageMask-4098# Any pipeline stage
+-- -   #VUID-vkCmdPipelineBarrier-dstStageMask-04098# Any pipeline stage
 --     included in @dstStageMask@ /must/ be supported by the capabilities
 --     of the queue family specified by the @queueFamilyIndex@ member of
 --     the 'Vulkan.Core10.CommandPool.CommandPoolCreateInfo' structure that
@@ -11458,7 +11454,7 @@
 --     not contain
 --     'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo'
 --     or its @deviceRenderAreaCount@ member is equal to 0,
---     @renderArea.offset.x@ + @renderArea.offset.width@ /must/ be less
+--     @renderArea.offset.x@ + @renderArea.extent.width@ /must/ be less
 --     than or equal to 'Vulkan.Core10.Pass.FramebufferCreateInfo'::@width@
 --     the @framebuffer@ was created with
 --
@@ -11466,7 +11462,7 @@
 --     not contain
 --     'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo'
 --     or its @deviceRenderAreaCount@ member is equal to 0,
---     @renderArea.offset.y@ + @renderArea.offset.height@ /must/ be less
+--     @renderArea.offset.y@ + @renderArea.extent.height@ /must/ be less
 --     than or equal to
 --     'Vulkan.Core10.Pass.FramebufferCreateInfo'::@height@ the
 --     @framebuffer@ was created with
@@ -11486,7 +11482,7 @@
 -- -   #VUID-VkRenderPassBeginInfo-pNext-02856# If the @pNext@ chain
 --     contains
 --     'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo',
---     @offset.x@ + @offset.width@ of each element of @pDeviceRenderAreas@
+--     @offset.x@ + @extent.width@ of each element of @pDeviceRenderAreas@
 --     /must/ be less than or equal to
 --     'Vulkan.Core10.Pass.FramebufferCreateInfo'::@width@ the
 --     @framebuffer@ was created with
@@ -11494,7 +11490,7 @@
 -- -   #VUID-VkRenderPassBeginInfo-pNext-02857# If the @pNext@ chain
 --     contains
 --     'Vulkan.Core11.Promoted_From_VK_KHR_device_group.DeviceGroupRenderPassBeginInfo',
---     @offset.y@ + @offset.height@ of each element of @pDeviceRenderAreas@
+--     @offset.y@ + @extent.height@ of each element of @pDeviceRenderAreas@
 --     /must/ be less than or equal to
 --     'Vulkan.Core10.Pass.FramebufferCreateInfo'::@height@ the
 --     @framebuffer@ was created with
@@ -11832,21 +11828,6 @@
 
 -- | VkClearAttachment - Structure specifying a clear attachment
 --
--- = Description
---
--- No memory barriers are needed between 'cmdClearAttachments' and
--- preceding or subsequent draw or attachment clear commands in the same
--- subpass.
---
--- The 'cmdClearAttachments' command is not affected by the bound pipeline
--- state.
---
--- Attachments /can/ also be cleared at the beginning of a render pass
--- instance by setting @loadOp@ (or @stencilLoadOp@) of
--- 'Vulkan.Core10.Pass.AttachmentDescription' to
--- 'Vulkan.Core10.Enums.AttachmentLoadOp.ATTACHMENT_LOAD_OP_CLEAR', as
--- described for 'Vulkan.Core10.Pass.createRenderPass'.
---
 -- == Valid Usage
 --
 -- -   #VUID-VkClearAttachment-aspectMask-00019# If @aspectMask@ includes
@@ -11885,9 +11866,8 @@
     aspectMask :: ImageAspectFlags
   , -- | @colorAttachment@ is only meaningful if
     -- 'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_COLOR_BIT' is set
-    -- in @aspectMask@, in which case it is an index to the @pColorAttachments@
-    -- array in the 'Vulkan.Core10.Pass.SubpassDescription' structure of the
-    -- current subpass which selects the color attachment to clear.
+    -- in @aspectMask@, in which case it is an index into the currently bound
+    -- color attachments.
     colorAttachment :: Word32
   , -- | @clearValue@ is the color or depth\/stencil value to clear the
     -- attachment to, as described in
diff --git a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
--- a/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/PipelineCreateFlagBits.hs
@@ -149,7 +149,7 @@
 --     pipelines.
 --
 -- -   'PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV' specifies that the
---     pipeline is allowed to use OpTraceRayMotionNV.
+--     pipeline is allowed to use @OpTraceRayMotionNV@.
 --
 -- It is valid to set both 'PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT' and
 -- 'PIPELINE_CREATE_DERIVATIVE_BIT'. This allows a pipeline to be both a
diff --git a/src/Vulkan/Core10/Memory.hs b/src/Vulkan/Core10/Memory.hs
--- a/src/Vulkan/Core10/Memory.hs
+++ b/src/Vulkan/Core10/Memory.hs
@@ -1131,6 +1131,10 @@
 --     @zx_vmo_get_size@(@handle@) where @handle@ is the VMO handle to the
 --     imported external memory.
 --
+-- -   #VUID-VkMemoryAllocateInfo-allocationSize-06231# @allocationSize@
+--     /must/ be less than
+--     'Vulkan.Core11.Promoted_From_VK_KHR_maintenance3.PhysicalDeviceMaintenance3Properties'::@maxMemoryAllocationSize@.
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkMemoryAllocateInfo-sType-sType# @sType@ /must/ be
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
@@ -482,13 +482,13 @@
 --     member of the returned 'Vulkan.Core10.FundamentalTypes.Extent2D'
 --     (the vertical granularity).
 --
--- -   either the @offset.width@ member in @renderArea@ is a multiple of
---     the horizontal granularity or @offset.x@+@offset.width@ is equal to
+-- -   either the @extent.width@ member in @renderArea@ is a multiple of
+--     the horizontal granularity or @offset.x@+@extent.width@ is equal to
 --     the @width@ of the @framebuffer@ in the
 --     'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo'.
 --
--- -   either the @offset.height@ member in @renderArea@ is a multiple of
---     the vertical granularity or @offset.y@+@offset.height@ is equal to
+-- -   either the @extent.height@ member in @renderArea@ is a multiple of
+--     the vertical granularity or @offset.y@+@extent.height@ is equal to
 --     the @height@ of the @framebuffer@ in the
 --     'Vulkan.Core10.CommandBufferBuilding.RenderPassBeginInfo'.
 --
diff --git a/src/Vulkan/Core10/Queue.hs b/src/Vulkan/Core10/Queue.hs
--- a/src/Vulkan/Core10/Queue.hs
+++ b/src/Vulkan/Core10/Queue.hs
@@ -119,9 +119,10 @@
 --     structure
 --
 -- -   #VUID-vkGetDeviceQueue-queueIndex-00385# @queueIndex@ /must/ be less
---     than the number of queues created for the specified queue family
---     index when @device@ was created, via the @queueCount@ member of the
---     'Vulkan.Core10.Device.DeviceQueueCreateInfo' structure
+--     than the value of
+--     'Vulkan.Core10.Device.DeviceQueueCreateInfo'::@queueCount@ for the
+--     queue family indicated by @queueFamilyIndex@ when @device@ was
+--     created
 --
 -- -   #VUID-vkGetDeviceQueue-flags-01841#
 --     'Vulkan.Core10.Device.DeviceQueueCreateInfo'::@flags@ /must/ have
diff --git a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs
--- a/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs
+++ b/src/Vulkan/Core11/Originally_Based_On_VK_KHR_protected_memory.hs
@@ -340,6 +340,11 @@
     -- 'Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlags'
     -- value indicating the flags used to create the device queue.
     --
+    -- #VUID-VkDeviceQueueInfo2-flags-06225# @flags@ /must/ be equal to
+    -- 'Vulkan.Core10.Device.DeviceQueueCreateInfo'::@flags@ for a
+    -- 'Vulkan.Core10.Device.DeviceQueueCreateInfo' structure for the queue
+    -- family indicated by @queueFamilyIndex@ when @device@ was created
+    --
     -- #VUID-VkDeviceQueueInfo2-flags-parameter# @flags@ /must/ be a valid
     -- combination of
     -- 'Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlagBits'
@@ -356,12 +361,9 @@
     -- retrieve.
     --
     -- #VUID-VkDeviceQueueInfo2-queueIndex-01843# @queueIndex@ /must/ be less
-    -- than the number of queues created for the specified queue family index
-    -- and
-    -- 'Vulkan.Core10.Enums.DeviceQueueCreateFlagBits.DeviceQueueCreateFlags'
-    -- member @flags@ equal to this @flags@ value when @device@ was created,
-    -- via the @queueCount@ member of the
-    -- 'Vulkan.Core10.Device.DeviceQueueCreateInfo' structure
+    -- than 'Vulkan.Core10.Device.DeviceQueueCreateInfo'::@queueCount@ for the
+    -- corresponding queue family and flags indicated by @queueFamilyIndex@ and
+    -- @flags@ when @device@ was created
     queueIndex :: Word32
   }
   deriving (Typeable, Eq)
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
@@ -233,7 +233,8 @@
     width :: Word32
   , -- | @height@ is the height of the image view used for rendering.
     height :: Word32
-  , -- No documentation found for Nested "VkFramebufferAttachmentImageInfo" "layerCount"
+  , -- | @layerCount@ is the number of array layers of the image view used for
+    -- rendering.
     layerCount :: Word32
   , -- | @pViewFormats@ is a pointer to an array of
     -- 'Vulkan.Core10.Enums.Format.Format' values specifying all of the formats
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
@@ -103,7 +103,7 @@
 --
 -- == Version History
 --
--- -   Version 1, 2021-01-20 (Mike Blumenkrantz)
+-- -   Revision 1, 2021-01-20 (Mike Blumenkrantz)
 --
 --     -   Initial version
 --
@@ -191,9 +191,8 @@
 --
 -- = Description
 --
--- This command is equivalent to calling
--- 'Vulkan.Core10.CommandBufferBuilding.cmdDraw' @drawCount@ times. The
--- number of draw commands recorded is @drawCount@, with each command
+-- @drawCount@ draws are executed with parameters taken from @pVertexInfo@.
+-- The number of draw commands recorded is @drawCount@, with each command
 -- reading, sequentially, a @firstVertex@ and a @vertexCount@ from
 -- @pVertexInfo@.
 --
@@ -817,12 +816,11 @@
 --
 -- = Description
 --
--- This command is equivalent to calling
--- 'Vulkan.Core10.CommandBufferBuilding.cmdDrawIndexed' @drawCount@ times.
--- The number of draw commands recorded is @drawCount@, with each command
--- reading, sequentially, a @firstIndex@ and an @indexCount@ from
--- @pIndexInfo@. If @pVertexOffset@ is @NULL@, a @vertexOffset@ is also
--- read from @pIndexInfo@, otherwise the value from dereferencing
+-- @drawCount@ indexed draws are executed with parameters taken from
+-- @pIndexInfo@. The number of draw commands recorded is @drawCount@, with
+-- each command reading, sequentially, a @firstIndex@ and an @indexCount@
+-- from @pIndexInfo@. If @pVertexOffset@ is @NULL@, a @vertexOffset@ is
+-- also read from @pIndexInfo@, otherwise the value from dereferencing
 -- @pVertexOffset@ is used.
 --
 -- == Valid Usage
diff --git a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_multi_draw.hs-boot
@@ -103,7 +103,7 @@
 --
 -- == Version History
 --
--- -   Version 1, 2021-01-20 (Mike Blumenkrantz)
+-- -   Revision 1, 2021-01-20 (Mike Blumenkrantz)
 --
 --     -   Initial version
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs
--- a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs
+++ b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs
@@ -148,21 +148,21 @@
 --
 -- == Version History
 --
--- -   Revision 1(c), 2021-02-22 (Jesse Hall)
+-- -   Revision 1, (1c) 2021-02-22 (Jesse Hall)
 --
 --     -   Added
 --         VkPhysicalDeviceProvokingVertexPropertiesEXT::transformFeedbackPreservesTriangleFanProvokingVertex
 --         to accommodate implementations that cannot change the transform
 --         feedback vertex order for triangle fans.
 --
--- -   Revision 1(b), 2020-06-14 (Jesse Hall)
+-- -   Revision 1, (1b) 2020-06-14 (Jesse Hall)
 --
 --     -   Added
 --         VkPhysicalDeviceProvokingVertexFeaturesEXT::transformFeedbackPreservesProvokingVertex
 --         and required that transform feedback write vertices so as to
 --         preserve the provoking vertex of each primitive.
 --
--- -   Revision 1(a), 2019-10-23 (Jesse Hall)
+-- -   Revision 1, (1a) 2019-10-23 (Jesse Hall)
 --
 --     -   Initial draft, based on a proposal by Alexis Hétu
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_provoking_vertex.hs-boot
@@ -148,21 +148,21 @@
 --
 -- == Version History
 --
--- -   Revision 1(c), 2021-02-22 (Jesse Hall)
+-- -   Revision 1, (1c) 2021-02-22 (Jesse Hall)
 --
 --     -   Added
 --         VkPhysicalDeviceProvokingVertexPropertiesEXT::transformFeedbackPreservesTriangleFanProvokingVertex
 --         to accommodate implementations that cannot change the transform
 --         feedback vertex order for triangle fans.
 --
--- -   Revision 1(b), 2020-06-14 (Jesse Hall)
+-- -   Revision 1, (1b) 2020-06-14 (Jesse Hall)
 --
 --     -   Added
 --         VkPhysicalDeviceProvokingVertexFeaturesEXT::transformFeedbackPreservesProvokingVertex
 --         and required that transform feedback write vertices so as to
 --         preserve the provoking vertex of each primitive.
 --
--- -   Revision 1(a), 2019-10-23 (Jesse Hall)
+-- -   Revision 1, (1a) 2019-10-23 (Jesse Hall)
 --
 --     -   Initial draft, based on a proposal by Alexis Hétu
 --
diff --git a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
--- a/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
+++ b/src/Vulkan/Extensions/VK_EXT_vertex_input_dynamic_state.hs
@@ -378,12 +378,12 @@
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-vertexAttributeInstanceRateDivisor vertexAttributeInstanceRateDivisor>
 --     feature is not enabled, @divisor@ /must/ be @1@
 --
--- -   #VUID-VkVertexInputBindingDescription2EXT-divisor-04800# @divisor@
+-- -   #VUID-VkVertexInputBindingDescription2EXT-divisor-06226# @divisor@
 --     /must/ be a value between @0@ and
 --     'Vulkan.Extensions.VK_EXT_vertex_attribute_divisor.PhysicalDeviceVertexAttributeDivisorPropertiesEXT'::@maxVertexAttribDivisor@,
 --     inclusive
 --
--- -   #VUID-VkVertexInputBindingDescription2EXT-divisor-04801# If
+-- -   #VUID-VkVertexInputBindingDescription2EXT-divisor-06227# If
 --     @divisor@ is not @1@ then @inputRate@ /must/ be of type
 --     'Vulkan.Core10.Enums.VertexInputRate.VERTEX_INPUT_RATE_INSTANCE'
 --
@@ -482,15 +482,15 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-VkVertexInputAttributeDescription2EXT-location-04802#
+-- -   #VUID-VkVertexInputAttributeDescription2EXT-location-06228#
 --     @location@ /must/ be less than
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxVertexInputAttributes@
 --
--- -   #VUID-VkVertexInputAttributeDescription2EXT-binding-04803# @binding@
+-- -   #VUID-VkVertexInputAttributeDescription2EXT-binding-06229# @binding@
 --     /must/ be less than
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxVertexInputBindings@
 --
--- -   #VUID-VkVertexInputAttributeDescription2EXT-offset-04804# @offset@
+-- -   #VUID-VkVertexInputAttributeDescription2EXT-offset-06230# @offset@
 --     /must/ be less than or equal to
 --     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxVertexInputAttributeOffset@
 --
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
@@ -42,8 +42,8 @@
 --
 --     -   This extension requires
 --         <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>,
---         which allow to bind an invocation mask image before the trace
---         ray command
+--         which allow to bind an invocation mask image before the ray
+--         tracing command
 --
 --     -   This extension requires
 --         <VK_KHR_synchronization2.html VK_KHR_synchronization2>, which
@@ -57,9 +57,9 @@
 --
 -- The rays to trace may be sparse in some use cases. For example, the
 -- scene only have a few regions to reflect. Providing an invocation mask
--- image to the trace ray commands could potentially give the hardware the
--- hint to do certain optimization without invoking an additional pass to
--- compact the ray buffer.
+-- image to the ray tracing commands could potentially give the hardware
+-- the hint to do certain optimization without invoking an additional pass
+-- to compact the ray buffer.
 --
 -- == New Commands
 --
diff --git a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot
--- a/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot
+++ b/src/Vulkan/Extensions/VK_HUAWEI_invocation_mask.hs-boot
@@ -42,8 +42,8 @@
 --
 --     -   This extension requires
 --         <VK_KHR_ray_tracing_pipeline.html VK_KHR_ray_tracing_pipeline>,
---         which allow to bind an invocation mask image before the trace
---         ray command
+--         which allow to bind an invocation mask image before the ray
+--         tracing command
 --
 --     -   This extension requires
 --         <VK_KHR_synchronization2.html VK_KHR_synchronization2>, which
@@ -57,9 +57,9 @@
 --
 -- The rays to trace may be sparse in some use cases. For example, the
 -- scene only have a few regions to reflect. Providing an invocation mask
--- image to the trace ray commands could potentially give the hardware the
--- hint to do certain optimization without invoking an additional pass to
--- compact the ray buffer.
+-- image to the ray tracing commands could potentially give the hardware
+-- the hint to do certain optimization without invoking an additional pass
+-- to compact the ray buffer.
 --
 -- == New Commands
 --
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
@@ -2187,6 +2187,16 @@
 -- of
 -- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'.
 --
+-- -   If @queryType@ is
+--     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_KHR',
+--     then the value written out is the number of bytes required by a
+--     compacted acceleration structure.
+--
+-- -   If @queryType@ is
+--     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_SERIALIZATION_SIZE_KHR',
+--     then the value written out is the number of bytes required by a
+--     serialized acceleration structure.
+--
 -- == Valid Usage
 --
 -- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesKHR-queryPool-02493#
diff --git a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
--- a/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
+++ b/src/Vulkan/Extensions/VK_KHR_copy_commands2.hs
@@ -2378,16 +2378,16 @@
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_DEPTH_BIT' or
 --     'Vulkan.Core10.Enums.ImageAspectFlagBits.IMAGE_ASPECT_STENCIL_BIT'.
 --
--- -   #VUID-VkCopyBufferToImageInfo2KHR-imageOffset-00197# For each
---     element of @pRegions@ not containing
+-- -   #VUID-VkCopyBufferToImageInfo2KHR-pRegions-06223# For each element
+--     of @pRegions@ not containing
 --     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'
 --     in its @pNext@ chain, @imageOffset.x@ and (@imageExtent.width@ +
 --     @imageOffset.x@) /must/ both be greater than or equal to @0@ and
 --     less than or equal to the width of the specified @imageSubresource@
 --     of @dstImage@
 --
--- -   #VUID-VkCopyBufferToImageInfo2KHR-imageOffset-00198# For each
---     element of @pRegions@ not containing
+-- -   #VUID-VkCopyBufferToImageInfo2KHR-pRegions-06224# For each element
+--     of @pRegions@ not containing
 --     'Vulkan.Extensions.VK_QCOM_rotated_copy_commands.CopyCommandTransformInfoQCOM'
 --     in its @pNext@ chain, @imageOffset.y@ and (@imageExtent.height@ +
 --     @imageOffset.y@) /must/ both be greater than or equal to @0@ and
diff --git a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs
--- a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs
+++ b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs
@@ -58,6 +58,8 @@
 --
 --     -   Neil Trevett, NVIDIA
 --
+--     -   Alexey Knyazev, Independent
+--
 -- == Description
 --
 -- The \`VK_KHR_portability_subset extension allows a non-conformant Vulkan
diff --git a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_portability_subset.hs-boot
@@ -58,6 +58,8 @@
 --
 --     -   Neil Trevett, NVIDIA
 --
+--     -   Alexey Knyazev, Independent
+--
 -- == Description
 --
 -- The \`VK_KHR_portability_subset extension allows a non-conformant Vulkan
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
@@ -163,7 +163,7 @@
 -- -   A shader binding indirection table to link shader groups with
 --     acceleration structure items
 --
--- -   Trace ray commands which initiates the ray pipeline traversal and
+-- -   Ray tracing commands which initiate the ray pipeline traversal and
 --     invocation of the various new shader domains depending on which
 --     traversal conditions are met
 --
@@ -3063,7 +3063,7 @@
 --
 -- -   #features-rayTracingPipelineTraceRaysIndirect#
 --     @rayTracingPipelineTraceRaysIndirect@ indicates whether the
---     implementation supports indirect trace ray commands, e.g.
+--     implementation supports indirect ray tracing commands, e.g.
 --     'cmdTraceRaysIndirectKHR'.
 --
 -- -   #features-rayTraversalPrimitiveCulling#
@@ -3350,7 +3350,7 @@
 
 
 -- | VkTraceRaysIndirectCommandKHR - Structure specifying the parameters of
--- an indirect trace ray command
+-- an indirect ray tracing command
 --
 -- = Description
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot b/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot
--- a/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot
+++ b/src/Vulkan/Extensions/VK_KHR_ray_tracing_pipeline.hs-boot
@@ -163,7 +163,7 @@
 -- -   A shader binding indirection table to link shader groups with
 --     acceleration structure items
 --
--- -   Trace ray commands which initiates the ray pipeline traversal and
+-- -   Ray tracing commands which initiate the ray pipeline traversal and
 --     invocation of the various new shader domains depending on which
 --     traversal conditions are met
 --
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
@@ -1288,14 +1288,14 @@
 --     All acceleration structures in @pAccelerationStructures@ /must/ have
 --     been built prior to the execution of this command
 --
--- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructures-03431#
+-- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-06215#
 --     All acceleration structures in @pAccelerationStructures@ /must/ have
 --     been built with
 --     'Vulkan.Extensions.VK_KHR_acceleration_structure.BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR'
 --     if @queryType@ is
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV'
 --
--- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-03432#
+-- -   #VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-06216#
 --     @queryType@ /must/ be
 --     'Vulkan.Core10.Enums.QueryType.QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV'
 --
@@ -1843,8 +1843,8 @@
 --     not be a protected command buffer
 --
 -- -   #VUID-vkCmdTraceRaysNV-maxRecursionDepth-03625# This command /must/
---     not cause a trace ray instruction to be executed from a shader
---     invocation with a
+--     not cause a pipeline trace ray instruction to be executed from a
+--     shader invocation with a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#ray-tracing-recursion-depth recursion depth>
 --     greater than the value of @maxRecursionDepth@ used to create the
 --     bound ray tracing pipeline
@@ -2620,7 +2620,7 @@
 --     or
 --     'Vulkan.Core10.Enums.PipelineCreateFlagBits.PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT'
 --
--- -   #VUID-VkRayTracingPipelineCreateInfoNV-stage-03425# The @stage@
+-- -   #VUID-VkRayTracingPipelineCreateInfoNV-stage-06232# The @stage@
 --     member of at least one element of @pStages@ /must/ be
 --     'Vulkan.Core10.Enums.ShaderStageFlagBits.SHADER_STAGE_RAYGEN_BIT_KHR'
 --
diff --git a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
--- a/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
+++ b/src/Vulkan/Extensions/VK_NV_ray_tracing_motion_blur.hs
@@ -281,15 +281,7 @@
 --
 -- = Members
 --
--- This structure describes the following feature: * @sType@ is the type of
--- this structure. * @pNext@ is @NULL@ or a pointer to a structure
--- extending this structure. * #features-rayTracingMotionBlur#
--- @rayTracingMotionBlur@ indicates whether the implementation supports the
--- motion blur feature. *
--- #features-rayTracingMotionBlurPipelineTraceRaysIndirect#
--- @rayTracingMotionBlurPipelineTraceRaysIndirect@ indicates whether the
--- implementation supports indirect trace ray commands with the motion blur
--- feature enabled.
+-- This structure describes the following feature:
 --
 -- = Description
 --
@@ -310,9 +302,13 @@
 -- 'Vulkan.Core10.FundamentalTypes.Bool32',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data PhysicalDeviceRayTracingMotionBlurFeaturesNV = PhysicalDeviceRayTracingMotionBlurFeaturesNV
-  { -- No documentation found for Nested "VkPhysicalDeviceRayTracingMotionBlurFeaturesNV" "rayTracingMotionBlur"
+  { -- | #features-rayTracingMotionBlur# @rayTracingMotionBlur@ indicates whether
+    -- the implementation supports the motion blur feature.
     rayTracingMotionBlur :: Bool
-  , -- No documentation found for Nested "VkPhysicalDeviceRayTracingMotionBlurFeaturesNV" "rayTracingMotionBlurPipelineTraceRaysIndirect"
+  , -- | #features-rayTracingMotionBlurPipelineTraceRaysIndirect#
+    -- @rayTracingMotionBlurPipelineTraceRaysIndirect@ indicates whether the
+    -- implementation supports indirect ray tracing commands with the motion
+    -- blur feature enabled.
     rayTracingMotionBlurPipelineTraceRaysIndirect :: Bool
   }
   deriving (Typeable, Eq)
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 = 186
+pattern HEADER_VERSION = 187
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 186
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 187
 
 
 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.11.4.1
+version:        3.11.5
 synopsis:       Bindings to the Vulkan graphics API.
 description:    Please see [the readme](https://github.com/expipiplus1/vulkan/#readme)
 category:       Graphics
