diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,6 +2,9 @@
 
 ## WIP
 
+## [3.6.15] - 2020-11-16
+- Bump API version to v1.2.161
+
 ## [3.6.14] - 2020-11-15
 
 - Add `FiniteBits` instance for Flags
diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: vulkan
-version: "3.6.14"
+version: "3.6.15"
 synopsis: Bindings to the Vulkan graphics API.
 category: Graphics
 maintainer: Joe Hermaszewski <live.long.and.prosper@monoid.al>
diff --git a/src/Vulkan/Core10/Enums/ObjectType.hs b/src/Vulkan/Core10/Enums/ObjectType.hs
--- a/src/Vulkan/Core10/Enums/ObjectType.hs
+++ b/src/Vulkan/Core10/Enums/ObjectType.hs
@@ -141,6 +141,10 @@
 -- +-----------------------------------------------+-----------------------------------------------------------+
 -- | 'OBJECT_TYPE_PERFORMANCE_CONFIGURATION_INTEL' | 'Vulkan.Extensions.Handles.PerformanceConfigurationINTEL' |
 -- +-----------------------------------------------+-----------------------------------------------------------+
+-- | 'OBJECT_TYPE_DEFERRED_OPERATION_KHR'          | 'Vulkan.Extensions.Handles.DeferredOperationKHR'          |
+-- +-----------------------------------------------+-----------------------------------------------------------+
+-- | 'OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT'           | 'Vulkan.Extensions.Handles.PrivateDataSlotEXT'            |
+-- +-----------------------------------------------+-----------------------------------------------------------+
 --
 -- 'ObjectType' and Vulkan Handle Relationship
 --
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
@@ -996,22 +996,25 @@
 --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D' or
 --     'Vulkan.Core10.Enums.ImageViewType.IMAGE_VIEW_TYPE_2D_ARRAY'
 --
--- -   #VUID-VkImageViewCreateInfo-image-02087# If @image@ was created with
---     @usage@ containing
+-- -   #VUID-VkImageViewCreateInfo-image-02087# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-shadingRateImage shadingRateImage feature>
+--     is enabled, and If @image@ was created with @usage@ containing
 --     'Vulkan.Core10.Enums.ImageUsageFlagBits.IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV',
 --     @format@ /must/ be 'Vulkan.Core10.Enums.Format.FORMAT_R8_UINT'
 --
--- -   #VUID-VkImageViewCreateInfo-usage-04550# If the @usage@ for the
---     image view includes
+-- -   #VUID-VkImageViewCreateInfo-usage-04550# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
+--     is enabled, and the @usage@ for the image view includes
 --     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR',
 --     then the image view’s
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#resources-image-view-format-features format features>
 --     /must/ contain
 --     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
--- -   #VUID-VkImageViewCreateInfo-usage-04551# If the @usage@ for the
---     image view includes
---     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
+-- -   #VUID-VkImageViewCreateInfo-usage-04551# If the
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#features-attachmentFragmentShadingRate attachmentFragmentShadingRate feature>
+--     is enabled, the @usage@ for the image view includes
+--     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR',
 --     and
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#limits-layeredShadingRateAttachments layeredShadingRateAttachments>
 --     is 'Vulkan.Core10.FundamentalTypes.FALSE',
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
@@ -1845,13 +1845,6 @@
 --     structure, and each element of its @pViewMasks@ member is @0@,
 --     @correlatedViewMaskCount@ /must/ be @0@
 --
--- -   #VUID-VkRenderPassCreateInfo-pNext-02516# If the @pNext@ chain
---     includes a
---     'Vulkan.Core11.Promoted_From_VK_KHR_multiview.RenderPassMultiviewCreateInfo'
---     structure, each element of its @pViewMask@ member /must/ not have a
---     bit set at an index greater than or equal to
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxFramebufferLayers@
---
 -- -   #VUID-VkRenderPassCreateInfo-pDependencies-00837# For any element of
 --     @pDependencies@, if the @srcSubpass@ is not
 --     'Vulkan.Core10.APIConstants.SUBPASS_EXTERNAL', all stage flags
@@ -2378,6 +2371,15 @@
 --     in the @pNext@ chain that is used as a
 --     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-fragment-shading-rate-attachment fragment shading rate attachment>
 --     /must/ be either @1@, or greater than or equal to @layers@
+--
+-- -   #VUID-VkFramebufferCreateInfo-flags-04587# If @flags@ includes
+--     'Vulkan.Core10.Enums.FramebufferCreateFlagBits.FRAMEBUFFER_CREATE_IMAGELESS_BIT',
+--     and @renderPass@ was specified with non-zero view masks, each
+--     element of @pAttachments@ that is used as a
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#primsrast-fragment-shading-rate-attachment fragment shading rate attachment>
+--     by @renderPass@ /must/ have a @layerCount@ that is either @1@, or
+--     greater than the index of the most significant bit set in any of
+--     those view masks
 --
 -- -   #VUID-VkFramebufferCreateInfo-renderPass-03198# If multiview is
 --     enabled for @renderPass@, and @flags@ includes
diff --git a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs
--- a/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs
+++ b/src/Vulkan/Core11/Promoted_From_VK_KHR_external_memory.hs
@@ -40,9 +40,9 @@
 --
 -- Note
 --
--- A 'ExternalMemoryImageCreateInfo' structure must be included in the
--- creation parameters for an image that will be bound to memory that is
--- either exported or imported.
+-- A 'ExternalMemoryImageCreateInfo' structure with a non-zero @handleType@
+-- field must be included in the creation parameters for an image that will
+-- be bound to memory that is either exported or imported.
 --
 -- == Valid Usage (Implicit)
 --
@@ -51,7 +51,7 @@
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalMemoryImageCreateInfo = ExternalMemoryImageCreateInfo
-  { -- | @handleTypes@ is a bitmask of
+  { -- | @handleTypes@ is zero, or a bitmask of
     -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits'
     -- specifying one or more external memory handle types.
     --
@@ -59,9 +59,6 @@
     -- @handleTypes@ /must/ be a valid combination of
     -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits'
     -- values
-    --
-    -- #VUID-VkExternalMemoryImageCreateInfo-handleTypes-requiredbitmask#
-    -- @handleTypes@ /must/ not be @0@
     handleTypes :: ExternalMemoryHandleTypeFlags }
   deriving (Typeable, Eq)
 #if defined(GENERIC_INSTANCES)
@@ -81,7 +78,6 @@
   pokeZeroCStruct p f = do
     poke ((p `plusPtr` 0 :: Ptr StructureType)) (STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO)
     poke ((p `plusPtr` 8 :: Ptr (Ptr ()))) (nullPtr)
-    poke ((p `plusPtr` 16 :: Ptr ExternalMemoryHandleTypeFlags)) (zero)
     f
 
 instance FromCStruct ExternalMemoryImageCreateInfo where
@@ -108,9 +104,9 @@
 --
 -- Note
 --
--- A 'ExternalMemoryBufferCreateInfo' structure must be included in the
--- creation parameters for a buffer that will be bound to memory that is
--- either exported or imported.
+-- A 'ExternalMemoryBufferCreateInfo' structure with a non-zero
+-- @handleTypes@ field must be included in the creation parameters for a
+-- buffer that will be bound to memory that is either exported or imported.
 --
 -- == Valid Usage (Implicit)
 --
@@ -119,7 +115,7 @@
 -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlags',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalMemoryBufferCreateInfo = ExternalMemoryBufferCreateInfo
-  { -- | @handleTypes@ is a bitmask of
+  { -- | @handleTypes@ is zero, or a bitmask of
     -- 'Vulkan.Core11.Enums.ExternalMemoryHandleTypeFlagBits.ExternalMemoryHandleTypeFlagBits'
     -- specifying one or more external memory handle types.
     --
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
@@ -1256,14 +1256,6 @@
 --     attachment /must/ not be used in both @pDepthStencilAttachment@ and
 --     @pColorAttachments@
 --
--- -   #VUID-VkSubpassDescription2-pFragmentShadingRateAttachment-04522# If
---     the @pFragmentShadingRateAttachment@ member of a
---     'Vulkan.Extensions.VK_KHR_fragment_shading_rate.FragmentShadingRateAttachmentInfoKHR'
---     structure included in the @pNext@ chain is not @NULL@, and its
---     @attachment@ member is not
---     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED', that attachment
---     /must/ not be used as any other attachment in this subpass
---
 -- == Valid Usage (Implicit)
 --
 -- -   #VUID-VkSubpassDescription2-sType-sType# @sType@ /must/ be
@@ -1826,10 +1818,6 @@
 --     @dependencyFlags@ member /must/ include
 --     'Vulkan.Core10.Enums.DependencyFlagBits.DEPENDENCY_VIEW_LOCAL_BIT'
 --
--- -   #VUID-VkRenderPassCreateInfo2-viewMask-02524# The @viewMask@ member
---     /must/ not have a bit set at an index greater than or equal to
---     'Vulkan.Core10.DeviceInitialization.PhysicalDeviceLimits'::@maxFramebufferLayers@
---
 -- -   #VUID-VkRenderPassCreateInfo2-attachment-02525# If the @attachment@
 --     member of any element of the @pInputAttachments@ member of any
 --     element of @pSubpasses@ is not
@@ -1846,10 +1834,10 @@
 --     member of each element of @pDependencies@ /must/ be less than
 --     @subpassCount@
 --
--- -   #VUID-VkRenderPassCreateInfo2-pAttachmentImageInfos-04520# If any
---     element of @pAttachmentImageInfos@ is used as a fragment shading
---     rate attachment in any subpass, it /must/ not be used as any other
---     attachment in the render pass
+-- -   #VUID-VkRenderPassCreateInfo2-pAttachments-04585# If any element of
+--     @pAttachments@ is used as a fragment shading rate attachment in any
+--     subpass, it /must/ not be used as any other attachment in the render
+--     pass
 --
 -- -   #VUID-VkRenderPassCreateInfo2-flags-04521# If @flags@ includes
 --     'Vulkan.Core10.Enums.RenderPassCreateFlagBits.RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM',
@@ -1859,6 +1847,13 @@
 --     member of that structure is not equal to @NULL@, the @attachment@
 --     member of @pFragmentShadingRateAttachment@ /must/ be
 --     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED'
+--
+-- -   #VUID-VkRenderPassCreateInfo2-pAttachments-04586# If any element of
+--     @pAttachments@ is used as a fragment shading rate attachment in any
+--     subpass, it /must/ have an image format whose
+--     <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#potential-format-features potential format features>
+--     contain
+--     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
 --
 -- == Valid Usage (Implicit)
 --
diff --git a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
--- a/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
+++ b/src/Vulkan/Extensions/VK_KHR_fragment_shading_rate.hs
@@ -430,13 +430,6 @@
 --
 -- == Valid Usage
 --
--- -   #VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04523#
---     If @pFragmentShadingRateAttachment@ is not @NULL@ and its
---     @attachment@ member is not
---     'Vulkan.Core10.APIConstants.ATTACHMENT_UNUSED' then it /must/ have a
---     format whose features contain
---     'Vulkan.Core10.Enums.FormatFeatureFlagBits.FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR'
---
 -- -   #VUID-VkFragmentShadingRateAttachmentInfoKHR-pFragmentShadingRateAttachment-04524#
 --     If @pFragmentShadingRateAttachment@ is not @NULL@ and its
 --     @attachment@ member is not
diff --git a/src/Vulkan/Extensions/VK_NV_external_memory.hs b/src/Vulkan/Extensions/VK_NV_external_memory.hs
--- a/src/Vulkan/Extensions/VK_NV_external_memory.hs
+++ b/src/Vulkan/Extensions/VK_NV_external_memory.hs
@@ -42,7 +42,7 @@
 -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagsNV',
 -- 'Vulkan.Core10.Enums.StructureType.StructureType'
 data ExternalMemoryImageCreateInfoNV = ExternalMemoryImageCreateInfoNV
-  { -- | @handleTypes@ is a bitmask of
+  { -- | @handleTypes@ is zero, or a bitmask of
     -- 'Vulkan.Extensions.VK_NV_external_memory_capabilities.ExternalMemoryHandleTypeFlagBitsNV'
     -- specifying one or more external memory handle types.
     --
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 = 160
+pattern HEADER_VERSION = 161
 
 
 pattern HEADER_VERSION_COMPLETE :: Word32
-pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 160
+pattern HEADER_VERSION_COMPLETE = MAKE_VERSION 1 2 161
 
 
 pattern MAKE_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.6.14
+version:        3.6.15
 synopsis:       Bindings to the Vulkan graphics API.
 category:       Graphics
 homepage:       https://github.com/expipiplus1/vulkan#readme
