diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.10.4] - 2021-06-14
+- Bump API version to v1.2.181
+
 ## [3.10.3] - 2021-06-07
 - Bump API version to v1.2.180
 
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.10.3"
+version: "3.10.4"
 synopsis: Bindings to the Vulkan graphics API.
 category: Graphics
 maintainer: Joe Hermaszewski <live.long.and.prosper@monoid.al>
diff --git a/readme.md b/readme.md
--- a/readme.md
+++ b/readme.md
@@ -2,6 +2,9 @@
 
 Slightly high level Haskell bindings to the Vulkan graphics API.
 
+Join us on Matrix at
+[#vulkan:monoid.al](https://matrix.to/#/#vulkan:monoid.al?via=monoid.al&via=matrix.org&via=nordgedanken.dev)
+
 These bindings present an interface to Vulkan which looks like more idiomatic
 Haskell and which is much less verbose than the C API. Nevertheless, it retains
 access to all the functionality. If you find something you can do in the C
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
@@ -1379,6 +1379,34 @@
 -- | VkInstanceCreateInfo - Structure specifying parameters of a newly
 -- created instance
 --
+-- = Description
+--
+-- To capture events that occur while creating or destroying an instance,
+-- an application can link a
+-- 'Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT'
+-- structure or a
+-- 'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT'
+-- structure to the @pNext@ element of the 'InstanceCreateInfo' structure
+-- given to 'createInstance'. This callback is only valid for the duration
+-- of the 'createInstance' and the 'destroyInstance' call. Use
+-- 'Vulkan.Extensions.VK_EXT_debug_report.createDebugReportCallbackEXT' or
+-- 'Vulkan.Extensions.VK_EXT_debug_utils.createDebugUtilsMessengerEXT' to
+-- create persistent callback objects.
+--
+-- == Valid Usage
+--
+-- -   #VUID-VkInstanceCreateInfo-pNext-04925# If the @pNext@ chain of
+--     'InstanceCreateInfo' includes a
+--     'Vulkan.Extensions.VK_EXT_debug_report.DebugReportCallbackCreateInfoEXT'
+--     structure, the list of enabled extensions in
+--     @ppEnabledExtensionNames@ /must/ contain VK_EXT_debug_report.
+--
+-- -   #VUID-VkInstanceCreateInfo-pNext-04926# If the @pNext@ chain of
+--     'InstanceCreateInfo' includes a
+--     'Vulkan.Extensions.VK_EXT_debug_utils.DebugUtilsMessengerCreateInfoEXT'
+--     structure, the list of enabled extensions in
+--     @ppEnabledExtensionNames@ /must/ contain VK_EXT_debug_utils.
+--
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkInstanceCreateInfo-sType-sType# @sType@ /must/ be
diff --git a/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs b/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs
--- a/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/FormatFeatureFlagBits.hs
@@ -179,8 +179,10 @@
 --     using this format as a source.
 --
 -- -   'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT'
---     specifies that the format can do linear sampler filtering
---     (min\/magFilter) whilst sampler Y′CBCR conversion is enabled.
+--     specifies that an application /can/ define a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+--     using this format as a source with @chromaFilter@ set to
+--     'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'.
 --
 -- -   'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT'
 --     specifies that the format can have different chroma, min, and mag
@@ -403,8 +405,10 @@
 pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_SEPARATE_RECONSTRUCTION_FILTER_BIT =
   FormatFeatureFlagBits 0x00080000
 -- | 'FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT'
--- specifies that the format can do linear sampler filtering
--- (min\/magFilter) whilst sampler Y′CBCR conversion is enabled.
+-- specifies that an application /can/ define a
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#samplers-YCbCr-conversion sampler Y′CBCR conversion>
+-- using this format as a source with @chromaFilter@ set to
+-- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR'.
 pattern FORMAT_FEATURE_SAMPLED_IMAGE_YCBCR_CONVERSION_LINEAR_FILTER_BIT = FormatFeatureFlagBits 0x00040000
 -- | 'FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT' specifies that an
 -- application /can/ define a
diff --git a/src/Vulkan/Core10/PipelineCache.hs b/src/Vulkan/Core10/PipelineCache.hs
--- a/src/Vulkan/Core10/PipelineCache.hs
+++ b/src/Vulkan/Core10/PipelineCache.hs
@@ -297,47 +297,10 @@
 -- retrieve the same data unless a command that modifies the contents of
 -- the cache is called between them.
 --
--- Applications /can/ store the data retrieved from the pipeline cache, and
--- use these data, possibly in a future run of the application, to populate
--- new pipeline cache objects. The results of pipeline compiles, however,
--- /may/ depend on the vendor ID, device ID, driver version, and other
--- details of the device. To enable applications to detect when previously
--- retrieved data is incompatible with the device, the initial bytes
--- written to @pData@ /must/ be a header consisting of the following
--- members:
---
--- +--------+----------------------------------------+------------------------------------------------------------------------------------+
--- | Offset | Size                                   | Meaning                                                                            |
--- +========+========================================+====================================================================================+
--- | 0      | 4                                      | length in bytes of the entire pipeline cache header written as a stream of bytes,  |
--- |        |                                        | with the least significant byte first                                              |
--- +--------+----------------------------------------+------------------------------------------------------------------------------------+
--- | 4      | 4                                      | a 'Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion'      |
--- |        |                                        | value written as a stream of bytes, with the least significant byte first          |
--- +--------+----------------------------------------+------------------------------------------------------------------------------------+
--- | 8      | 4                                      | a vendor ID equal to                                                               |
--- |        |                                        | 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties'::@vendorID@ written  |
--- |        |                                        | as a stream of bytes, with the least significant byte first                        |
--- +--------+----------------------------------------+------------------------------------------------------------------------------------+
--- | 12     | 4                                      | a device ID equal to                                                               |
--- |        |                                        | 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties'::@deviceID@ written  |
--- |        |                                        | as a stream of bytes, with the least significant byte first                        |
--- +--------+----------------------------------------+------------------------------------------------------------------------------------+
--- | 16     | 'Vulkan.Core10.APIConstants.UUID_SIZE' | a pipeline cache ID equal to                                                       |
--- |        |                                        | 'Vulkan.Core10.DeviceInitialization.PhysicalDeviceProperties'::@pipelineCacheUUID@ |
--- +--------+----------------------------------------+------------------------------------------------------------------------------------+
---
--- Layout for pipeline cache header version
--- 'Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PIPELINE_CACHE_HEADER_VERSION_ONE'
---
--- The first four bytes encode the length of the entire pipeline cache
--- header, in bytes. This value includes all fields in the header including
--- the pipeline cache version field and the size of the length field.
---
--- The next four bytes encode the pipeline cache version, as described for
--- 'Vulkan.Core10.Enums.PipelineCacheHeaderVersion.PipelineCacheHeaderVersion'.
--- A consumer of the pipeline cache /should/ use the cache version to
--- interpret the remainder of the cache header.
+-- The initial bytes written to @pData@ /must/ be a header as described in
+-- the
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipelines-cache-header Pipeline Cache Header>
+-- section.
 --
 -- If @pDataSize@ is less than what is necessary to store this header,
 -- nothing will be written to @pData@ and zero will be written to
diff --git a/src/Vulkan/Core10/Shader.hs b/src/Vulkan/Core10/Shader.hs
--- a/src/Vulkan/Core10/Shader.hs
+++ b/src/Vulkan/Core10/Shader.hs
@@ -102,11 +102,6 @@
 -- and
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#pipelines-graphics Graphics Pipelines>.
 --
--- If the shader stage fails to compile
--- 'Vulkan.Core10.Enums.Result.ERROR_INVALID_SHADER_NV' will be generated
--- and the compile log will be reported back to the application by
--- @VK_EXT_debug_report@ if enabled.
---
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-vkCreateShaderModule-device-parameter# @device@ /must/ be a
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
@@ -135,11 +135,7 @@
 -- application /can/ link a 'DebugReportCallbackCreateInfoEXT' structure to
 -- the @pNext@ element of the
 -- 'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo' structure given
--- to 'Vulkan.Core10.DeviceInitialization.createInstance'. This callback is
--- only valid for the duration of the
--- 'Vulkan.Core10.DeviceInitialization.createInstance' and the
--- 'Vulkan.Core10.DeviceInitialization.destroyInstance' call. Use
--- 'createDebugReportCallbackEXT' to create persistent callback objects.
+-- to 'Vulkan.Core10.DeviceInitialization.createInstance'.
 --
 -- Example uses: Create three callback objects. One will log errors and
 -- warnings to the debug console using Windows @OutputDebugString@. The
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot b/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_debug_report.hs-boot
@@ -135,11 +135,7 @@
 -- application /can/ link a 'DebugReportCallbackCreateInfoEXT' structure to
 -- the @pNext@ element of the
 -- 'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo' structure given
--- to 'Vulkan.Core10.DeviceInitialization.createInstance'. This callback is
--- only valid for the duration of the
--- 'Vulkan.Core10.DeviceInitialization.createInstance' and the
--- 'Vulkan.Core10.DeviceInitialization.destroyInstance' call. Use
--- 'createDebugReportCallbackEXT' to create persistent callback objects.
+-- to 'Vulkan.Core10.DeviceInitialization.createInstance'.
 --
 -- Example uses: Create three callback objects. One will log errors and
 -- warnings to the debug console using Windows @OutputDebugString@. The
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
@@ -216,11 +216,7 @@
 -- application /can/ link a 'DebugUtilsMessengerCreateInfoEXT' structure to
 -- the @pNext@ element of the
 -- 'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo' structure given
--- to 'Vulkan.Core10.DeviceInitialization.createInstance'. This callback is
--- only valid for the duration of the
--- 'Vulkan.Core10.DeviceInitialization.createInstance' and the
--- 'Vulkan.Core10.DeviceInitialization.destroyInstance' call. Use
--- 'createDebugUtilsMessengerEXT' to create persistent callback objects.
+-- to 'Vulkan.Core10.DeviceInitialization.createInstance'.
 --
 -- Example uses: Create three callback objects. One will log errors and
 -- warnings to the debug console using Windows @OutputDebugString@. The
diff --git a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot
--- a/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot
+++ b/src/Vulkan/Extensions/VK_EXT_debug_utils.hs-boot
@@ -216,11 +216,7 @@
 -- application /can/ link a 'DebugUtilsMessengerCreateInfoEXT' structure to
 -- the @pNext@ element of the
 -- 'Vulkan.Core10.DeviceInitialization.InstanceCreateInfo' structure given
--- to 'Vulkan.Core10.DeviceInitialization.createInstance'. This callback is
--- only valid for the duration of the
--- 'Vulkan.Core10.DeviceInitialization.createInstance' and the
--- 'Vulkan.Core10.DeviceInitialization.destroyInstance' call. Use
--- 'createDebugUtilsMessengerEXT' to create persistent callback objects.
+-- to 'Vulkan.Core10.DeviceInitialization.createInstance'.
 --
 -- Example uses: Create three callback objects. One will log errors and
 -- warnings to the debug console using Windows @OutputDebugString@. 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
@@ -1461,6 +1461,10 @@
 --
 -- = Description
 --
+-- This command copies the @pInfo->src@ acceleration structure to the
+-- @pInfo->dst@ acceleration structure in the manner specified by
+-- @pInfo->mode@.
+--
 -- Accesses to @pInfo->src@ and @pInfo->dst@ /must/ be
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies synchronized>
 -- with the
@@ -6771,14 +6775,18 @@
 -- | 'COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR' creates a direct copy of
 -- the acceleration structure specified in @src@ into the one specified by
 -- @dst@. The @dst@ acceleration structure /must/ have been created with
--- the same parameters as @src@.
+-- the same parameters as @src@. If @src@ contains references to other
+-- acceleration structures, @dst@ will reference the same acceleration
+-- structures.
 pattern COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR       = CopyAccelerationStructureModeKHR 0
 -- | 'COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR' creates a more compact
 -- version of an acceleration structure @src@ into @dst@. The acceleration
 -- structure @dst@ /must/ have been created with a size at least as large
 -- as that returned by 'cmdWriteAccelerationStructuresPropertiesKHR' or
 -- 'writeAccelerationStructuresPropertiesKHR' after the build of the
--- acceleration structure specified by @src@.
+-- acceleration structure specified by @src@. If @src@ contains references
+-- to other acceleration structures, @dst@ will reference the same
+-- acceleration structures.
 pattern COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR     = CopyAccelerationStructureModeKHR 1
 -- | 'COPY_ACCELERATION_STRUCTURE_MODE_SERIALIZE_KHR' serializes the
 -- acceleration structure to a semi-opaque format which can be reloaded on
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 = 180
+pattern HEADER_VERSION = 181
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 180
+pattern HEADER_VERSION_COMPLETE = MAKE_API_VERSION 1 2 181
 
 
 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.10.3
+version:        3.10.4
 synopsis:       Bindings to the Vulkan graphics API.
 category:       Graphics
 homepage:       https://github.com/expipiplus1/vulkan#readme
