diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.6.1] - 2020-07-14
+  - Bump API version to 1.2.147
+
 ## [3.6] - 2020-07-05
   - Bump API version to 1.2.146
 
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
@@ -4014,15 +4014,13 @@
 -- of @srcSubresource@ for the source and @dstSubresource@ for the
 -- destination. @layerCount@ layers are blitted to the destination image.
 --
--- 3D textures are blitted slice by slice. Slices in the source region
--- bounded by @srcOffsets@[0].z and @srcOffsets@[1].z are copied to slices
--- in the destination region bounded by @dstOffsets@[0].z and
--- @dstOffsets@[1].z. For each destination slice, a source __z__ coordinate
--- is linearly interpolated between @srcOffsets@[0].z and
--- @srcOffsets@[1].z. If the @filter@ parameter is
--- 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR' then the value sampled from
--- the source image is taken by doing linear filtering using the
--- interpolated __z__ coordinate. If @filter@ parameter is
+-- When blitting 3D textures, slices in the destination region bounded by
+-- @dstOffsets@[0].z and @dstOffsets@[1].z are sampled from slices in the
+-- source region bounded by @srcOffsets@[0].z and @srcOffsets@[1].z. If the
+-- @filter@ parameter is 'Vulkan.Core10.Enums.Filter.FILTER_LINEAR' then
+-- the value sampled from the source image is taken by doing linear
+-- filtering using the interpolated __z__ coordinate represented by __w__
+-- in the previous equations. If the @filter@ parameter is
 -- 'Vulkan.Core10.Enums.Filter.FILTER_NEAREST' then the value sampled from
 -- the source image is taken from the single nearest slice, with an
 -- implementation-dependent arithmetic rounding mode.
diff --git a/src/Vulkan/Core10/Enums/AccessFlagBits.hs b/src/Vulkan/Core10/Enums/AccessFlagBits.hs
--- a/src/Vulkan/Core10/Enums/AccessFlagBits.hs
+++ b/src/Vulkan/Core10/Enums/AccessFlagBits.hs
@@ -270,10 +270,14 @@
 -- 'Vulkan.Extensions.VK_NV_shading_rate_image.cmdBindShadingRateImageNV'.
 pattern ACCESS_SHADING_RATE_IMAGE_READ_BIT_NV = AccessFlagBits 0x00800000
 -- | 'ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR' specifies write access to
--- an acceleration structure as part of a build command.
+-- an acceleration structure or
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-scratch acceleration structure scratch buffer>
+-- as part of a build command.
 pattern ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR = AccessFlagBits 0x00400000
 -- | 'ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR' specifies read access to an
--- acceleration structure as part of a trace or build command.
+-- acceleration structure as part of a trace or build command, or to an
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#acceleration-structure-scratch acceleration structure scratch buffer>
+-- as part of a build command.
 pattern ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR = AccessFlagBits 0x00200000
 -- | 'ACCESS_COLOR_ATTACHMENT_READ_NONCOHERENT_BIT_EXT' is similar to
 -- 'ACCESS_COLOR_ATTACHMENT_READ_BIT', but also includes
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
@@ -864,6 +864,11 @@
 --     feature is not enabled, @flags@ /must/ not contain
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_ALIASED_BIT'
 --
+-- -   If @tiling@ is
+--     'Vulkan.Core10.Enums.ImageTiling.IMAGE_TILING_LINEAR', @flags@
+--     /must/ not contain
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
+--
 -- -   If @imageType@ is 'Vulkan.Core10.Enums.ImageType.IMAGE_TYPE_1D',
 --     @flags@ /must/ not contain
 --     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_SPARSE_RESIDENCY_BIT'
diff --git a/src/Vulkan/Core10/MemoryManagement.hs b/src/Vulkan/Core10/MemoryManagement.hs
--- a/src/Vulkan/Core10/MemoryManagement.hs
+++ b/src/Vulkan/Core10/MemoryManagement.hs
@@ -65,24 +65,8 @@
 -- | vkGetBufferMemoryRequirements - Returns the memory requirements for
 -- specified Vulkan object
 --
--- == Valid Usage
---
--- -   If @buffer@ was created with the
---     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID'
---     external memory handle type, then @buffer@ /must/ be bound to memory
---
 -- == Valid Usage (Implicit)
 --
--- -   @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
---
--- -   @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle
---
--- -   @pMemoryRequirements@ /must/ be a valid pointer to a
---     'MemoryRequirements' structure
---
--- -   @buffer@ /must/ have been created, allocated, or retrieved from
---     @device@
---
 -- = See Also
 --
 -- 'Vulkan.Core10.Handles.Buffer', 'Vulkan.Core10.Handles.Device',
@@ -90,8 +74,14 @@
 getBufferMemoryRequirements :: forall io
                              . (MonadIO io)
                             => -- | @device@ is the logical device that owns the buffer.
+                               --
+                               -- @device@ /must/ be a valid 'Vulkan.Core10.Handles.Device' handle
                                Device
                             -> -- | @buffer@ is the buffer to query.
+                               --
+                               -- @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle
+                               --
+                               -- @buffer@ /must/ have been created, allocated, or retrieved from @device@
                                Buffer
                             -> io (MemoryRequirements)
 getBufferMemoryRequirements device buffer = liftIO . evalContT $ do
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
@@ -653,6 +653,13 @@
 --     not contain
 --     'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_TASK_SHADER_BIT_NV'
 --
+-- -   If the @pNext@ chain of this structure does not include a
+--     'Vulkan.Core11.Originally_Based_On_VK_KHR_protected_memory.ProtectedSubmitInfo'
+--     structure with @protectedSubmit@ set to
+--     'Vulkan.Core10.FundamentalTypes.TRUE', then each element of the
+--     command buffer of the @pCommandBuffers@ array /must/ be an
+--     unprotected command buffer
+--
 -- == Valid Usage (Implicit)
 --
 -- -   @sType@ /must/ be
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
@@ -132,15 +132,6 @@
 --     each element of the @pCommandBuffers@ array /must/ be a protected
 --     command buffer
 --
--- -   If @protectedSubmit@ is 'Vulkan.Core10.FundamentalTypes.FALSE', then
---     each element of the @pCommandBuffers@ array /must/ be an unprotected
---     command buffer
---
--- -   If the 'Vulkan.Core10.Queue.SubmitInfo'::@pNext@ chain does not
---     include a 'ProtectedSubmitInfo' structure, then each element of the
---     command buffer of the @pCommandBuffers@ array /must/ be an
---     unprotected command buffer
---
 -- == Valid Usage (Implicit)
 --
 -- -   @sType@ /must/ be
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
@@ -247,6 +247,18 @@
 --     'Vulkan.Core11.Promoted_From_VK_KHR_dedicated_allocation.MemoryDedicatedAllocateInfo'::@buffer@
 --     and @memoryOffset@ /must/ be zero
 --
+-- -   If @buffer@ was created with the
+--     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_PROTECTED_BIT'
+--     bit set, the buffer /must/ be bound to a memory object allocated
+--     with a memory type that reports
+--     'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'
+--
+-- -   If @buffer@ was created with the
+--     'Vulkan.Core10.Enums.BufferCreateFlagBits.BUFFER_CREATE_PROTECTED_BIT'
+--     bit not set, the buffer /must/ not be bound to a memory object
+--     created with a memory type that reports
+--     'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'
+--
 -- -   If @buffer@ was created with
 --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationBufferCreateInfoNV'::@dedicatedAllocation@
 --     equal to 'Vulkan.Core10.FundamentalTypes.TRUE', @memory@ /must/ have
@@ -514,6 +526,18 @@
 --     for which the allocation was created; and the @arrayLayers@
 --     parameter of the image being bound /must/ be equal to or smaller
 --     than the original image for which the allocation was created
+--
+-- -   If image was created with the
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_PROTECTED_BIT'
+--     bit set, the image /must/ be bound to a memory object allocated with
+--     a memory type that reports
+--     'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'
+--
+-- -   If image was created with the
+--     'Vulkan.Core10.Enums.ImageCreateFlagBits.IMAGE_CREATE_PROTECTED_BIT'
+--     bit not set, the image /must/ not be bound to a memory object
+--     created with a memory type that reports
+--     'Vulkan.Core10.Enums.MemoryPropertyFlagBits.MEMORY_PROPERTY_PROTECTED_BIT'
 --
 -- -   If @image@ was created with
 --     'Vulkan.Extensions.VK_NV_dedicated_allocation.DedicatedAllocationImageCreateInfoNV'::@dedicatedAllocation@
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_get_memory_requirements2.hs
@@ -217,21 +217,8 @@
 
 -- | VkBufferMemoryRequirementsInfo2 - (None)
 --
--- == Valid Usage
---
--- -   If @buffer@ was created with the
---     'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID'
---     external memory handle type, then @buffer@ /must/ be bound to memory
---
 -- == Valid Usage (Implicit)
 --
--- -   @sType@ /must/ be
---     'Vulkan.Core10.Enums.StructureType.STRUCTURE_TYPE_BUFFER_MEMORY_REQUIREMENTS_INFO_2'
---
--- -   @pNext@ /must/ be @NULL@
---
--- -   @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle
---
 -- = See Also
 --
 -- 'Vulkan.Core10.Handles.Buffer',
@@ -240,6 +227,8 @@
 -- 'Vulkan.Extensions.VK_KHR_get_memory_requirements2.getBufferMemoryRequirements2KHR'
 data BufferMemoryRequirementsInfo2 = BufferMemoryRequirementsInfo2
   { -- | @buffer@ is the buffer to query.
+    --
+    -- @buffer@ /must/ be a valid 'Vulkan.Core10.Handles.Buffer' handle
     buffer :: Buffer }
   deriving (Typeable, Eq)
 #if defined(GENERIC_INSTANCES)
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_sampler_ycbcr_conversion.hs
@@ -368,14 +368,18 @@
 --     of the sampler Y′CBCR conversion do not support
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_COSITED_CHROMA_SAMPLES_BIT',
 --     @xChromaOffset@ and @yChromaOffset@ /must/ not be
---     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN'
+--     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_COSITED_EVEN' if
+--     the corresponding channels are
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction downsampled>
 --
 -- -   If the
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>
 --     of the sampler Y′CBCR conversion do not support
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_MIDPOINT_CHROMA_SAMPLES_BIT',
 --     @xChromaOffset@ and @yChromaOffset@ /must/ not be
---     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT'
+--     'Vulkan.Core11.Enums.ChromaLocation.CHROMA_LOCATION_MIDPOINT' if the
+--     corresponding channels are
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction downsampled>
 --
 -- -   If the format has a @_422@ or @_420@ suffix, then @components.g@
 --     /must/ be the
@@ -506,7 +510,7 @@
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction sample location>
     -- associated with downsampled chroma channels in the x dimension.
     -- @xChromaOffset@ has no effect for formats in which chroma channels are
-    -- the same resolution as the luma channel.
+    -- not downsampled horizontally.
     xChromaOffset :: ChromaLocation
   , -- | @yChromaOffset@ describes the
     -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#textures-chroma-reconstruction sample location>
diff --git a/src/Vulkan/Extensions/VK_KHR_ray_tracing.hs b/src/Vulkan/Extensions/VK_KHR_ray_tracing.hs
--- a/src/Vulkan/Extensions/VK_KHR_ray_tracing.hs
+++ b/src/Vulkan/Extensions/VK_KHR_ray_tracing.hs
@@ -2593,6 +2593,20 @@
 -- acceleration structure memories or scratch memories being used by any of
 -- the builds.
 --
+-- Accesses to the acceleration structure scratch buffers as identified by
+-- the 'AccelerationStructureBuildGeometryInfoKHR'→@scratchData@ buffer
+-- device addresses /must/ be
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies synchronized>
+-- with the
+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR'
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages pipeline stage>
+-- and an
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types access type>
+-- of
+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'
+-- or
+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR'.
+--
 -- == Valid Usage
 --
 -- -   Each element of @ppOffsetInfos@[i] /must/ be a valid pointer to an
diff --git a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
--- a/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
+++ b/src/Vulkan/Extensions/VK_NV_coverage_reduction_mode.hs
@@ -236,8 +236,8 @@
 --
 -- = Description
 --
--- If this structure is not present, the default coverage reduction mode is
--- inferred as follows:
+-- If this structure is not present, or if the extension is not enabled,
+-- the default coverage reduction mode is inferred as follows:
 --
 -- -   If the @VK_NV_framebuffer_mixed_samples@ extension is enabled, then
 --     it is as if the @coverageReductionMode@ is
@@ -270,7 +270,7 @@
   { -- | @flags@ is reserved for future use.
     flags :: PipelineCoverageReductionStateCreateFlagsNV
   , -- | @coverageReductionMode@ is a 'CoverageReductionModeNV' value controlling
-    -- how the /color sample mask/ is generated from the coverage mask.
+    -- how color sample coverage is generated from pixel coverage.
     coverageReductionMode :: CoverageReductionModeNV
   }
   deriving (Typeable, Eq)
@@ -429,16 +429,16 @@
 newtype CoverageReductionModeNV = CoverageReductionModeNV Int32
   deriving newtype (Eq, Ord, Storable, Zero)
 
--- | 'COVERAGE_REDUCTION_MODE_MERGE_NV': In this mode, there is an
--- implementation-dependent association of each coverage sample to a color
--- sample. The reduced color sample mask is computed such that the bit for
--- each color sample is 1 if any of the associated bits in the fragment’s
--- coverage is on, and 0 otherwise.
+-- | 'COVERAGE_REDUCTION_MODE_MERGE_NV' specifies that each color sample will
+-- be associated with an implementation-dependent subset of samples in the
+-- pixel coverage. If any of those associated samples are covered, the
+-- color sample is covered.
 pattern COVERAGE_REDUCTION_MODE_MERGE_NV = CoverageReductionModeNV 0
--- | 'COVERAGE_REDUCTION_MODE_TRUNCATE_NV': In this mode, only the first M
--- coverage samples are associated with the color samples such that
+-- | 'COVERAGE_REDUCTION_MODE_TRUNCATE_NV' specifies that for color samples
+-- present in the color attachments, a color sample is covered if the pixel
+-- coverage sample with the same
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-multisampling-coverage-mask sample index>
--- i maps to color sample index i, where M is the number of color samples.
+-- i is covered; other pixel coverage samples are discarded.
 pattern COVERAGE_REDUCTION_MODE_TRUNCATE_NV = CoverageReductionModeNV 1
 {-# complete COVERAGE_REDUCTION_MODE_MERGE_NV,
              COVERAGE_REDUCTION_MODE_TRUNCATE_NV :: CoverageReductionModeNV #-}
diff --git a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
--- a/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
+++ b/src/Vulkan/Extensions/VK_NV_fragment_coverage_to_color.hs
@@ -49,6 +49,12 @@
 --
 -- = Description
 --
+-- If the @pNext@ chain of
+-- 'Vulkan.Core10.Pipeline.PipelineMultisampleStateCreateInfo' includes a
+-- 'PipelineCoverageToColorStateCreateInfoNV' structure, then that
+-- structure controls whether the fragment coverage is substituted for a
+-- fragment color output and, if so, which output is replaced.
+--
 -- If @coverageToColorEnable@ is 'Vulkan.Core10.FundamentalTypes.TRUE', the
 -- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-multisampling-coverage-mask coverage mask>
 -- replaces the first component of the color value corresponding to the
diff --git a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
--- a/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
+++ b/src/Vulkan/Extensions/VK_NV_framebuffer_mixed_samples.hs
@@ -73,10 +73,10 @@
 --
 -- If @coverageModulationTableEnable@ is
 -- 'Vulkan.Core10.FundamentalTypes.FALSE', then for each color sample the
--- associated bits of the fragment’s coverage are counted and divided by
--- the number of associated bits to produce a modulation factor R in the
--- range (0,1] (a value of zero would have been killed due to a color
--- coverage of 0). Specifically:
+-- associated bits of the pixel coverage are counted and divided by the
+-- number of associated bits to produce a modulation factor R in the range
+-- (0,1] (a value of zero would have been killed due to a color coverage of
+-- 0). Specifically:
 --
 -- -   N = value of @rasterizationSamples@
 --
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
@@ -609,6 +609,20 @@
 
 -- | vkCmdBuildAccelerationStructureNV - Build an acceleration structure
 --
+-- = Description
+--
+-- Accesses to @scratch@ /must/ be
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-dependencies synchronized>
+-- with the
+-- 'Vulkan.Core10.Enums.PipelineStageFlagBits.PIPELINE_STAGE_ACCELERATION_STRUCTURE_BUILD_BIT_KHR'
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-pipeline-stages pipeline stage>
+-- and an
+-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#synchronization-access-types access type>
+-- of
+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_READ_BIT_KHR'
+-- or
+-- 'Vulkan.Core10.Enums.AccessFlagBits.ACCESS_ACCELERATION_STRUCTURE_WRITE_BIT_KHR'.
+--
 -- == Valid Usage
 --
 -- -   @geometryCount@ /must/ be less than or equal to
diff --git a/src/Vulkan/Version.hs b/src/Vulkan/Version.hs
--- a/src/Vulkan/Version.hs
+++ b/src/Vulkan/Version.hs
@@ -14,11 +14,11 @@
 import Data.Word (Word32)
 
 pattern HEADER_VERSION :: Word32
-pattern HEADER_VERSION = 146
+pattern HEADER_VERSION = 147
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 146
+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 147
 
 
 pattern MAKE_VERSION :: Word32 -> Word32 -> Word32 -> Word32
diff --git a/vulkan.cabal b/vulkan.cabal
--- a/vulkan.cabal
+++ b/vulkan.cabal
@@ -4,10 +4,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 5d8265056859e741eaa7e8b75c2a0912a2af1449556e077fc144ec532a2b3dc0
+-- hash: ab4f11203014cb17410935e123ca7ec6a20dfab05bbc237d3c7519e80d55be2a
 
 name:           vulkan
-version:        3.6
+version:        3.6.1
 synopsis:       Bindings to the Vulkan graphics API.
 category:       Graphics
 homepage:       https://github.com/expipiplus1/vulkan#readme
