Merge tag 'v1.2.198' into HEAD

Update for Vulkan-Docs 1.2.198
Bug: 90846

Change-Id: Ib2d149d86ac3d27bc893c62e86e189724bd38ad3
diff --git a/BUILD.gn b/BUILD.gn
index 27a14df..7d708ff 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -24,6 +24,9 @@
   if (defined(vulkan_use_x11) && vulkan_use_x11) {
     defines = [ "VK_USE_PLATFORM_XCB_KHR" ]
   }
+  if (defined(vulkan_use_wayland) && vulkan_use_wayland) {
+    defines = [ "VK_USE_PLATFORM_WAYLAND_KHR" ]
+  }
   if (is_android) {
     defines = [ "VK_USE_PLATFORM_ANDROID_KHR" ]
   }
@@ -38,6 +41,10 @@
   }
 }
 
+config("no_nodiscard_warnings") {
+  defines = [ "VULKAN_HPP_NO_NODISCARD_WARNINGS" ]
+}
+
 # Vulkan headers only, no compiled sources.
 source_set("vulkan_headers") {
   sources = [
@@ -50,6 +57,11 @@
     "include/vulkan/vulkan_core.h",
     "include/vulkan/vulkan_screen.h",
   ]
-  public_configs = [ ":vulkan_headers_config" ]
+  public_configs = [
+    ":vulkan_headers_config",
+    ":no_nodiscard_warnings",
+  ]
+  if (defined(vulkan_use_wayland) && vulkan_use_wayland) {
+    public_deps = [ "//third_party/wayland:client" ]
+  }
 }
-
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..8089867
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1,4 @@
+reveman@google.com
+jbauman@google.com
+rosasco@google.com
+cstout@google.com
diff --git a/README.fuchsia b/README.fuchsia
new file mode 100644
index 0000000..75c3c45
--- /dev/null
+++ b/README.fuchsia
@@ -0,0 +1,8 @@
+Name: Vulkan-Headers
+License: Apache 2.0
+License File: LICENSE.txt
+Upstream Git: https://github.com/KhronosGroup/Vulkan-Headers
+Description:
+
+Vulkan header files and API registry.
+
diff --git a/include/vulkan/vk_icd.h b/include/vulkan/vk_icd.h
index 41989ee..741c4df 100644
--- a/include/vulkan/vk_icd.h
+++ b/include/vulkan/vk_icd.h
@@ -116,6 +116,7 @@
     VK_ICD_WSI_PLATFORM_ANDROID,
     VK_ICD_WSI_PLATFORM_MACOS,
     VK_ICD_WSI_PLATFORM_IOS,
+    VK_ICD_WSI_PLATFORM_FUCHSIA,
     VK_ICD_WSI_PLATFORM_DISPLAY,
     VK_ICD_WSI_PLATFORM_HEADLESS,
     VK_ICD_WSI_PLATFORM_METAL,
@@ -198,6 +199,12 @@
 } VkIcdSurfaceIOS;
 #endif  // VK_USE_PLATFORM_IOS_MVK
 
+#ifdef VK_USE_PLATFORM_FUCHSIA
+typedef struct {
+  VkIcdSurfaceBase base;
+} VkIcdSurfaceImagePipe;
+#endif // VK_USE_PLATFORM_FUCHSIA
+
 #ifdef VK_USE_PLATFORM_GGP
 typedef struct {
     VkIcdSurfaceBase base;
diff --git a/include/vulkan/vulkan.hpp b/include/vulkan/vulkan.hpp
index 406253a..7cec466 100644
--- a/include/vulkan/vulkan.hpp
+++ b/include/vulkan/vulkan.hpp
@@ -5453,6 +5453,19 @@
     }
 
 #  if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_memory_control ===
+
+    VkResult vkModifyMemoryRangesFUCHSIA( VkDevice                     device,
+                                          VkMemoryOpFlagsFUCHSIA       op,
+                                          uint32_t                     memoryRangeCount,
+                                          const VkMemoryRangeFUCHSIA * pMemoryRanges,
+                                          VkMemoryOpResultFUCHSIA *    pOpResults ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkModifyMemoryRangesFUCHSIA( device, op, memoryRangeCount, pMemoryRanges, pOpResults );
+    }
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
     //=== VK_FUCHSIA_external_memory ===
 
     VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
@@ -5534,6 +5547,64 @@
     }
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_buffer_collection_x ===
+
+    VkResult vkCreateBufferCollectionFUCHSIAX( VkDevice                                     device,
+                                               const VkBufferCollectionCreateInfoFUCHSIAX * pImportInfo,
+                                               const VkAllocationCallbacks *                pAllocator,
+                                               VkBufferCollectionFUCHSIAX * pCollection ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkCreateBufferCollectionFUCHSIAX( device, pImportInfo, pAllocator, pCollection );
+    }
+
+    VkResult vkSetBufferCollectionConstraintsFUCHSIAX( VkDevice                   device,
+                                                       VkBufferCollectionFUCHSIAX collection,
+                                                       const VkImageCreateInfo *  pImageInfo ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkSetBufferCollectionConstraintsFUCHSIAX( device, collection, pImageInfo );
+    }
+
+    VkResult vkSetBufferCollectionImageConstraintsFUCHSIAX(
+      VkDevice                               device,
+      VkBufferCollectionFUCHSIAX             collection,
+      const VkImageConstraintsInfoFUCHSIAX * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkSetBufferCollectionImageConstraintsFUCHSIAX( device, collection, pImageConstraintsInfo );
+    }
+
+    VkResult vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+      VkDevice                                device,
+      VkBufferCollectionFUCHSIAX              collection,
+      const VkBufferConstraintsInfoFUCHSIAX * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkSetBufferCollectionBufferConstraintsFUCHSIAX( device, collection, pBufferConstraintsInfo );
+    }
+
+    void vkDestroyBufferCollectionFUCHSIAX( VkDevice                      device,
+                                            VkBufferCollectionFUCHSIAX    collection,
+                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkDestroyBufferCollectionFUCHSIAX( device, collection, pAllocator );
+    }
+
+    VkResult vkGetBufferCollectionPropertiesFUCHSIAX( VkDevice                               device,
+                                                      VkBufferCollectionFUCHSIAX             collection,
+                                                      VkBufferCollectionPropertiesFUCHSIAX * pProperties ) const
+      VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkGetBufferCollectionPropertiesFUCHSIAX( device, collection, pProperties );
+    }
+
+    VkResult vkGetBufferCollectionProperties2FUCHSIAX( VkDevice                                device,
+                                                       VkBufferCollectionFUCHSIAX              collection,
+                                                       VkBufferCollectionProperties2FUCHSIAX * pProperties ) const
+      VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkGetBufferCollectionProperties2FUCHSIAX( device, collection, pProperties );
+    }
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
     //=== VK_HUAWEI_subpass_shading ===
 
     VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice     device,
@@ -5681,6 +5752,18 @@
       return ::vkGetDeviceImageSparseMemoryRequirementsKHR(
         device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
     }
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_compact_image ===
+
+    VkResult vkTrimCompactImageDeviceMemoryFUCHSIA( VkDevice       device,
+                                                    VkImage        image,
+                                                    VkDeviceMemory memory,
+                                                    VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ::vkTrimCompactImageDeviceMemoryFUCHSIA( device, image, memory, memoryOffset );
+    }
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
   };
 #endif
 
@@ -6310,6 +6393,19 @@
   };
 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+  class MemoryPinnedFUCHSIAError : public SystemError
+  {
+  public:
+    MemoryPinnedFUCHSIAError( std::string const & message )
+      : SystemError( make_error_code( Result::eErrorMemoryPinnedFUCHSIA ), message )
+    {}
+    MemoryPinnedFUCHSIAError( char const * message )
+      : SystemError( make_error_code( Result::eErrorMemoryPinnedFUCHSIA ), message )
+    {}
+  };
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   namespace
   {
     [[noreturn]] void throwResultException( Result result, char const * message )
@@ -6345,6 +6441,9 @@
 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+        case Result::eErrorMemoryPinnedFUCHSIA: throw MemoryPinnedFUCHSIAError( message );
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
         default: throw SystemError( make_error_code( result ) );
       }
     }
@@ -10766,6 +10865,26 @@
   };
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_memory_control ===
+  template <>
+  struct StructExtends<PhysicalDeviceMemoryControlPropertiesFUCHSIA, PhysicalDeviceProperties2>
+  {
+    enum
+    {
+      value = true
+    };
+  };
+  template <>
+  struct StructExtends<ControlOpsMemoryAllocateInfoFUCHSIA, MemoryAllocateInfo>
+  {
+    enum
+    {
+      value = true
+    };
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   //=== VK_FUCHSIA_external_memory ===
   template <>
   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
@@ -10805,6 +10924,34 @@
   };
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_buffer_collection_x ===
+  template <>
+  struct StructExtends<ImportMemoryBufferCollectionFUCHSIAX, MemoryAllocateInfo>
+  {
+    enum
+    {
+      value = true
+    };
+  };
+  template <>
+  struct StructExtends<BufferCollectionImageCreateInfoFUCHSIAX, ImageCreateInfo>
+  {
+    enum
+    {
+      value = true
+    };
+  };
+  template <>
+  struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIAX, BufferCreateInfo>
+  {
+    enum
+    {
+      value = true
+    };
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   //=== VK_HUAWEI_subpass_shading ===
   template <>
   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
@@ -11962,6 +12109,13 @@
     PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_memory_control ===
+    PFN_vkModifyMemoryRangesFUCHSIA vkModifyMemoryRangesFUCHSIA = 0;
+#else
+    PFN_dummy vkModifyMemoryRangesFUCHSIA_placeholder                       = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
     //=== VK_FUCHSIA_external_memory ===
     PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
@@ -11994,6 +12148,25 @@
     PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_buffer_collection_x ===
+    PFN_vkCreateBufferCollectionFUCHSIAX               vkCreateBufferCollectionFUCHSIAX               = 0;
+    PFN_vkSetBufferCollectionConstraintsFUCHSIAX       vkSetBufferCollectionConstraintsFUCHSIAX       = 0;
+    PFN_vkSetBufferCollectionImageConstraintsFUCHSIAX  vkSetBufferCollectionImageConstraintsFUCHSIAX  = 0;
+    PFN_vkSetBufferCollectionBufferConstraintsFUCHSIAX vkSetBufferCollectionBufferConstraintsFUCHSIAX = 0;
+    PFN_vkDestroyBufferCollectionFUCHSIAX              vkDestroyBufferCollectionFUCHSIAX              = 0;
+    PFN_vkGetBufferCollectionPropertiesFUCHSIAX        vkGetBufferCollectionPropertiesFUCHSIAX        = 0;
+    PFN_vkGetBufferCollectionProperties2FUCHSIAX       vkGetBufferCollectionProperties2FUCHSIAX       = 0;
+#else
+    PFN_dummy vkCreateBufferCollectionFUCHSIAX_placeholder                  = 0;
+    PFN_dummy vkSetBufferCollectionConstraintsFUCHSIAX_placeholder          = 0;
+    PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIAX_placeholder     = 0;
+    PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIAX_placeholder    = 0;
+    PFN_dummy vkDestroyBufferCollectionFUCHSIAX_placeholder                 = 0;
+    PFN_dummy vkGetBufferCollectionPropertiesFUCHSIAX_placeholder           = 0;
+    PFN_dummy vkGetBufferCollectionProperties2FUCHSIAX_placeholder          = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
     //=== VK_HUAWEI_subpass_shading ===
     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
     PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
@@ -12035,6 +12208,13 @@
     PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_compact_image ===
+    PFN_vkTrimCompactImageDeviceMemoryFUCHSIA vkTrimCompactImageDeviceMemoryFUCHSIA = 0;
+#else
+    PFN_dummy vkTrimCompactImageDeviceMemoryFUCHSIA_placeholder             = 0;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   public:
     DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
     DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
@@ -13264,6 +13444,12 @@
         PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_memory_control ===
+      vkModifyMemoryRangesFUCHSIA =
+        PFN_vkModifyMemoryRangesFUCHSIA( vkGetInstanceProcAddr( instance, "vkModifyMemoryRangesFUCHSIA" ) );
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
       //=== VK_FUCHSIA_external_memory ===
       vkGetMemoryZirconHandleFUCHSIA =
         PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
@@ -13293,6 +13479,24 @@
         vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_buffer_collection_x ===
+      vkCreateBufferCollectionFUCHSIAX =
+        PFN_vkCreateBufferCollectionFUCHSIAX( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIAX" ) );
+      vkSetBufferCollectionConstraintsFUCHSIAX = PFN_vkSetBufferCollectionConstraintsFUCHSIAX(
+        vkGetInstanceProcAddr( instance, "vkSetBufferCollectionConstraintsFUCHSIAX" ) );
+      vkSetBufferCollectionImageConstraintsFUCHSIAX = PFN_vkSetBufferCollectionImageConstraintsFUCHSIAX(
+        vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIAX" ) );
+      vkSetBufferCollectionBufferConstraintsFUCHSIAX = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+        vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIAX" ) );
+      vkDestroyBufferCollectionFUCHSIAX =
+        PFN_vkDestroyBufferCollectionFUCHSIAX( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIAX" ) );
+      vkGetBufferCollectionPropertiesFUCHSIAX = PFN_vkGetBufferCollectionPropertiesFUCHSIAX(
+        vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIAX" ) );
+      vkGetBufferCollectionProperties2FUCHSIAX = PFN_vkGetBufferCollectionProperties2FUCHSIAX(
+        vkGetInstanceProcAddr( instance, "vkGetBufferCollectionProperties2FUCHSIAX" ) );
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
       //=== VK_HUAWEI_subpass_shading ===
       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
         vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
@@ -13346,6 +13550,12 @@
         vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
       vkGetDeviceImageSparseMemoryRequirementsKHR = PFN_vkGetDeviceImageSparseMemoryRequirementsKHR(
         vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_compact_image ===
+      vkTrimCompactImageDeviceMemoryFUCHSIA = PFN_vkTrimCompactImageDeviceMemoryFUCHSIA(
+        vkGetInstanceProcAddr( instance, "vkTrimCompactImageDeviceMemoryFUCHSIA" ) );
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
     }
 
     void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
@@ -14160,6 +14370,12 @@
       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_memory_control ===
+      vkModifyMemoryRangesFUCHSIA =
+        PFN_vkModifyMemoryRangesFUCHSIA( vkGetDeviceProcAddr( device, "vkModifyMemoryRangesFUCHSIA" ) );
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
       //=== VK_FUCHSIA_external_memory ===
       vkGetMemoryZirconHandleFUCHSIA =
         PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
@@ -14189,6 +14405,24 @@
         vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_buffer_collection_x ===
+      vkCreateBufferCollectionFUCHSIAX =
+        PFN_vkCreateBufferCollectionFUCHSIAX( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIAX" ) );
+      vkSetBufferCollectionConstraintsFUCHSIAX = PFN_vkSetBufferCollectionConstraintsFUCHSIAX(
+        vkGetDeviceProcAddr( device, "vkSetBufferCollectionConstraintsFUCHSIAX" ) );
+      vkSetBufferCollectionImageConstraintsFUCHSIAX = PFN_vkSetBufferCollectionImageConstraintsFUCHSIAX(
+        vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIAX" ) );
+      vkSetBufferCollectionBufferConstraintsFUCHSIAX = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+        vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIAX" ) );
+      vkDestroyBufferCollectionFUCHSIAX =
+        PFN_vkDestroyBufferCollectionFUCHSIAX( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIAX" ) );
+      vkGetBufferCollectionPropertiesFUCHSIAX = PFN_vkGetBufferCollectionPropertiesFUCHSIAX(
+        vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIAX" ) );
+      vkGetBufferCollectionProperties2FUCHSIAX = PFN_vkGetBufferCollectionProperties2FUCHSIAX(
+        vkGetDeviceProcAddr( device, "vkGetBufferCollectionProperties2FUCHSIAX" ) );
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
       //=== VK_HUAWEI_subpass_shading ===
       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
         vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
@@ -14234,6 +14468,12 @@
         vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
       vkGetDeviceImageSparseMemoryRequirementsKHR = PFN_vkGetDeviceImageSparseMemoryRequirementsKHR(
         vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_compact_image ===
+      vkTrimCompactImageDeviceMemoryFUCHSIA = PFN_vkTrimCompactImageDeviceMemoryFUCHSIA(
+        vkGetDeviceProcAddr( device, "vkTrimCompactImageDeviceMemoryFUCHSIA" ) );
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
     }
   };
 }  // namespace VULKAN_HPP_NAMESPACE
@@ -14718,5 +14958,20 @@
   };
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_buffer_collection_x ===
+
+  template <>
+  struct hash<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX>
+  {
+    std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX const & bufferCollectionFUCHSIAX ) const
+      VULKAN_HPP_NOEXCEPT
+    {
+      return std::hash<VkBufferCollectionFUCHSIAX>{}(
+        static_cast<VkBufferCollectionFUCHSIAX>( bufferCollectionFUCHSIAX ) );
+    }
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
 }  // namespace std
 #endif
diff --git a/include/vulkan/vulkan_core.h b/include/vulkan/vulkan_core.h
index 2bd3f77..51af8fb 100644
--- a/include/vulkan/vulkan_core.h
+++ b/include/vulkan/vulkan_core.h
@@ -175,6 +175,7 @@
     VK_OPERATION_DEFERRED_KHR = 1000268002,
     VK_OPERATION_NOT_DEFERRED_KHR = 1000268003,
     VK_PIPELINE_COMPILE_REQUIRED_EXT = 1000297000,
+    VK_ERROR_MEMORY_PINNED_FUCHSIA = -1000363000,
     VK_ERROR_OUT_OF_POOL_MEMORY_KHR = VK_ERROR_OUT_OF_POOL_MEMORY,
     VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR = VK_ERROR_INVALID_EXTERNAL_HANDLE,
     VK_ERROR_FRAGMENTATION_EXT = VK_ERROR_FRAGMENTATION,
@@ -870,6 +871,10 @@
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DRM_PROPERTIES_EXT = 1000353000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT = 1000356000,
     VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR = 1000360000,
+    VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_CONTROL_PROPERTIES_FUCHSIA = 1000363000,
+    VK_STRUCTURE_TYPE_MEMORY_RANGE_FUCHSIA = 1000363001,
+    VK_STRUCTURE_TYPE_MEMORY_OP_RESULT_FUCHSIA = 1000363002,
+    VK_STRUCTURE_TYPE_CONTROL_OPS_MEMORY_ALLOCATE_INFO_FUCHSIA = 1000363003,
     VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364000,
     VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA = 1000364001,
     VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA = 1000364002,
@@ -885,6 +890,16 @@
     VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA = 1000366007,
     VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA = 1000366008,
     VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA = 1000366009,
+    VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIAX = 1000367000,
+    VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIAX = 1000367004,
+    VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIAX = 1000367005,
+    VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIAX = 1000367006,
+    VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIAX = 1000367007,
+    VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIAX = 1000367008,
+    VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIAX = 1000367009,
+    VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIAX = 1000367010,
+    VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIAX = 1000367011,
+    VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIAX = 1000367012,
     VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI = 1000369000,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI = 1000369001,
     VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI = 1000369002,
@@ -1125,6 +1140,7 @@
     VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV = 1000277000,
     VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT = 1000295000,
     VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA = 1000366000,
+    VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIAX = 1000367002,
     VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE,
     VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION,
     VK_OBJECT_TYPE_MAX_ENUM = 0x7FFFFFFF
@@ -1941,6 +1957,7 @@
     VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV = 0x00002000,
     VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT = 0x00001000,
     VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT = 0x00004000,
+    VK_IMAGE_CREATE_COMPACT_BIT_FUCHSIA = 0x40000000,
     VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT,
     VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT,
     VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT,
@@ -8738,6 +8755,7 @@
     VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT = 1000150000,
     VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT = 1000165000,
     VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT = 1000366000,
+    VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIAX_EXT = 1000367003,
     VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_CALLBACK_EXT_EXT,
     VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_VALIDATION_CACHE_EXT_EXT,
     VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_EXT,
@@ -12835,6 +12853,66 @@
 
 
 
+#define VK_FUCHSIA_memory_control 1
+#define VK_FUCHSIA_MEMORY_CONTROL_SPEC_VERSION 1
+#define VK_FUCHSIA_MEMORY_CONTROL_EXTENSION_NAME "VK_FUCHSIA_memory_control"
+
+typedef enum VkMemoryOpFlagBitsFUCHSIA {
+    VK_MEMORY_OP_UNPIN_BIT_FUCHSIA = 0x00000001,
+    VK_MEMORY_OP_DECOMMIT_BIT_FUCHSIA = 0x00000002,
+    VK_MEMORY_OP_PIN_BIT_FUCHSIA = 0x00000004,
+    VK_MEMORY_OP_COMMIT_BIT_FUCHSIA = 0x00000008,
+    VK_MEMORY_OP_LOCK_BIT_FUCHSIA = 0x00000010,
+    VK_MEMORY_OP_UNLOCK_BIT_FUCHSIA = 0x00000020,
+    VK_MEMORY_OP_FLAG_BITS_MAX_ENUM_FUCHSIA = 0x7FFFFFFF
+} VkMemoryOpFlagBitsFUCHSIA;
+typedef VkFlags VkMemoryOpFlagsFUCHSIA;
+typedef struct VkPhysicalDeviceMemoryControlPropertiesFUCHSIA {
+    VkStructureType           sType;
+    void*                     pNext;
+    VkMemoryOpFlagsFUCHSIA    wholeMemoryOperations;
+    VkMemoryOpFlagsFUCHSIA    endMemoryOperations;
+    VkMemoryOpFlagsFUCHSIA    startMemoryOperations;
+    VkMemoryOpFlagsFUCHSIA    arbitraryMemoryOperations;
+    VkMemoryOpFlagsFUCHSIA    initialMemoryOperations;
+    VkDeviceSize              memoryOperationGranularity;
+    uint32_t                  memoryTypeBits;
+} VkPhysicalDeviceMemoryControlPropertiesFUCHSIA;
+
+typedef struct VkMemoryRangeFUCHSIA {
+    VkStructureType    sType;
+    void*              pNext;
+    VkDeviceMemory     memory;
+    VkDeviceSize       offset;
+    VkDeviceSize       size;
+} VkMemoryRangeFUCHSIA;
+
+typedef struct VkMemoryOpResultFUCHSIA {
+    VkStructureType    sType;
+    void*              pNext;
+    VkDeviceSize       discardedOffset;
+    VkDeviceSize       discardedSize;
+} VkMemoryOpResultFUCHSIA;
+
+typedef struct VkControlOpsMemoryAllocateInfoFUCHSIA {
+    VkStructureType           sType;
+    const void*               pNext;
+    VkMemoryOpFlagsFUCHSIA    supportedOperations;
+    VkMemoryOpFlagsFUCHSIA    initialOperations;
+} VkControlOpsMemoryAllocateInfoFUCHSIA;
+
+typedef VkResult (VKAPI_PTR *PFN_vkModifyMemoryRangesFUCHSIA)(VkDevice device, VkMemoryOpFlagsFUCHSIA op, uint32_t memoryRangeCount, const VkMemoryRangeFUCHSIA* pMemoryRanges, VkMemoryOpResultFUCHSIA* pOpResults);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkModifyMemoryRangesFUCHSIA(
+    VkDevice                                    device,
+    VkMemoryOpFlagsFUCHSIA                      op,
+    uint32_t                                    memoryRangeCount,
+    const VkMemoryRangeFUCHSIA*                 pMemoryRanges,
+    VkMemoryOpResultFUCHSIA*                    pOpResults);
+#endif
+
+
 #define VK_HUAWEI_subpass_shading 1
 #define VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION 2
 #define VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME "VK_HUAWEI_subpass_shading"
@@ -13094,6 +13172,20 @@
 #endif
 
 
+#define VK_FUCHSIA_compact_image 1
+#define VK_FUCHSIA_COMPACT_IMAGE_SPEC_VERSION 1
+#define VK_FUCHSIA_COMPACT_IMAGE_EXTENSION_NAME "VK_FUCHSIA_compact_image"
+typedef VkResult (VKAPI_PTR *PFN_vkTrimCompactImageDeviceMemoryFUCHSIA)(VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkTrimCompactImageDeviceMemoryFUCHSIA(
+    VkDevice                                    device,
+    VkImage                                     image,
+    VkDeviceMemory                              memory,
+    VkDeviceSize                                memoryOffset);
+#endif
+
+
 #define VK_KHR_acceleration_structure 1
 VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkAccelerationStructureKHR)
 #define VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION 13
diff --git a/include/vulkan/vulkan_enums.hpp b/include/vulkan/vulkan_enums.hpp
index c1ae1ba..e4a81a3 100644
--- a/include/vulkan/vulkan_enums.hpp
+++ b/include/vulkan/vulkan_enums.hpp
@@ -70,11 +70,14 @@
 #if defined( VK_USE_PLATFORM_WIN32_KHR )
     eErrorFullScreenExclusiveModeLostEXT = VK_ERROR_FULL_SCREEN_EXCLUSIVE_MODE_LOST_EXT,
 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
-    eThreadIdleKHR                       = VK_THREAD_IDLE_KHR,
-    eThreadDoneKHR                       = VK_THREAD_DONE_KHR,
-    eOperationDeferredKHR                = VK_OPERATION_DEFERRED_KHR,
-    eOperationNotDeferredKHR             = VK_OPERATION_NOT_DEFERRED_KHR,
-    ePipelineCompileRequiredEXT          = VK_PIPELINE_COMPILE_REQUIRED_EXT,
+    eThreadIdleKHR              = VK_THREAD_IDLE_KHR,
+    eThreadDoneKHR              = VK_THREAD_DONE_KHR,
+    eOperationDeferredKHR       = VK_OPERATION_DEFERRED_KHR,
+    eOperationNotDeferredKHR    = VK_OPERATION_NOT_DEFERRED_KHR,
+    ePipelineCompileRequiredEXT = VK_PIPELINE_COMPILE_REQUIRED_EXT,
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    eErrorMemoryPinnedFUCHSIA = VK_ERROR_MEMORY_PINNED_FUCHSIA,
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
     eErrorFragmentationEXT               = VK_ERROR_FRAGMENTATION_EXT,
     eErrorInvalidDeviceAddressEXT        = VK_ERROR_INVALID_DEVICE_ADDRESS_EXT,
     eErrorInvalidExternalHandleKHR       = VK_ERROR_INVALID_EXTERNAL_HANDLE_KHR,
@@ -127,6 +130,9 @@
       case Result::eOperationDeferredKHR: return "OperationDeferredKHR";
       case Result::eOperationNotDeferredKHR: return "OperationNotDeferredKHR";
       case Result::ePipelineCompileRequiredEXT: return "PipelineCompileRequiredEXT";
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+      case Result::eErrorMemoryPinnedFUCHSIA: return "ErrorMemoryPinnedFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
     }
   }
@@ -846,21 +852,35 @@
       VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRIMITIVE_TOPOLOGY_LIST_RESTART_FEATURES_EXT,
     eFormatProperties3KHR = VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_3_KHR,
 #if defined( VK_USE_PLATFORM_FUCHSIA )
-    eImportMemoryZirconHandleInfoFUCHSIA     = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
-    eMemoryZirconHandlePropertiesFUCHSIA     = VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
-    eMemoryGetZirconHandleInfoFUCHSIA        = VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
-    eImportSemaphoreZirconHandleInfoFUCHSIA  = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
-    eSemaphoreGetZirconHandleInfoFUCHSIA     = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
-    eBufferCollectionCreateInfoFUCHSIA       = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
-    eImportMemoryBufferCollectionFUCHSIA     = VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
-    eBufferCollectionImageCreateInfoFUCHSIA  = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
-    eBufferCollectionPropertiesFUCHSIA       = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
-    eBufferConstraintsInfoFUCHSIA            = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
-    eBufferCollectionBufferCreateInfoFUCHSIA = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
-    eImageConstraintsInfoFUCHSIA             = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA,
-    eImageFormatConstraintsInfoFUCHSIA       = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
-    eSysmemColorSpaceFUCHSIA                 = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
-    eBufferCollectionConstraintsInfoFUCHSIA  = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
+    ePhysicalDeviceMemoryControlPropertiesFUCHSIA = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_CONTROL_PROPERTIES_FUCHSIA,
+    eMemoryRangeFUCHSIA                           = VK_STRUCTURE_TYPE_MEMORY_RANGE_FUCHSIA,
+    eMemoryOpResultFUCHSIA                        = VK_STRUCTURE_TYPE_MEMORY_OP_RESULT_FUCHSIA,
+    eControlOpsMemoryAllocateInfoFUCHSIA          = VK_STRUCTURE_TYPE_CONTROL_OPS_MEMORY_ALLOCATE_INFO_FUCHSIA,
+    eImportMemoryZirconHandleInfoFUCHSIA          = VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA,
+    eMemoryZirconHandlePropertiesFUCHSIA          = VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA,
+    eMemoryGetZirconHandleInfoFUCHSIA             = VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
+    eImportSemaphoreZirconHandleInfoFUCHSIA       = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA,
+    eSemaphoreGetZirconHandleInfoFUCHSIA          = VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA,
+    eBufferCollectionCreateInfoFUCHSIA            = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA,
+    eImportMemoryBufferCollectionFUCHSIA          = VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA,
+    eBufferCollectionImageCreateInfoFUCHSIA       = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA,
+    eBufferCollectionPropertiesFUCHSIA            = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA,
+    eBufferConstraintsInfoFUCHSIA                 = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA,
+    eBufferCollectionBufferCreateInfoFUCHSIA      = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA,
+    eImageConstraintsInfoFUCHSIA                  = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA,
+    eImageFormatConstraintsInfoFUCHSIA            = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA,
+    eSysmemColorSpaceFUCHSIA                      = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA,
+    eBufferCollectionConstraintsInfoFUCHSIA       = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA,
+    eBufferCollectionCreateInfoFUCHSIAX           = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIAX,
+    eImportMemoryBufferCollectionFUCHSIAX         = VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIAX,
+    eBufferCollectionImageCreateInfoFUCHSIAX      = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIAX,
+    eBufferCollectionPropertiesFUCHSIAX           = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIAX,
+    eBufferConstraintsInfoFUCHSIAX                = VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIAX,
+    eBufferCollectionBufferCreateInfoFUCHSIAX     = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIAX,
+    eImageConstraintsInfoFUCHSIAX                 = VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIAX,
+    eImageFormatConstraintsInfoFUCHSIAX           = VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIAX,
+    eBufferCollectionProperties2FUCHSIAX          = VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIAX,
+    eSysmemColorSpaceFUCHSIAX                     = VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIAX,
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
     eSubpassShadingPipelineCreateInfoHUAWEI       = VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI,
     ePhysicalDeviceSubpassShadingFeaturesHUAWEI   = VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI,
@@ -1800,6 +1820,11 @@
         return "PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT";
       case StructureType::eFormatProperties3KHR: return "FormatProperties3KHR";
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+      case StructureType::ePhysicalDeviceMemoryControlPropertiesFUCHSIA:
+        return "PhysicalDeviceMemoryControlPropertiesFUCHSIA";
+      case StructureType::eMemoryRangeFUCHSIA: return "MemoryRangeFUCHSIA";
+      case StructureType::eMemoryOpResultFUCHSIA: return "MemoryOpResultFUCHSIA";
+      case StructureType::eControlOpsMemoryAllocateInfoFUCHSIA: return "ControlOpsMemoryAllocateInfoFUCHSIA";
       case StructureType::eImportMemoryZirconHandleInfoFUCHSIA: return "ImportMemoryZirconHandleInfoFUCHSIA";
       case StructureType::eMemoryZirconHandlePropertiesFUCHSIA: return "MemoryZirconHandlePropertiesFUCHSIA";
       case StructureType::eMemoryGetZirconHandleInfoFUCHSIA: return "MemoryGetZirconHandleInfoFUCHSIA";
@@ -1815,6 +1840,16 @@
       case StructureType::eImageFormatConstraintsInfoFUCHSIA: return "ImageFormatConstraintsInfoFUCHSIA";
       case StructureType::eSysmemColorSpaceFUCHSIA: return "SysmemColorSpaceFUCHSIA";
       case StructureType::eBufferCollectionConstraintsInfoFUCHSIA: return "BufferCollectionConstraintsInfoFUCHSIA";
+      case StructureType::eBufferCollectionCreateInfoFUCHSIAX: return "BufferCollectionCreateInfoFUCHSIAX";
+      case StructureType::eImportMemoryBufferCollectionFUCHSIAX: return "ImportMemoryBufferCollectionFUCHSIAX";
+      case StructureType::eBufferCollectionImageCreateInfoFUCHSIAX: return "BufferCollectionImageCreateInfoFUCHSIAX";
+      case StructureType::eBufferCollectionPropertiesFUCHSIAX: return "BufferCollectionPropertiesFUCHSIAX";
+      case StructureType::eBufferConstraintsInfoFUCHSIAX: return "BufferConstraintsInfoFUCHSIAX";
+      case StructureType::eBufferCollectionBufferCreateInfoFUCHSIAX: return "BufferCollectionBufferCreateInfoFUCHSIAX";
+      case StructureType::eImageConstraintsInfoFUCHSIAX: return "ImageConstraintsInfoFUCHSIAX";
+      case StructureType::eImageFormatConstraintsInfoFUCHSIAX: return "ImageFormatConstraintsInfoFUCHSIAX";
+      case StructureType::eBufferCollectionProperties2FUCHSIAX: return "BufferCollectionProperties2FUCHSIAX";
+      case StructureType::eSysmemColorSpaceFUCHSIAX: return "SysmemColorSpaceFUCHSIAX";
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
       case StructureType::eSubpassShadingPipelineCreateInfoHUAWEI: return "SubpassShadingPipelineCreateInfoHUAWEI";
       case StructureType::ePhysicalDeviceSubpassShadingFeaturesHUAWEI:
@@ -1903,7 +1938,8 @@
     eIndirectCommandsLayoutNV      = VK_OBJECT_TYPE_INDIRECT_COMMANDS_LAYOUT_NV,
     ePrivateDataSlotEXT            = VK_OBJECT_TYPE_PRIVATE_DATA_SLOT_EXT,
 #if defined( VK_USE_PLATFORM_FUCHSIA )
-    eBufferCollectionFUCHSIA = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
+    eBufferCollectionFUCHSIA  = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA,
+    eBufferCollectionFUCHSIAX = VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIAX,
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
     eDescriptorUpdateTemplateKHR = VK_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR,
     eSamplerYcbcrConversionKHR   = VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION_KHR
@@ -1962,6 +1998,7 @@
       case ObjectType::ePrivateDataSlotEXT: return "PrivateDataSlotEXT";
 #if defined( VK_USE_PLATFORM_FUCHSIA )
       case ObjectType::eBufferCollectionFUCHSIA: return "BufferCollectionFUCHSIA";
+      case ObjectType::eBufferCollectionFUCHSIAX: return "BufferCollectionFUCHSIAX";
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
     }
@@ -2666,12 +2703,15 @@
     eCornerSampledNV                   = VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV,
     eSampleLocationsCompatibleDepthEXT = VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT,
     eSubsampledEXT                     = VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT,
-    e2DArrayCompatibleKHR              = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR,
-    eAliasKHR                          = VK_IMAGE_CREATE_ALIAS_BIT_KHR,
-    eBlockTexelViewCompatibleKHR       = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR,
-    eDisjointKHR                       = VK_IMAGE_CREATE_DISJOINT_BIT_KHR,
-    eExtendedUsageKHR                  = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR,
-    eSplitInstanceBindRegionsKHR       = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    eCompactFUCHSIA = VK_IMAGE_CREATE_COMPACT_BIT_FUCHSIA,
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+    e2DArrayCompatibleKHR        = VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT_KHR,
+    eAliasKHR                    = VK_IMAGE_CREATE_ALIAS_BIT_KHR,
+    eBlockTexelViewCompatibleKHR = VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT_KHR,
+    eDisjointKHR                 = VK_IMAGE_CREATE_DISJOINT_BIT_KHR,
+    eExtendedUsageKHR            = VK_IMAGE_CREATE_EXTENDED_USAGE_BIT_KHR,
+    eSplitInstanceBindRegionsKHR = VK_IMAGE_CREATE_SPLIT_INSTANCE_BIND_REGIONS_BIT_KHR
   };
 
   VULKAN_HPP_INLINE std::string to_string( ImageCreateFlagBits value )
@@ -2693,6 +2733,9 @@
       case ImageCreateFlagBits::eCornerSampledNV: return "CornerSampledNV";
       case ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT: return "SampleLocationsCompatibleDepthEXT";
       case ImageCreateFlagBits::eSubsampledEXT: return "SubsampledEXT";
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+      case ImageCreateFlagBits::eCompactFUCHSIA: return "CompactFUCHSIA";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
     }
   }
@@ -5686,7 +5729,8 @@
     eAccelerationStructureKHR = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR_EXT,
     eAccelerationStructureNV  = VK_DEBUG_REPORT_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV_EXT,
 #if defined( VK_USE_PLATFORM_FUCHSIA )
-    eBufferCollectionFUCHSIA = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT,
+    eBufferCollectionFUCHSIA  = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIA_EXT,
+    eBufferCollectionFUCHSIAX = VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIAX_EXT,
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
     eDebugReport                 = VK_DEBUG_REPORT_OBJECT_TYPE_DEBUG_REPORT_EXT,
     eDescriptorUpdateTemplateKHR = VK_DEBUG_REPORT_OBJECT_TYPE_DESCRIPTOR_UPDATE_TEMPLATE_KHR_EXT,
@@ -5738,6 +5782,7 @@
       case DebugReportObjectTypeEXT::eAccelerationStructureNV: return "AccelerationStructureNV";
 #if defined( VK_USE_PLATFORM_FUCHSIA )
       case DebugReportObjectTypeEXT::eBufferCollectionFUCHSIA: return "BufferCollectionFUCHSIA";
+      case DebugReportObjectTypeEXT::eBufferCollectionFUCHSIAX: return "BufferCollectionFUCHSIAX";
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
       default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
     }
@@ -8184,6 +8229,34 @@
   }
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_memory_control ===
+
+  enum class MemoryOpFlagBitsFUCHSIA : VkMemoryOpFlagsFUCHSIA
+  {
+    eUnpin    = VK_MEMORY_OP_UNPIN_BIT_FUCHSIA,
+    eDecommit = VK_MEMORY_OP_DECOMMIT_BIT_FUCHSIA,
+    ePin      = VK_MEMORY_OP_PIN_BIT_FUCHSIA,
+    eCommit   = VK_MEMORY_OP_COMMIT_BIT_FUCHSIA,
+    eLock     = VK_MEMORY_OP_LOCK_BIT_FUCHSIA,
+    eUnlock   = VK_MEMORY_OP_UNLOCK_BIT_FUCHSIA
+  };
+
+  VULKAN_HPP_INLINE std::string to_string( MemoryOpFlagBitsFUCHSIA value )
+  {
+    switch ( value )
+    {
+      case MemoryOpFlagBitsFUCHSIA::eUnpin: return "Unpin";
+      case MemoryOpFlagBitsFUCHSIA::eDecommit: return "Decommit";
+      case MemoryOpFlagBitsFUCHSIA::ePin: return "Pin";
+      case MemoryOpFlagBitsFUCHSIA::eCommit: return "Commit";
+      case MemoryOpFlagBitsFUCHSIA::eLock: return "Lock";
+      case MemoryOpFlagBitsFUCHSIA::eUnlock: return "Unlock";
+      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
+    }
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   //=== VK_FUCHSIA_buffer_collection ===
 
   enum class ImageConstraintsInfoFlagBitsFUCHSIA : VkImageConstraintsInfoFlagsFUCHSIA
@@ -8218,6 +8291,41 @@
   }
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_buffer_collection_x ===
+
+  enum class ImageFormatConstraintsFlagBitsFUCHSIAX : VkImageFormatConstraintsFlagsFUCHSIAX
+  {
+  };
+
+  VULKAN_HPP_INLINE std::string to_string( ImageFormatConstraintsFlagBitsFUCHSIAX )
+  {
+    return "(void)";
+  }
+
+  enum class ImageConstraintsInfoFlagBitsFUCHSIAX : VkImageConstraintsInfoFlagsFUCHSIAX
+  {
+    eCpuReadRarely     = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIAX,
+    eCpuReadOften      = VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIAX,
+    eCpuWriteRarely    = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIAX,
+    eCpuWriteOften     = VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIAX,
+    eProtectedOptional = VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIAX
+  };
+
+  VULKAN_HPP_INLINE std::string to_string( ImageConstraintsInfoFlagBitsFUCHSIAX value )
+  {
+    switch ( value )
+    {
+      case ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuReadRarely: return "CpuReadRarely";
+      case ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuReadOften: return "CpuReadOften";
+      case ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuWriteRarely: return "CpuWriteRarely";
+      case ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuWriteOften: return "CpuWriteOften";
+      case ImageConstraintsInfoFlagBitsFUCHSIAX::eProtectedOptional: return "ProtectedOptional";
+      default: return "invalid ( " + VULKAN_HPP_NAMESPACE::toHexString( static_cast<uint32_t>( value ) ) + " )";
+    }
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
   //=== VK_QNX_screen_surface ===
 
@@ -8433,6 +8541,9 @@
                  VkFlags( ImageCreateFlagBits::eDisjoint ) | VkFlags( ImageCreateFlagBits::eCornerSampledNV ) |
                  VkFlags( ImageCreateFlagBits::eSampleLocationsCompatibleDepthEXT ) |
                  VkFlags( ImageCreateFlagBits::eSubsampledEXT )
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+                 | VkFlags( ImageCreateFlagBits::eCompactFUCHSIA )
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
     };
   };
 
@@ -8495,6 +8606,10 @@
       result += "SampleLocationsCompatibleDepthEXT | ";
     if ( value & ImageCreateFlagBits::eSubsampledEXT )
       result += "SubsampledEXT | ";
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    if ( value & ImageCreateFlagBits::eCompactFUCHSIA )
+      result += "CompactFUCHSIA | ";
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
 
     return "{ " + result.substr( 0, result.size() - 3 ) + " }";
   }
@@ -14933,6 +15048,69 @@
   }
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_memory_control ===
+
+  using MemoryOpFlagsFUCHSIA = Flags<MemoryOpFlagBitsFUCHSIA>;
+
+  template <>
+  struct FlagTraits<MemoryOpFlagBitsFUCHSIA>
+  {
+    enum : VkFlags
+    {
+      allFlags = VkFlags( MemoryOpFlagBitsFUCHSIA::eUnpin ) | VkFlags( MemoryOpFlagBitsFUCHSIA::eDecommit ) |
+                 VkFlags( MemoryOpFlagBitsFUCHSIA::ePin ) | VkFlags( MemoryOpFlagBitsFUCHSIA::eCommit ) |
+                 VkFlags( MemoryOpFlagBitsFUCHSIA::eLock ) | VkFlags( MemoryOpFlagBitsFUCHSIA::eUnlock )
+    };
+  };
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryOpFlagsFUCHSIA
+    operator|( MemoryOpFlagBitsFUCHSIA bit0, MemoryOpFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT
+  {
+    return MemoryOpFlagsFUCHSIA( bit0 ) | bit1;
+  }
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryOpFlagsFUCHSIA
+    operator&( MemoryOpFlagBitsFUCHSIA bit0, MemoryOpFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT
+  {
+    return MemoryOpFlagsFUCHSIA( bit0 ) & bit1;
+  }
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryOpFlagsFUCHSIA
+    operator^( MemoryOpFlagBitsFUCHSIA bit0, MemoryOpFlagBitsFUCHSIA bit1 ) VULKAN_HPP_NOEXCEPT
+  {
+    return MemoryOpFlagsFUCHSIA( bit0 ) ^ bit1;
+  }
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR MemoryOpFlagsFUCHSIA operator~( MemoryOpFlagBitsFUCHSIA bits )
+    VULKAN_HPP_NOEXCEPT
+  {
+    return ~( MemoryOpFlagsFUCHSIA( bits ) );
+  }
+
+  VULKAN_HPP_INLINE std::string to_string( MemoryOpFlagsFUCHSIA value )
+  {
+    if ( !value )
+      return "{}";
+
+    std::string result;
+    if ( value & MemoryOpFlagBitsFUCHSIA::eUnpin )
+      result += "Unpin | ";
+    if ( value & MemoryOpFlagBitsFUCHSIA::eDecommit )
+      result += "Decommit | ";
+    if ( value & MemoryOpFlagBitsFUCHSIA::ePin )
+      result += "Pin | ";
+    if ( value & MemoryOpFlagBitsFUCHSIA::eCommit )
+      result += "Commit | ";
+    if ( value & MemoryOpFlagBitsFUCHSIA::eLock )
+      result += "Lock | ";
+    if ( value & MemoryOpFlagBitsFUCHSIA::eUnlock )
+      result += "Unlock | ";
+
+    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   //=== VK_FUCHSIA_buffer_collection ===
 
   using ImageFormatConstraintsFlagsFUCHSIA = Flags<ImageFormatConstraintsFlagBitsFUCHSIA>;
@@ -15002,6 +15180,76 @@
   }
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_buffer_collection_x ===
+
+  using ImageFormatConstraintsFlagsFUCHSIAX = Flags<ImageFormatConstraintsFlagBitsFUCHSIAX>;
+
+  VULKAN_HPP_INLINE std::string to_string( ImageFormatConstraintsFlagsFUCHSIAX )
+  {
+    return "{}";
+  }
+
+  using ImageConstraintsInfoFlagsFUCHSIAX = Flags<ImageConstraintsInfoFlagBitsFUCHSIAX>;
+
+  template <>
+  struct FlagTraits<ImageConstraintsInfoFlagBitsFUCHSIAX>
+  {
+    enum : VkFlags
+    {
+      allFlags = VkFlags( ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuReadRarely ) |
+                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuReadOften ) |
+                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuWriteRarely ) |
+                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuWriteOften ) |
+                 VkFlags( ImageConstraintsInfoFlagBitsFUCHSIAX::eProtectedOptional )
+    };
+  };
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIAX operator|(
+    ImageConstraintsInfoFlagBitsFUCHSIAX bit0, ImageConstraintsInfoFlagBitsFUCHSIAX bit1 ) VULKAN_HPP_NOEXCEPT
+  {
+    return ImageConstraintsInfoFlagsFUCHSIAX( bit0 ) | bit1;
+  }
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIAX operator&(
+    ImageConstraintsInfoFlagBitsFUCHSIAX bit0, ImageConstraintsInfoFlagBitsFUCHSIAX bit1 ) VULKAN_HPP_NOEXCEPT
+  {
+    return ImageConstraintsInfoFlagsFUCHSIAX( bit0 ) & bit1;
+  }
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIAX operator^(
+    ImageConstraintsInfoFlagBitsFUCHSIAX bit0, ImageConstraintsInfoFlagBitsFUCHSIAX bit1 ) VULKAN_HPP_NOEXCEPT
+  {
+    return ImageConstraintsInfoFlagsFUCHSIAX( bit0 ) ^ bit1;
+  }
+
+  VULKAN_HPP_INLINE VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFlagsFUCHSIAX
+    operator~( ImageConstraintsInfoFlagBitsFUCHSIAX bits ) VULKAN_HPP_NOEXCEPT
+  {
+    return ~( ImageConstraintsInfoFlagsFUCHSIAX( bits ) );
+  }
+
+  VULKAN_HPP_INLINE std::string to_string( ImageConstraintsInfoFlagsFUCHSIAX value )
+  {
+    if ( !value )
+      return "{}";
+
+    std::string result;
+    if ( value & ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuReadRarely )
+      result += "CpuReadRarely | ";
+    if ( value & ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuReadOften )
+      result += "CpuReadOften | ";
+    if ( value & ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuWriteRarely )
+      result += "CpuWriteRarely | ";
+    if ( value & ImageConstraintsInfoFlagBitsFUCHSIAX::eCpuWriteOften )
+      result += "CpuWriteOften | ";
+    if ( value & ImageConstraintsInfoFlagBitsFUCHSIAX::eProtectedOptional )
+      result += "ProtectedOptional | ";
+
+    return "{ " + result.substr( 0, result.size() - 3 ) + " }";
+  }
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
   //=== VK_QNX_screen_surface ===
 
diff --git a/include/vulkan/vulkan_fuchsia.h b/include/vulkan/vulkan_fuchsia.h
index 44b4ace..2972b86 100644
--- a/include/vulkan/vulkan_fuchsia.h
+++ b/include/vulkan/vulkan_fuchsia.h
@@ -251,6 +251,160 @@
     VkBufferCollectionPropertiesFUCHSIA*        pProperties);
 #endif
 
+
+#define VK_FUCHSIA_buffer_collection_x 1
+VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkBufferCollectionFUCHSIAX)
+#define VK_FUCHSIA_BUFFER_COLLECTION_X_SPEC_VERSION 1
+#define VK_FUCHSIA_BUFFER_COLLECTION_X_EXTENSION_NAME "VK_FUCHSIA_buffer_collection_x"
+
+typedef enum VkImageFormatConstraintsFlagBitsFUCHSIAX {
+    VK_IMAGE_FORMAT_CONSTRAINTS_FLAG_BITS_MAX_ENUM_FUCHSIAX = 0x7FFFFFFF
+} VkImageFormatConstraintsFlagBitsFUCHSIAX;
+typedef VkFlags VkImageFormatConstraintsFlagsFUCHSIAX;
+
+typedef enum VkImageConstraintsInfoFlagBitsFUCHSIAX {
+    VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIAX = 0x00000001,
+    VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIAX = 0x00000002,
+    VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIAX = 0x00000004,
+    VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIAX = 0x00000008,
+    VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIAX = 0x00000010,
+    VK_IMAGE_CONSTRAINTS_INFO_FLAG_BITS_MAX_ENUM_FUCHSIAX = 0x7FFFFFFF
+} VkImageConstraintsInfoFlagBitsFUCHSIAX;
+typedef VkFlags VkImageConstraintsInfoFlagsFUCHSIAX;
+typedef struct VkBufferCollectionCreateInfoFUCHSIAX {
+    VkStructureType    sType;
+    const void*        pNext;
+    zx_handle_t        collectionToken;
+} VkBufferCollectionCreateInfoFUCHSIAX;
+
+typedef struct VkImportMemoryBufferCollectionFUCHSIAX {
+    VkStructureType               sType;
+    const void*                   pNext;
+    VkBufferCollectionFUCHSIAX    collection;
+    uint32_t                      index;
+} VkImportMemoryBufferCollectionFUCHSIAX;
+
+typedef struct VkBufferCollectionImageCreateInfoFUCHSIAX {
+    VkStructureType               sType;
+    const void*                   pNext;
+    VkBufferCollectionFUCHSIAX    collection;
+    uint32_t                      index;
+} VkBufferCollectionImageCreateInfoFUCHSIAX;
+
+typedef struct VkBufferConstraintsInfoFUCHSIAX {
+    VkStructureType              sType;
+    const void*                  pNext;
+    const VkBufferCreateInfo*    pBufferCreateInfo;
+    VkFormatFeatureFlags         requiredFormatFeatures;
+    uint32_t                     minCount;
+} VkBufferConstraintsInfoFUCHSIAX;
+
+typedef struct VkBufferCollectionBufferCreateInfoFUCHSIAX {
+    VkStructureType               sType;
+    const void*                   pNext;
+    VkBufferCollectionFUCHSIAX    collection;
+    uint32_t                      index;
+} VkBufferCollectionBufferCreateInfoFUCHSIAX;
+
+typedef struct VkBufferCollectionPropertiesFUCHSIAX {
+    VkStructureType    sType;
+    void*              pNext;
+    uint32_t           memoryTypeBits;
+    uint32_t           count;
+} VkBufferCollectionPropertiesFUCHSIAX;
+
+typedef struct VkSysmemColorSpaceFUCHSIAX {
+    VkStructureType    sType;
+    const void*        pNext;
+    uint32_t           colorSpace;
+} VkSysmemColorSpaceFUCHSIAX;
+
+typedef struct VkBufferCollectionProperties2FUCHSIAX {
+    VkStructureType                  sType;
+    void*                            pNext;
+    uint32_t                         memoryTypeBits;
+    uint32_t                         bufferCount;
+    uint32_t                         createInfoIndex;
+    uint64_t                         sysmemFormat;
+    VkFormatFeatureFlags             formatFeatures;
+    VkSysmemColorSpaceFUCHSIAX       colorSpace;
+    VkComponentMapping               samplerYcbcrConversionComponents;
+    VkSamplerYcbcrModelConversion    suggestedYcbcrModel;
+    VkSamplerYcbcrRange              suggestedYcbcrRange;
+    VkChromaLocation                 suggestedXChromaOffset;
+    VkChromaLocation                 suggestedYChromaOffset;
+} VkBufferCollectionProperties2FUCHSIAX;
+
+typedef struct VkImageFormatConstraintsInfoFUCHSIAX {
+    VkStructureType                          sType;
+    const void*                              pNext;
+    VkFormatFeatureFlags                     requiredFormatFeatures;
+    VkImageFormatConstraintsFlagsFUCHSIAX    flags;
+    uint64_t                                 sysmemFormat;
+    uint32_t                                 colorSpaceCount;
+    const VkSysmemColorSpaceFUCHSIAX*        pColorSpaces;
+} VkImageFormatConstraintsInfoFUCHSIAX;
+
+typedef struct VkImageConstraintsInfoFUCHSIAX {
+    VkStructureType                                sType;
+    const void*                                    pNext;
+    uint32_t                                       createInfoCount;
+    const VkImageCreateInfo*                       pCreateInfos;
+    const VkImageFormatConstraintsInfoFUCHSIAX*    pFormatConstraints;
+    uint32_t                                       minBufferCount;
+    uint32_t                                       maxBufferCount;
+    uint32_t                                       minBufferCountForCamping;
+    uint32_t                                       minBufferCountForDedicatedSlack;
+    uint32_t                                       minBufferCountForSharedSlack;
+    VkImageConstraintsInfoFlagsFUCHSIAX            flags;
+} VkImageConstraintsInfoFUCHSIAX;
+
+typedef VkResult (VKAPI_PTR *PFN_vkCreateBufferCollectionFUCHSIAX)(VkDevice device, const VkBufferCollectionCreateInfoFUCHSIAX* pImportInfo, const VkAllocationCallbacks* pAllocator, VkBufferCollectionFUCHSIAX* pCollection);
+typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionConstraintsFUCHSIAX)(VkDevice device, VkBufferCollectionFUCHSIAX collection, const VkImageCreateInfo* pImageInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionImageConstraintsFUCHSIAX)(VkDevice device, VkBufferCollectionFUCHSIAX collection, const VkImageConstraintsInfoFUCHSIAX* pImageConstraintsInfo);
+typedef VkResult (VKAPI_PTR *PFN_vkSetBufferCollectionBufferConstraintsFUCHSIAX)(VkDevice device, VkBufferCollectionFUCHSIAX collection, const VkBufferConstraintsInfoFUCHSIAX* pBufferConstraintsInfo);
+typedef void (VKAPI_PTR *PFN_vkDestroyBufferCollectionFUCHSIAX)(VkDevice device, VkBufferCollectionFUCHSIAX collection, const VkAllocationCallbacks* pAllocator);
+typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionPropertiesFUCHSIAX)(VkDevice device, VkBufferCollectionFUCHSIAX collection, VkBufferCollectionPropertiesFUCHSIAX* pProperties);
+typedef VkResult (VKAPI_PTR *PFN_vkGetBufferCollectionProperties2FUCHSIAX)(VkDevice device, VkBufferCollectionFUCHSIAX collection, VkBufferCollectionProperties2FUCHSIAX* pProperties);
+
+#ifndef VK_NO_PROTOTYPES
+VKAPI_ATTR VkResult VKAPI_CALL vkCreateBufferCollectionFUCHSIAX(
+    VkDevice                                    device,
+    const VkBufferCollectionCreateInfoFUCHSIAX* pImportInfo,
+    const VkAllocationCallbacks*                pAllocator,
+    VkBufferCollectionFUCHSIAX*                 pCollection);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionConstraintsFUCHSIAX(
+    VkDevice                                    device,
+    VkBufferCollectionFUCHSIAX                  collection,
+    const VkImageCreateInfo*                    pImageInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionImageConstraintsFUCHSIAX(
+    VkDevice                                    device,
+    VkBufferCollectionFUCHSIAX                  collection,
+    const VkImageConstraintsInfoFUCHSIAX*       pImageConstraintsInfo);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+    VkDevice                                    device,
+    VkBufferCollectionFUCHSIAX                  collection,
+    const VkBufferConstraintsInfoFUCHSIAX*      pBufferConstraintsInfo);
+
+VKAPI_ATTR void VKAPI_CALL vkDestroyBufferCollectionFUCHSIAX(
+    VkDevice                                    device,
+    VkBufferCollectionFUCHSIAX                  collection,
+    const VkAllocationCallbacks*                pAllocator);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionPropertiesFUCHSIAX(
+    VkDevice                                    device,
+    VkBufferCollectionFUCHSIAX                  collection,
+    VkBufferCollectionPropertiesFUCHSIAX*       pProperties);
+
+VKAPI_ATTR VkResult VKAPI_CALL vkGetBufferCollectionProperties2FUCHSIAX(
+    VkDevice                                    device,
+    VkBufferCollectionFUCHSIAX                  collection,
+    VkBufferCollectionProperties2FUCHSIAX*      pProperties);
+#endif
+
 #ifdef __cplusplus
 }
 #endif
diff --git a/include/vulkan/vulkan_funcs.hpp b/include/vulkan/vulkan_funcs.hpp
index fde5888..b70360f 100644
--- a/include/vulkan/vulkan_funcs.hpp
+++ b/include/vulkan/vulkan_funcs.hpp
@@ -308,7 +308,7 @@
             typename B,
             typename std::enable_if<std::is_same<typename B::value_type, QueueFamilyProperties>::value, int>::type>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<QueueFamilyProperties, QueueFamilyPropertiesAllocator>
-    PhysicalDevice::getQueueFamilyProperties( QueueFamilyPropertiesAllocator & queueFamilyPropertiesAllocator,
+                                         PhysicalDevice::getQueueFamilyProperties( QueueFamilyPropertiesAllocator & queueFamilyPropertiesAllocator,
                                               Dispatch const &                 d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -339,7 +339,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties
-    PhysicalDevice::getMemoryProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         PhysicalDevice::getMemoryProperties( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties memoryProperties;
@@ -402,7 +402,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Device>::type
-    PhysicalDevice::createDevice( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo &            createInfo,
+                                          PhysicalDevice::createDevice( const VULKAN_HPP_NAMESPACE::DeviceCreateInfo &            createInfo,
                                   Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
                                   Dispatch const &                                          d ) const
   {
@@ -781,7 +781,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Queue
-    Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         Device::getQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     VULKAN_HPP_NAMESPACE::Queue queue;
@@ -804,7 +804,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Queue::submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits,
+                                          Queue::submit( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo> const & submits,
                    VULKAN_HPP_NAMESPACE::Fence                                fence,
                    Dispatch const &                                           d ) const
   {
@@ -1017,7 +1017,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::flushMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,
+                                          Device::flushMappedMemoryRanges( ArrayProxy<const VULKAN_HPP_NAMESPACE::MappedMemoryRange> const & memoryRanges,
                                      Dispatch const &                                                  d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -1204,7 +1204,7 @@
   template <typename SparseImageMemoryRequirementsAllocator, typename Dispatch>
   VULKAN_HPP_NODISCARD
     VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator>
-    Device::getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d ) const
+                      Device::getImageSparseMemoryRequirements( VULKAN_HPP_NAMESPACE::Image image, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::vector<SparseImageMemoryRequirements, SparseImageMemoryRequirementsAllocator> sparseMemoryRequirements;
@@ -1276,7 +1276,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename SparseImageFormatPropertiesAllocator, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<SparseImageFormatProperties, SparseImageFormatPropertiesAllocator>
-    PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
+                                         PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
                                                     VULKAN_HPP_NAMESPACE::ImageType           type,
                                                     VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
                                                     VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage,
@@ -1367,7 +1367,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Queue::bindSparse( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo,
+                                          Queue::bindSparse( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindSparseInfo> const & bindInfo,
                        VULKAN_HPP_NAMESPACE::Fence                                    fence,
                        Dispatch const &                                               d ) const
   {
@@ -1797,7 +1797,7 @@
 #else
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setEvent( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const
+                                          Device::setEvent( VULKAN_HPP_NAMESPACE::Event event, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     Result result = static_cast<Result>( d.vkSetEvent( m_device, static_cast<VkEvent>( event ) ) );
@@ -2046,7 +2046,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<VULKAN_HPP_NAMESPACE::Buffer>::type
-    Device::createBuffer( const VULKAN_HPP_NAMESPACE::BufferCreateInfo &            createInfo,
+                                          Device::createBuffer( const VULKAN_HPP_NAMESPACE::BufferCreateInfo &            createInfo,
                           Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
                           Dispatch const &                                          d ) const
   {
@@ -2706,7 +2706,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Uint8_tAllocator, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<uint8_t, Uint8_tAllocator>>::type
-    Device::getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Dispatch const & d ) const
+                       Device::getPipelineCacheData( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::vector<uint8_t, Uint8_tAllocator> data;
@@ -2875,7 +2875,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
-    Device::createGraphicsPipeline( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
+                                         Device::createGraphicsPipeline( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
                                     const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo &  createInfo,
                                     Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
                                     Dispatch const &                                          d ) const
@@ -2977,7 +2977,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-    Device::createGraphicsPipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
+                                         Device::createGraphicsPipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
                                           const VULKAN_HPP_NAMESPACE::GraphicsPipelineCreateInfo &  createInfo,
                                           Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
                                           Dispatch const &                                          d ) const
@@ -3079,7 +3079,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
-    Device::createComputePipeline( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
+                                         Device::createComputePipeline( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
                                    const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo &   createInfo,
                                    Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
                                    Dispatch const &                                          d ) const
@@ -3181,7 +3181,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-    Device::createComputePipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
+                                         Device::createComputePipelineUnique( VULKAN_HPP_NAMESPACE::PipelineCache                       pipelineCache,
                                          const VULKAN_HPP_NAMESPACE::ComputePipelineCreateInfo &   createInfo,
                                          Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
                                          Dispatch const &                                          d ) const
@@ -4460,7 +4460,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    CommandBuffer::begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo & beginInfo, Dispatch const & d ) const
+                                          CommandBuffer::begin( const VULKAN_HPP_NAMESPACE::CommandBufferBeginInfo & beginInfo, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     Result result = static_cast<Result>(
@@ -5483,7 +5483,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindBufferMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
+                                          Device::bindBufferMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
                                Dispatch const &                                                     d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -5507,7 +5507,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindImageMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
+                                          Device::bindImageMemory2( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
                               Dispatch const &                                                    d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -5671,7 +5671,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
+                                         Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -5684,7 +5684,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
+                                         Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -5713,7 +5713,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
+                                         Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -5726,7 +5726,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
+                                         Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
                                           Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -5759,7 +5759,7 @@
   template <typename SparseImageMemoryRequirements2Allocator, typename Dispatch>
   VULKAN_HPP_NODISCARD
     VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
-    Device::getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
+                      Device::getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
                                                Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -6000,7 +6000,7 @@
             typename B,
             typename std::enable_if<std::is_same<typename B::value_type, QueueFamilyProperties2>::value, int>::type>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
-    PhysicalDevice::getQueueFamilyProperties2( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
+                                         PhysicalDevice::getQueueFamilyProperties2( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
                                                Dispatch const &                  d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -6049,7 +6049,7 @@
             typename B,
             typename std::enable_if<std::is_same<typename B::value_type, StructureChain>::value, int>::type>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator>
-    PhysicalDevice::getQueueFamilyProperties2( StructureChainAllocator & structureChainAllocator,
+                                         PhysicalDevice::getQueueFamilyProperties2( StructureChainAllocator & structureChainAllocator,
                                                Dispatch const &          d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -6089,7 +6089,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-    PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
@@ -6100,7 +6100,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         PhysicalDevice::getMemoryProperties2( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     StructureChain<X, Y, Z...>                              structureChain;
@@ -6566,7 +6566,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
-    Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
+                                         Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -6579,7 +6579,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
+                                         Device::getDescriptorSetLayoutSupport( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -6779,7 +6779,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type
-    Device::getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d ) const
+                                          Device::getSemaphoreCounterValue( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     uint64_t value;
@@ -6826,7 +6826,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const
+                                          Device::signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     Result result = static_cast<Result>(
@@ -7306,7 +7306,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename ImageAllocator, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Image, ImageAllocator>>::type
-    Device::getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const
+                       Device::getSwapchainImagesKHR( VULKAN_HPP_NAMESPACE::SwapchainKHR swapchain, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::vector<Image, ImageAllocator> swapchainImages;
@@ -7508,7 +7508,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Rect2DAllocator, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<Rect2D, Rect2DAllocator>>::type
-    PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
+                       PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::vector<Rect2D, Rect2DAllocator> rects;
@@ -7586,7 +7586,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<uint32_t>
-    Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo,
+                                         Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo,
                                   Dispatch const &                                      d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -7771,7 +7771,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename DisplayKHRAllocator, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE typename ResultValueType<std::vector<DisplayKHR, DisplayKHRAllocator>>::type
-    PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const & d ) const
+                       PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::vector<DisplayKHR, DisplayKHRAllocator> displays;
@@ -8798,7 +8798,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT & tagInfo,
+                                          Device::debugMarkerSetObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectTagInfoEXT & tagInfo,
                                         Dispatch const &                                          d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -8820,7 +8820,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT & nameInfo,
+                                          Device::debugMarkerSetObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugMarkerObjectNameInfoEXT & nameInfo,
                                          Dispatch const &                                           d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -8912,7 +8912,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
-    PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileKHR & videoProfile,
+                                          PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileKHR & videoProfile,
                                              Dispatch const &                              d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -10329,7 +10329,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
-    PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2 properties;
@@ -10340,7 +10340,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         PhysicalDevice::getProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     StructureChain<X, Y, Z...>                        structureChain;
@@ -10475,7 +10475,7 @@
             typename B,
             typename std::enable_if<std::is_same<typename B::value_type, QueueFamilyProperties2>::value, int>::type>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
-    PhysicalDevice::getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
+                                         PhysicalDevice::getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
                                                   Dispatch const &                  d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -10524,7 +10524,7 @@
             typename B,
             typename std::enable_if<std::is_same<typename B::value_type, StructureChain>::value, int>::type>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<StructureChain, StructureChainAllocator>
-    PhysicalDevice::getQueueFamilyProperties2KHR( StructureChainAllocator & structureChainAllocator,
+                                         PhysicalDevice::getQueueFamilyProperties2KHR( StructureChainAllocator & structureChainAllocator,
                                                   Dispatch const &          d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -10564,7 +10564,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-    PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2 memoryProperties;
@@ -10575,7 +10575,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+                                         PhysicalDevice::getMemoryProperties2KHR( Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     StructureChain<X, Y, Z...>                              structureChain;
@@ -10926,7 +10926,7 @@
 #  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type
-    Device::getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR & getWin32HandleInfo,
+                                          Device::getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR & getWin32HandleInfo,
                                      Dispatch const &                                          d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -10989,7 +10989,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<int>::type
-    Device::getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR & getFdInfo, Dispatch const & d ) const
+                                          Device::getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR & getFdInfo, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     int    fd;
@@ -11107,7 +11107,7 @@
 #  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type
-    Device::getSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo,
+                                          Device::getSemaphoreWin32HandleKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetWin32HandleInfoKHR & getWin32HandleInfo,
                                         Dispatch const &                                             d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -11134,7 +11134,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo,
+                                          Device::importSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::ImportSemaphoreFdInfoKHR & importSemaphoreFdInfo,
                                   Dispatch const &                                       d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -11158,7 +11158,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<int>::type
-    Device::getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR & getFdInfo, Dispatch const & d ) const
+                                          Device::getSemaphoreFdKHR( const VULKAN_HPP_NAMESPACE::SemaphoreGetFdInfoKHR & getFdInfo, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     int    fd;
@@ -12110,7 +12110,7 @@
 #  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<HANDLE>::type
-    Device::getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR & getWin32HandleInfo,
+                                          Device::getFenceWin32HandleKHR( const VULKAN_HPP_NAMESPACE::FenceGetWin32HandleInfoKHR & getWin32HandleInfo,
                                     Dispatch const &                                         d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -12137,7 +12137,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR & importFenceFdInfo,
+                                          Device::importFenceFdKHR( const VULKAN_HPP_NAMESPACE::ImportFenceFdInfoKHR & importFenceFdInfo,
                               Dispatch const &                                   d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -12161,7 +12161,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<int>::type
-    Device::getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR & getFdInfo, Dispatch const & d ) const
+                                          Device::getFenceFdKHR( const VULKAN_HPP_NAMESPACE::FenceGetFdInfoKHR & getFdInfo, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     int    fd;
@@ -12346,10 +12346,10 @@
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::pair<std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator>,
               std::vector<PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator>>
-                                                                         data( std::piecewise_construct,
+                                                                                               data( std::piecewise_construct,
             std::forward_as_tuple( performanceCounterKHRAllocator ),
             std::forward_as_tuple( performanceCounterDescriptionKHRAllocator ) );
-    std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator> & counters = data.first;
+    std::vector<PerformanceCounterKHR, PerformanceCounterKHRAllocator> &                       counters = data.first;
     std::vector<PerformanceCounterDescriptionKHR, PerformanceCounterDescriptionKHRAllocator> & counterDescriptions =
       data.second;
     uint32_t counterCount;
@@ -12422,7 +12422,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::acquireProfilingLockKHR( const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR & info,
+                                          Device::acquireProfilingLockKHR( const VULKAN_HPP_NAMESPACE::AcquireProfilingLockInfoKHR & info,
                                      Dispatch const &                                          d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -12473,7 +12473,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
-    PhysicalDevice::getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
+                                          PhysicalDevice::getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo,
                                                 Dispatch const &                                            d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -12990,7 +12990,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setDebugUtilsObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT & nameInfo,
+                                          Device::setDebugUtilsObjectNameEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectNameInfoEXT & nameInfo,
                                         Dispatch const &                                          d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -13012,7 +13012,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::setDebugUtilsObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT & tagInfo,
+                                          Device::setDebugUtilsObjectTagEXT( const VULKAN_HPP_NAMESPACE::DebugUtilsObjectTagInfoEXT & tagInfo,
                                        Dispatch const &                                         d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -13283,7 +13283,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<StructureChain<X, Y, Z...>>::type
-    Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d ) const
+                                          Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     StructureChain<X, Y, Z...>                                     structureChain;
@@ -13363,7 +13363,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
-    PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
+                                         PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
                                                  Dispatch const &                          d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -13393,7 +13393,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
+                                         Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -13406,7 +13406,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
+                                         Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info,
                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -13435,7 +13435,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
+                                         Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -13448,7 +13448,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
+                                         Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info,
                                              Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -13481,7 +13481,7 @@
   template <typename SparseImageMemoryRequirements2Allocator, typename Dispatch>
   VULKAN_HPP_NODISCARD
     VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
-    Device::getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
+                      Device::getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
                                                   Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -14306,7 +14306,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindBufferMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
+                                          Device::bindBufferMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindBufferMemoryInfo> const & bindInfos,
                                   Dispatch const &                                                     d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -14330,7 +14330,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::bindImageMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
+                                          Device::bindImageMemory2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::BindImageMemoryInfo> const & bindInfos,
                                  Dispatch const &                                                    d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -14499,7 +14499,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT                           dstCache,
+                                          Device::mergeValidationCachesEXT( VULKAN_HPP_NAMESPACE::ValidationCacheEXT                           dstCache,
                                       ArrayProxy<const VULKAN_HPP_NAMESPACE::ValidationCacheEXT> const & srcCaches,
                                       Dispatch const &                                                   d ) const
   {
@@ -15030,7 +15030,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
-    Device::createRayTracingPipelineNV( VULKAN_HPP_NAMESPACE::PipelineCache                          pipelineCache,
+                                         Device::createRayTracingPipelineNV( VULKAN_HPP_NAMESPACE::PipelineCache                          pipelineCache,
                                         const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo,
                                         Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks>    allocator,
                                         Dispatch const &                                             d ) const
@@ -15132,7 +15132,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-    Device::createRayTracingPipelineNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
+                                         Device::createRayTracingPipelineNVUnique( VULKAN_HPP_NAMESPACE::PipelineCache pipelineCache,
                                               const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoNV & createInfo,
                                               Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks>    allocator,
                                               Dispatch const &                                             d ) const
@@ -15196,7 +15196,7 @@
 
   template <typename T, typename Allocator, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<std::vector<T, Allocator>>::type
-    Device::getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                                          Device::getRayTracingShaderGroupHandlesNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
                                                uint32_t                       firstGroup,
                                                uint32_t                       groupCount,
                                                size_t                         dataSize,
@@ -15217,7 +15217,7 @@
 
   template <typename T, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<T>::type
-    Device::getRayTracingShaderGroupHandleNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                                          Device::getRayTracingShaderGroupHandleNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
                                               uint32_t                       firstGroup,
                                               uint32_t                       groupCount,
                                               Dispatch const &               d ) const
@@ -15266,7 +15266,7 @@
 
   template <typename T, typename Allocator, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<std::vector<T, Allocator>>::type
-    Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+                                          Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
                                               size_t                                        dataSize,
                                               Dispatch const &                              d ) const
   {
@@ -15283,7 +15283,7 @@
 
   template <typename T, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<T>::type
-    Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
+                                          Device::getAccelerationStructureHandleNV( VULKAN_HPP_NAMESPACE::AccelerationStructureNV accelerationStructure,
                                               Dispatch const &                              d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -15347,7 +15347,7 @@
 #else
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader, Dispatch const & d ) const
+                                          Device::compileDeferredNV( VULKAN_HPP_NAMESPACE::Pipeline pipeline, uint32_t shader, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     Result result =
@@ -15373,7 +15373,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DescriptorSetLayoutSupport
-    Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
+                                         Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -15386,7 +15386,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
+                                         Device::getDescriptorSetLayoutSupportKHR( const VULKAN_HPP_NAMESPACE::DescriptorSetLayoutCreateInfo & createInfo,
                                               Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -15799,7 +15799,7 @@
             typename B,
             typename std::enable_if<std::is_same<typename B::value_type, CheckpointDataNV>::value, int>::type>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<CheckpointDataNV, CheckpointDataNVAllocator>
-    Queue::getCheckpointDataNV( CheckpointDataNVAllocator & checkpointDataNVAllocator, Dispatch const & d ) const
+                                         Queue::getCheckpointDataNV( CheckpointDataNVAllocator & checkpointDataNVAllocator, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::vector<CheckpointDataNV, CheckpointDataNVAllocator> checkpointData( checkpointDataNVAllocator );
@@ -15827,7 +15827,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<uint64_t>::type
-    Device::getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d ) const
+                                          Device::getSemaphoreCounterValueKHR( VULKAN_HPP_NAMESPACE::Semaphore semaphore, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     uint64_t value;
@@ -15874,7 +15874,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const
+                                          Device::signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     Result result = static_cast<Result>(
@@ -15927,7 +15927,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    CommandBuffer::setPerformanceMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL & markerInfo,
+                                          CommandBuffer::setPerformanceMarkerINTEL( const VULKAN_HPP_NAMESPACE::PerformanceMarkerInfoINTEL & markerInfo,
                                               Dispatch const &                                         d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -15973,7 +15973,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    CommandBuffer::setPerformanceOverrideINTEL( const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL & overrideInfo,
+                                          CommandBuffer::setPerformanceOverrideINTEL( const VULKAN_HPP_NAMESPACE::PerformanceOverrideInfoINTEL & overrideInfo,
                                                 Dispatch const &                                           d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -16048,7 +16048,7 @@
 #else
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+                                          Device::releasePerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
                                                   Dispatch const &                                    d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -16070,7 +16070,7 @@
 #else
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Device::release( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, Dispatch const & d ) const
+                                          Device::release( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     Result result = static_cast<Result>( d.vkReleasePerformanceConfigurationINTEL(
@@ -16091,7 +16091,7 @@
 #else
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
+                                          Queue::setPerformanceConfigurationINTEL( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL configuration,
                                              Dispatch const &                                    d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -18251,7 +18251,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
-    Queue::submit2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR> const & submits,
+                                          Queue::submit2KHR( ArrayProxy<const VULKAN_HPP_NAMESPACE::SubmitInfo2KHR> const & submits,
                        VULKAN_HPP_NAMESPACE::Fence                                    fence,
                        Dispatch const &                                               d ) const
   {
@@ -18311,7 +18311,7 @@
             typename B,
             typename std::enable_if<std::is_same<typename B::value_type, CheckpointData2NV>::value, int>::type>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<CheckpointData2NV, CheckpointData2NVAllocator>
-    Queue::getCheckpointData2NV( CheckpointData2NVAllocator & checkpointData2NVAllocator, Dispatch const & d ) const
+                                         Queue::getCheckpointData2NV( CheckpointData2NVAllocator & checkpointData2NVAllocator, Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
     std::vector<CheckpointData2NV, CheckpointData2NVAllocator> checkpointData( checkpointData2NVAllocator );
@@ -18739,7 +18739,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Pipeline>
-    Device::createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+                                         Device::createRayTracingPipelineKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
                                          VULKAN_HPP_NAMESPACE::PipelineCache        pipelineCache,
                                          const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
                                          Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks>     allocator,
@@ -18857,7 +18857,7 @@
 
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<UniqueHandle<Pipeline, Dispatch>>
-    Device::createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+                                         Device::createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
                                                VULKAN_HPP_NAMESPACE::PipelineCache        pipelineCache,
                                                const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
                                                Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks>     allocator,
@@ -18926,7 +18926,7 @@
 
   template <typename T, typename Allocator, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<std::vector<T, Allocator>>::type
-    Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                                          Device::getRayTracingShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
                                                 uint32_t                       firstGroup,
                                                 uint32_t                       groupCount,
                                                 size_t                         dataSize,
@@ -18948,7 +18948,7 @@
 
   template <typename T, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<T>::type
-    Device::getRayTracingShaderGroupHandleKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                                          Device::getRayTracingShaderGroupHandleKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
                                                uint32_t                       firstGroup,
                                                uint32_t                       groupCount,
                                                Dispatch const &               d ) const
@@ -19004,7 +19004,7 @@
 
   template <typename T, typename Allocator, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<std::vector<T, Allocator>>::type
-    Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                                          Device::getRayTracingCaptureReplayShaderGroupHandlesKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
                                                              uint32_t                       firstGroup,
                                                              uint32_t                       groupCount,
                                                              size_t                         dataSize,
@@ -19026,7 +19026,7 @@
 
   template <typename T, typename Dispatch>
   VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<T>::type
-    Device::getRayTracingCaptureReplayShaderGroupHandleKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
+                                          Device::getRayTracingCaptureReplayShaderGroupHandleKHR( VULKAN_HPP_NAMESPACE::Pipeline pipeline,
                                                             uint32_t                       firstGroup,
                                                             uint32_t                       groupCount,
                                                             Dispatch const &               d ) const
@@ -19143,6 +19143,90 @@
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_memory_control ===
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+    Device::modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA       op,
+                                       uint32_t                                         memoryRangeCount,
+                                       const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA * pMemoryRanges,
+                                       VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA *    pOpResults,
+                                       Dispatch const &                                 d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>(
+      d.vkModifyMemoryRangesFUCHSIA( m_device,
+                                     static_cast<VkMemoryOpFlagsFUCHSIA>( op ),
+                                     memoryRangeCount,
+                                     reinterpret_cast<const VkMemoryRangeFUCHSIA *>( pMemoryRanges ),
+                                     reinterpret_cast<VkMemoryOpResultFUCHSIA *>( pOpResults ) ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename MemoryOpResultFUCHSIAAllocator, typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA, MemoryOpResultFUCHSIAAllocator>>::type
+    Device::modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
+                                       ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
+                                       Dispatch const &                                                   d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA, MemoryOpResultFUCHSIAAllocator> opResults(
+      memoryRanges.size() );
+    Result result = static_cast<Result>(
+      d.vkModifyMemoryRangesFUCHSIA( m_device,
+                                     static_cast<VkMemoryOpFlagsFUCHSIA>( op ),
+                                     memoryRanges.size(),
+                                     reinterpret_cast<const VkMemoryRangeFUCHSIA *>( memoryRanges.data() ),
+                                     reinterpret_cast<VkMemoryOpResultFUCHSIA *>( opResults.data() ) ) );
+    return createResultValue( result, opResults, VULKAN_HPP_NAMESPACE_STRING "::Device::modifyMemoryRangesFUCHSIA" );
+  }
+
+  template <typename MemoryOpResultFUCHSIAAllocator,
+            typename Dispatch,
+            typename B,
+            typename std::enable_if<std::is_same<typename B::value_type, MemoryOpResultFUCHSIA>::value, int>::type>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<
+    std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA, MemoryOpResultFUCHSIAAllocator>>::type
+    Device::modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
+                                       ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
+                                       MemoryOpResultFUCHSIAAllocator & memoryOpResultFUCHSIAAllocator,
+                                       Dispatch const &                 d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA, MemoryOpResultFUCHSIAAllocator> opResults(
+      memoryRanges.size(), memoryOpResultFUCHSIAAllocator );
+    Result result = static_cast<Result>(
+      d.vkModifyMemoryRangesFUCHSIA( m_device,
+                                     static_cast<VkMemoryOpFlagsFUCHSIA>( op ),
+                                     memoryRanges.size(),
+                                     reinterpret_cast<const VkMemoryRangeFUCHSIA *>( memoryRanges.data() ),
+                                     reinterpret_cast<VkMemoryOpResultFUCHSIA *>( opResults.data() ) ) );
+    return createResultValue( result, opResults, VULKAN_HPP_NAMESPACE_STRING "::Device::modifyMemoryRangesFUCHSIA" );
+  }
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA>::type
+    Device::modifyMemoryRangeFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA       op,
+                                      const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA & memoryRange,
+                                      Dispatch const &                                 d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA opResult;
+    Result                                      result = static_cast<Result>(
+      d.vkModifyMemoryRangesFUCHSIA( m_device,
+                                     static_cast<VkMemoryOpFlagsFUCHSIA>( op ),
+                                     1,
+                                     reinterpret_cast<const VkMemoryRangeFUCHSIA *>( &memoryRange ),
+                                     reinterpret_cast<VkMemoryOpResultFUCHSIA *>( &opResult ) ) );
+    return createResultValue( result, opResult, VULKAN_HPP_NAMESPACE_STRING "::Device::modifyMemoryRangeFUCHSIA" );
+  }
+
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   //=== VK_FUCHSIA_external_memory ===
 
   template <typename Dispatch>
@@ -19477,6 +19561,276 @@
 #  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif   /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_buffer_collection_x ===
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::createBufferCollectionFUCHSIAX(
+    const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX * pImportInfo,
+    const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX *                 pCollection,
+    Dispatch const &                                                 d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>(
+      d.vkCreateBufferCollectionFUCHSIAX( m_device,
+                                          reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIAX *>( pImportInfo ),
+                                          reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ),
+                                          reinterpret_cast<VkBufferCollectionFUCHSIAX *>( pCollection ) ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX>::type
+    Device::createBufferCollectionFUCHSIAX( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX & importInfo,
+                                            Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks>        allocator,
+                                            Dispatch const &                                                 d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection;
+    Result                                         result = static_cast<Result>( d.vkCreateBufferCollectionFUCHSIAX(
+      m_device,
+      reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIAX *>( &importInfo ),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+        static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
+      reinterpret_cast<VkBufferCollectionFUCHSIAX *>( &collection ) ) );
+    return createResultValue(
+      result, collection, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIAX" );
+  }
+
+#    ifndef VULKAN_HPP_NO_SMART_HANDLE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX, Dispatch>>::type
+    Device::createBufferCollectionFUCHSIAXUnique(
+      const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX & importInfo,
+      Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks>        allocator,
+      Dispatch const &                                                 d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection;
+    Result                                         result = static_cast<Result>( d.vkCreateBufferCollectionFUCHSIAX(
+      m_device,
+      reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIAX *>( &importInfo ),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+        static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ),
+      reinterpret_cast<VkBufferCollectionFUCHSIAX *>( &collection ) ) );
+    ObjectDestroy<Device, Dispatch>                deleter( *this, allocator, d );
+    return createResultValue<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX, Dispatch>(
+      result, collection, VULKAN_HPP_NAMESPACE_STRING "::Device::createBufferCollectionFUCHSIAXUnique", deleter );
+  }
+#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+    Device::setBufferCollectionConstraintsFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                                    const VULKAN_HPP_NAMESPACE::ImageCreateInfo *  pImageInfo,
+                                                    Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>(
+      d.vkSetBufferCollectionConstraintsFUCHSIAX( m_device,
+                                                  static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+                                                  reinterpret_cast<const VkImageCreateInfo *>( pImageInfo ) ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
+                                          Device::setBufferCollectionConstraintsFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                                    const VULKAN_HPP_NAMESPACE::ImageCreateInfo &  imageInfo,
+                                                    Dispatch const &                               d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    Result result = static_cast<Result>(
+      d.vkSetBufferCollectionConstraintsFUCHSIAX( m_device,
+                                                  static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+                                                  reinterpret_cast<const VkImageCreateInfo *>( &imageInfo ) ) );
+    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionConstraintsFUCHSIAX" );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setBufferCollectionImageConstraintsFUCHSIAX(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX             collection,
+    const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX * pImageConstraintsInfo,
+    Dispatch const &                                           d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>( d.vkSetBufferCollectionImageConstraintsFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<const VkImageConstraintsInfoFUCHSIAX *>( pImageConstraintsInfo ) ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
+                                          Device::setBufferCollectionImageConstraintsFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX             collection,
+      const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX & imageConstraintsInfo,
+      Dispatch const &                                           d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    Result result = static_cast<Result>( d.vkSetBufferCollectionImageConstraintsFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<const VkImageConstraintsInfoFUCHSIAX *>( &imageConstraintsInfo ) ) );
+    return createResultValue( result,
+                              VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionImageConstraintsFUCHSIAX" );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::setBufferCollectionBufferConstraintsFUCHSIAX(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX              collection,
+    const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX * pBufferConstraintsInfo,
+    Dispatch const &                                            d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>( d.vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<const VkBufferConstraintsInfoFUCHSIAX *>( pBufferConstraintsInfo ) ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE typename ResultValueType<void>::type
+                                          Device::setBufferCollectionBufferConstraintsFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX              collection,
+      const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX & bufferConstraintsInfo,
+      Dispatch const &                                            d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    Result result = static_cast<Result>( d.vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<const VkBufferConstraintsInfoFUCHSIAX *>( &bufferConstraintsInfo ) ) );
+    return createResultValue( result,
+                              VULKAN_HPP_NAMESPACE_STRING "::Device::setBufferCollectionBufferConstraintsFUCHSIAX" );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch>
+  VULKAN_HPP_INLINE void
+    Device::destroyBufferCollectionFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX    collection,
+                                             const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
+                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    d.vkDestroyBufferCollectionFUCHSIAX( m_device,
+                                         static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_INLINE void
+    Device::destroyBufferCollectionFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX            collection,
+                                             Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
+                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    d.vkDestroyBufferCollectionFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+        static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch>
+  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX    collection,
+                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
+                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    d.vkDestroyBufferCollectionFUCHSIAX( m_device,
+                                         static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+                                         reinterpret_cast<const VkAllocationCallbacks *>( pAllocator ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_INLINE void Device::destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX            collection,
+                                          Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator,
+                                          Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    d.vkDestroyBufferCollectionFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<const VkAllocationCallbacks *>(
+        static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) ) );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getBufferCollectionPropertiesFUCHSIAX(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX             collection,
+    VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX * pProperties,
+    Dispatch const &                                           d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>( d.vkGetBufferCollectionPropertiesFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<VkBufferCollectionPropertiesFUCHSIAX *>( pProperties ) ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX>::type
+    Device::getBufferCollectionPropertiesFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                                   Dispatch const &                               d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX properties;
+    Result result = static_cast<Result>( d.vkGetBufferCollectionPropertiesFUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<VkBufferCollectionPropertiesFUCHSIAX *>( &properties ) ) );
+    return createResultValue(
+      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferCollectionPropertiesFUCHSIAX" );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result Device::getBufferCollectionProperties2FUCHSIAX(
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX              collection,
+    VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX * pProperties,
+    Dispatch const &                                            d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>( d.vkGetBufferCollectionProperties2FUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<VkBufferCollectionProperties2FUCHSIAX *>( pProperties ) ) );
+  }
+
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+    typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX>::type
+    Device::getBufferCollectionProperties2FUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                                    Dispatch const &                               d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX properties;
+    Result result = static_cast<Result>( d.vkGetBufferCollectionProperties2FUCHSIAX(
+      m_device,
+      static_cast<VkBufferCollectionFUCHSIAX>( collection ),
+      reinterpret_cast<VkBufferCollectionProperties2FUCHSIAX *>( &properties ) ) );
+    return createResultValue(
+      result, properties, VULKAN_HPP_NAMESPACE_STRING "::Device::getBufferCollectionProperties2FUCHSIAX" );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+
   //=== VK_HUAWEI_subpass_shading ===
 
   template <typename Dispatch>
@@ -19493,7 +19847,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE ResultValue<VULKAN_HPP_NAMESPACE::Extent2D>
-    Device::getSubpassShadingMaxWorkgroupSizeHUAWEI( VULKAN_HPP_NAMESPACE::RenderPass renderpass,
+                                         Device::getSubpassShadingMaxWorkgroupSizeHUAWEI( VULKAN_HPP_NAMESPACE::RenderPass renderpass,
                                                      Dispatch const &                 d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -19812,7 +20166,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirementsKHR & info,
+                                         Device::getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirementsKHR & info,
                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -19825,7 +20179,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirementsKHR & info,
+                                         Device::getBufferMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceBufferMemoryRequirementsKHR & info,
                                             Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -19854,7 +20208,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
   template <typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-    Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
+                                         Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -19867,7 +20221,7 @@
 
   template <typename X, typename Y, typename... Z, typename Dispatch>
   VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-    Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
+                                         Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
                                            Dispatch const & d ) const VULKAN_HPP_NOEXCEPT
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -19900,7 +20254,7 @@
   template <typename SparseImageMemoryRequirements2Allocator, typename Dispatch>
   VULKAN_HPP_NODISCARD
     VULKAN_HPP_INLINE std::vector<SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
-    Device::getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
+                      Device::getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
                                                  Dispatch const & d ) const
   {
     VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
@@ -19953,5 +20307,41 @@
   }
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_compact_image ===
+
+#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+  template <typename Dispatch>
+  VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE Result
+    Device::trimCompactImageMemoryFUCHSIA( VULKAN_HPP_NAMESPACE::Image        image,
+                                           VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                                           VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
+                                           Dispatch const &                   d ) const VULKAN_HPP_NOEXCEPT
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    return static_cast<Result>( d.vkTrimCompactImageDeviceMemoryFUCHSIA( m_device,
+                                                                         static_cast<VkImage>( image ),
+                                                                         static_cast<VkDeviceMemory>( memory ),
+                                                                         static_cast<VkDeviceSize>( memoryOffset ) ) );
+  }
+#  else
+  template <typename Dispatch>
+  VULKAN_HPP_INLINE typename ResultValueType<void>::type
+    Device::trimCompactImageMemoryFUCHSIA( VULKAN_HPP_NAMESPACE::Image image,
+                                           VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                                           VULKAN_HPP_NAMESPACE::DeviceSize memoryOffset,
+                                           Dispatch const & d ) const
+  {
+    VULKAN_HPP_ASSERT( d.getVkHeaderVersion() == VK_HEADER_VERSION );
+    Result result =
+      static_cast<Result>( d.vkTrimCompactImageDeviceMemoryFUCHSIA( m_device,
+                                                                    static_cast<VkImage>( image ),
+                                                                    static_cast<VkDeviceMemory>( memory ),
+                                                                    static_cast<VkDeviceSize>( memoryOffset ) ) );
+    return createResultValue( result, VULKAN_HPP_NAMESPACE_STRING "::Device::trimCompactImageMemoryFUCHSIA" );
+  }
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+
 }  // namespace VULKAN_HPP_NAMESPACE
 #endif
diff --git a/include/vulkan/vulkan_handles.hpp b/include/vulkan/vulkan_handles.hpp
index e9cb8b6..2d0ca04 100644
--- a/include/vulkan/vulkan_handles.hpp
+++ b/include/vulkan/vulkan_handles.hpp
@@ -1219,6 +1219,14 @@
   struct FormatProperties3KHR;
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_memory_control ===
+  struct PhysicalDeviceMemoryControlPropertiesFUCHSIA;
+  struct MemoryRangeFUCHSIA;
+  struct MemoryOpResultFUCHSIA;
+  struct ControlOpsMemoryAllocateInfoFUCHSIA;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   //=== VK_FUCHSIA_external_memory ===
   struct ImportMemoryZirconHandleInfoFUCHSIA;
   struct MemoryZirconHandlePropertiesFUCHSIA;
@@ -1245,6 +1253,20 @@
   struct BufferCollectionConstraintsInfoFUCHSIA;
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  //=== VK_FUCHSIA_buffer_collection_x ===
+  struct BufferCollectionCreateInfoFUCHSIAX;
+  struct ImportMemoryBufferCollectionFUCHSIAX;
+  struct BufferCollectionImageCreateInfoFUCHSIAX;
+  struct BufferConstraintsInfoFUCHSIAX;
+  struct BufferCollectionBufferCreateInfoFUCHSIAX;
+  struct BufferCollectionPropertiesFUCHSIAX;
+  struct BufferCollectionProperties2FUCHSIAX;
+  struct SysmemColorSpaceFUCHSIAX;
+  struct ImageConstraintsInfoFUCHSIAX;
+  struct ImageFormatConstraintsInfoFUCHSIAX;
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   //=== VK_HUAWEI_subpass_shading ===
   struct SubpassShadingPipelineCreateInfoHUAWEI;
   struct PhysicalDeviceSubpassShadingFeaturesHUAWEI;
@@ -5283,6 +5305,110 @@
   };
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  class BufferCollectionFUCHSIAX
+  {
+  public:
+    using CType      = VkBufferCollectionFUCHSIAX;
+    using NativeType = VkBufferCollectionFUCHSIAX;
+
+    static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType =
+      VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIAX;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+      VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIAX;
+
+  public:
+    VULKAN_HPP_CONSTEXPR BufferCollectionFUCHSIAX() = default;
+    VULKAN_HPP_CONSTEXPR BufferCollectionFUCHSIAX( std::nullptr_t ) VULKAN_HPP_NOEXCEPT {}
+    VULKAN_HPP_TYPESAFE_EXPLICIT
+      BufferCollectionFUCHSIAX( VkBufferCollectionFUCHSIAX bufferCollectionFUCHSIAX ) VULKAN_HPP_NOEXCEPT
+      : m_bufferCollectionFUCHSIAX( bufferCollectionFUCHSIAX )
+    {}
+
+#  if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
+    BufferCollectionFUCHSIAX & operator=( VkBufferCollectionFUCHSIAX bufferCollectionFUCHSIAX ) VULKAN_HPP_NOEXCEPT
+    {
+      m_bufferCollectionFUCHSIAX = bufferCollectionFUCHSIAX;
+      return *this;
+    }
+#  endif
+
+    BufferCollectionFUCHSIAX & operator=( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
+    {
+      m_bufferCollectionFUCHSIAX = {};
+      return *this;
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( BufferCollectionFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( BufferCollectionFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return m_bufferCollectionFUCHSIAX == rhs.m_bufferCollectionFUCHSIAX;
+    }
+
+    bool operator!=( BufferCollectionFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return m_bufferCollectionFUCHSIAX != rhs.m_bufferCollectionFUCHSIAX;
+    }
+
+    bool operator<( BufferCollectionFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return m_bufferCollectionFUCHSIAX < rhs.m_bufferCollectionFUCHSIAX;
+    }
+#  endif
+
+    VULKAN_HPP_TYPESAFE_EXPLICIT operator VkBufferCollectionFUCHSIAX() const VULKAN_HPP_NOEXCEPT
+    {
+      return m_bufferCollectionFUCHSIAX;
+    }
+
+    explicit operator bool() const VULKAN_HPP_NOEXCEPT
+    {
+      return m_bufferCollectionFUCHSIAX != VK_NULL_HANDLE;
+    }
+
+    bool operator!() const VULKAN_HPP_NOEXCEPT
+    {
+      return m_bufferCollectionFUCHSIAX == VK_NULL_HANDLE;
+    }
+
+  private:
+    VkBufferCollectionFUCHSIAX m_bufferCollectionFUCHSIAX = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX ) ==
+                              sizeof( VkBufferCollectionFUCHSIAX ),
+                            "handle and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX>::value,
+                            "BufferCollectionFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct VULKAN_HPP_DEPRECATED(
+    "vk::cpp_type is deprecated. Use vk::CppType instead." ) cpp_type<ObjectType::eBufferCollectionFUCHSIAX>
+  {
+    using type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX;
+  };
+
+  template <>
+  struct CppType<VULKAN_HPP_NAMESPACE::ObjectType, VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIAX>
+  {
+    using Type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX;
+  };
+
+  template <>
+  struct CppType<VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT,
+                 VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIAX>
+  {
+    using Type = VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX;
+  };
+
+  template <>
+  struct isVulkanHandleType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX>
+  {
+    static VULKAN_HPP_CONST_OR_CONSTEXPR bool value = true;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   class BufferView
   {
   public:
@@ -7141,6 +7267,15 @@
   };
   using UniqueBufferCollectionFUCHSIA = UniqueHandle<BufferCollectionFUCHSIA, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+  template <typename Dispatch>
+  class UniqueHandleTraits<BufferCollectionFUCHSIAX, Dispatch>
+  {
+  public:
+    using deleter = ObjectDestroy<Device, Dispatch>;
+  };
+  using UniqueBufferCollectionFUCHSIAX = UniqueHandle<BufferCollectionFUCHSIAX, VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
   template <typename Dispatch>
   class UniqueHandleTraits<BufferView, Dispatch>
   {
@@ -9054,8 +9189,8 @@
     template <typename SparseImageMemoryRequirements2Allocator = std::allocator<SparseImageMemoryRequirements2>,
               typename Dispatch                                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
-      getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
-                                         Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
+                                                            Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <typename SparseImageMemoryRequirements2Allocator = std::allocator<SparseImageMemoryRequirements2>,
               typename Dispatch                                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
               typename B                                       = SparseImageMemoryRequirements2Allocator,
@@ -10380,8 +10515,8 @@
     template <typename SparseImageMemoryRequirements2Allocator = std::allocator<SparseImageMemoryRequirements2>,
               typename Dispatch                                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
-      getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
-                                            Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getImageSparseMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info,
+                                                               Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <typename SparseImageMemoryRequirements2Allocator = std::allocator<SparseImageMemoryRequirements2>,
               typename Dispatch                                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
               typename B                                       = SparseImageMemoryRequirements2Allocator,
@@ -11656,12 +11791,12 @@
                            Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD ResultValue<UniqueHandle<Pipeline, Dispatch>>
-      createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
-                                         VULKAN_HPP_NAMESPACE::PipelineCache        pipelineCache,
-                                         const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
-                                         Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
-                                                            VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
-                                         Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         createRayTracingPipelineKHRUnique( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+                                                            VULKAN_HPP_NAMESPACE::PipelineCache        pipelineCache,
+                                                            const VULKAN_HPP_NAMESPACE::RayTracingPipelineCreateInfoKHR & createInfo,
+                                                            Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
+                                                                               VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                                                            Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
 #  endif /*VULKAN_HPP_NO_SMART_HANDLE*/
 #endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
@@ -11742,6 +11877,43 @@
       VULKAN_HPP_NOEXCEPT;
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_memory_control ===
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result modifyMemoryRangesFUCHSIA(
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA       op,
+      uint32_t                                         memoryRangeCount,
+      const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA * pMemoryRanges,
+      VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA *    pOpResults,
+      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename MemoryOpResultFUCHSIAAllocator = std::allocator<MemoryOpResultFUCHSIA>,
+              typename Dispatch                       = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA, MemoryOpResultFUCHSIAAllocator>>::type
+      modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
+                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
+                                 Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+    template <
+      typename MemoryOpResultFUCHSIAAllocator = std::allocator<MemoryOpResultFUCHSIA>,
+      typename Dispatch                       = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
+      typename B                              = MemoryOpResultFUCHSIAAllocator,
+      typename std::enable_if<std::is_same<typename B::value_type, MemoryOpResultFUCHSIA>::value, int>::type = 0>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<
+      std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA, MemoryOpResultFUCHSIAAllocator>>::type
+      modifyMemoryRangesFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
+                                 ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges,
+                                 MemoryOpResultFUCHSIAAllocator & memoryOpResultFUCHSIAAllocator,
+                                 Dispatch const & d               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA>::type
+      modifyMemoryRangeFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA       op,
+                                const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA & memoryRange,
+                                Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
     //=== VK_FUCHSIA_external_memory ===
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -11894,6 +12066,128 @@
 #  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 #endif   /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_buffer_collection_x ===
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result createBufferCollectionFUCHSIAX(
+      const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX * pImportInfo,
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                pAllocator,
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX *                 pCollection,
+      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX>::type
+      createBufferCollectionFUCHSIAX( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX & importInfo,
+                                      Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
+                                                         VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                                      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#    ifndef VULKAN_HPP_NO_SMART_HANDLE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS VULKAN_HPP_INLINE
+      typename ResultValueType<UniqueHandle<VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX, Dispatch>>::type
+      createBufferCollectionFUCHSIAXUnique( const VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX & importInfo,
+                                            Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
+                                                               VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                                            Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#    endif /*VULKAN_HPP_NO_SMART_HANDLE*/
+#  endif   /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result setBufferCollectionConstraintsFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+      const VULKAN_HPP_NAMESPACE::ImageCreateInfo *  pImageInfo,
+      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+      setBufferCollectionConstraintsFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                              const VULKAN_HPP_NAMESPACE::ImageCreateInfo &  imageInfo,
+                                              Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result setBufferCollectionImageConstraintsFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX             collection,
+      const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX * pImageConstraintsInfo,
+      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+      setBufferCollectionImageConstraintsFUCHSIAX(
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX             collection,
+        const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX & imageConstraintsInfo,
+        Dispatch const & d                                         VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result setBufferCollectionBufferConstraintsFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX              collection,
+      const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX * pBufferConstraintsInfo,
+      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS typename ResultValueType<void>::type
+      setBufferCollectionBufferConstraintsFUCHSIAX(
+        VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX              collection,
+        const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX & bufferConstraintsInfo,
+        Dispatch const & d                                          VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    void destroyBufferCollectionFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX    collection,
+                                          const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
+                                          Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const
+      VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    void destroyBufferCollectionFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                          Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
+                                                             VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                                          Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const
+      VULKAN_HPP_NOEXCEPT;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    void destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX    collection,
+                  const VULKAN_HPP_NAMESPACE::AllocationCallbacks * pAllocator,
+                  Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    void destroy( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                  Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator
+                                     VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
+                  Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result getBufferCollectionPropertiesFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX             collection,
+      VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX * pProperties,
+      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX>::type
+      getBufferCollectionPropertiesFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                             Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result getBufferCollectionProperties2FUCHSIAX(
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX              collection,
+      VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX * pProperties,
+      Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
+      typename ResultValueType<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX>::type
+      getBufferCollectionProperties2FUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection,
+                                              Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+
     //=== VK_HUAWEI_subpass_shading ===
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -11973,8 +12267,8 @@
     template <typename SparseImageMemoryRequirements2Allocator = std::allocator<SparseImageMemoryRequirements2>,
               typename Dispatch                                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD std::vector<SparseImageMemoryRequirements2, SparseImageMemoryRequirements2Allocator>
-      getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
-                                           Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info,
+                                                              Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <typename SparseImageMemoryRequirements2Allocator = std::allocator<SparseImageMemoryRequirements2>,
               typename Dispatch                                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
               typename B                                       = SparseImageMemoryRequirements2Allocator,
@@ -11987,6 +12281,26 @@
                            Dispatch const & d                                             VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_compact_image ===
+
+#  ifdef VULKAN_HPP_DISABLE_ENHANCED_MODE
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    VULKAN_HPP_NODISCARD Result trimCompactImageMemoryFUCHSIA(
+      VULKAN_HPP_NAMESPACE::Image        image,
+      VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+      VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
+      Dispatch const & d                 VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+#  else
+    template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
+    typename ResultValueType<void>::type
+      trimCompactImageMemoryFUCHSIA( VULKAN_HPP_NAMESPACE::Image        image,
+                                     VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                                     VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset,
+                                     Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+#  endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#endif   /*VK_USE_PLATFORM_FUCHSIA*/
+
     VULKAN_HPP_TYPESAFE_EXPLICIT operator VkDevice() const VULKAN_HPP_NOEXCEPT
     {
       return m_device;
@@ -12204,7 +12518,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures
-      getFeatures( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getFeatures( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12244,7 +12558,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties
-      getProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12273,7 +12587,7 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties
-      getMemoryProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getMemoryProperties( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12385,10 +12699,10 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
-      getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
     template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getFeatures2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12397,10 +12711,10 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
-      getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
     template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12473,10 +12787,10 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-      getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
     template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getMemoryProperties2( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12489,17 +12803,17 @@
     template <typename SparseImageFormatProperties2Allocator = std::allocator<SparseImageFormatProperties2>,
               typename Dispatch                              = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
-      getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                       Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
+                                                          Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <
       typename SparseImageFormatProperties2Allocator = std::allocator<SparseImageFormatProperties2>,
       typename Dispatch                              = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
       typename B                                     = SparseImageFormatProperties2Allocator,
       typename std::enable_if<std::is_same<typename B::value_type, SparseImageFormatProperties2>::value, int>::type = 0>
     VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
-      getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                       SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,
-                                       Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getSparseImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
+                                                          SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,
+                                                          Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12910,10 +13224,10 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceFeatures2
-      getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
     template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getFeatures2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12922,10 +13236,10 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceProperties2
-      getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
     template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -12969,20 +13283,20 @@
     template <typename QueueFamilyProperties2Allocator = std::allocator<QueueFamilyProperties2>,
               typename Dispatch                        = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
-      getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <
       typename QueueFamilyProperties2Allocator = std::allocator<QueueFamilyProperties2>,
       typename Dispatch                        = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
       typename B                               = QueueFamilyProperties2Allocator,
       typename std::enable_if<std::is_same<typename B::value_type, QueueFamilyProperties2>::value, int>::type = 0>
     VULKAN_HPP_NODISCARD std::vector<QueueFamilyProperties2, QueueFamilyProperties2Allocator>
-      getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
-                                    Dispatch const & d                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getQueueFamilyProperties2KHR( QueueFamilyProperties2Allocator & queueFamilyProperties2Allocator,
+                                                       Dispatch const & d                VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <typename StructureChain,
               typename StructureChainAllocator = std::allocator<StructureChain>,
               typename Dispatch                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD std::vector<StructureChain, StructureChainAllocator>
-      getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getQueueFamilyProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <typename StructureChain,
               typename StructureChainAllocator = std::allocator<StructureChain>,
               typename Dispatch                = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
@@ -13000,10 +13314,10 @@
 #ifndef VULKAN_HPP_DISABLE_ENHANCED_MODE
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryProperties2
-      getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
     template <typename X, typename Y, typename... Z, typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
+                         getMemoryProperties2KHR( Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const VULKAN_HPP_NOEXCEPT;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     template <typename Dispatch = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
@@ -13016,17 +13330,17 @@
     template <typename SparseImageFormatProperties2Allocator = std::allocator<SparseImageFormatProperties2>,
               typename Dispatch                              = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE>
     VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
-      getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                          Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
+                                                             Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
     template <
       typename SparseImageFormatProperties2Allocator = std::allocator<SparseImageFormatProperties2>,
       typename Dispatch                              = VULKAN_HPP_DEFAULT_DISPATCHER_TYPE,
       typename B                                     = SparseImageFormatProperties2Allocator,
       typename std::enable_if<std::is_same<typename B::value_type, SparseImageFormatProperties2>::value, int>::type = 0>
     VULKAN_HPP_NODISCARD std::vector<SparseImageFormatProperties2, SparseImageFormatProperties2Allocator>
-      getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
-                                          SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,
-                                          Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
+                         getSparseImageFormatProperties2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSparseImageFormatInfo2 & formatInfo,
+                                                             SparseImageFormatProperties2Allocator & sparseImageFormatProperties2Allocator,
+                                                             Dispatch const & d VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) const;
 #endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
 
     //=== VK_KHR_external_memory_capabilities ===
diff --git a/include/vulkan/vulkan_raii.hpp b/include/vulkan/vulkan_raii.hpp
index 4c925f8..8999a52 100644
--- a/include/vulkan/vulkan_raii.hpp
+++ b/include/vulkan/vulkan_raii.hpp
@@ -1090,6 +1090,30 @@
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
 #  if defined( VK_USE_PLATFORM_FUCHSIA )
+        //=== VK_FUCHSIA_buffer_collection_x ===
+        vkCreateBufferCollectionFUCHSIAX =
+          PFN_vkCreateBufferCollectionFUCHSIAX( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIAX" ) );
+        vkSetBufferCollectionConstraintsFUCHSIAX = PFN_vkSetBufferCollectionConstraintsFUCHSIAX(
+          vkGetDeviceProcAddr( device, "vkSetBufferCollectionConstraintsFUCHSIAX" ) );
+        vkSetBufferCollectionImageConstraintsFUCHSIAX = PFN_vkSetBufferCollectionImageConstraintsFUCHSIAX(
+          vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIAX" ) );
+        vkSetBufferCollectionBufferConstraintsFUCHSIAX = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+          vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIAX" ) );
+        vkDestroyBufferCollectionFUCHSIAX =
+          PFN_vkDestroyBufferCollectionFUCHSIAX( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIAX" ) );
+        vkGetBufferCollectionPropertiesFUCHSIAX = PFN_vkGetBufferCollectionPropertiesFUCHSIAX(
+          vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIAX" ) );
+        vkGetBufferCollectionProperties2FUCHSIAX = PFN_vkGetBufferCollectionProperties2FUCHSIAX(
+          vkGetDeviceProcAddr( device, "vkGetBufferCollectionProperties2FUCHSIAX" ) );
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+        //=== VK_FUCHSIA_compact_image ===
+        vkTrimCompactImageDeviceMemoryFUCHSIA = PFN_vkTrimCompactImageDeviceMemoryFUCHSIA(
+          vkGetDeviceProcAddr( device, "vkTrimCompactImageDeviceMemoryFUCHSIA" ) );
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
         //=== VK_FUCHSIA_external_memory ===
         vkGetMemoryZirconHandleFUCHSIA =
           PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
@@ -1105,6 +1129,12 @@
           PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+        //=== VK_FUCHSIA_memory_control ===
+        vkModifyMemoryRangesFUCHSIA =
+          PFN_vkModifyMemoryRangesFUCHSIA( vkGetDeviceProcAddr( device, "vkModifyMemoryRangesFUCHSIA" ) );
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
         //=== VK_GOOGLE_display_timing ===
         vkGetRefreshCycleDurationGOOGLE =
           PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
@@ -1886,6 +1916,32 @@
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
 #  if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_buffer_collection_x ===
+      PFN_vkCreateBufferCollectionFUCHSIAX               vkCreateBufferCollectionFUCHSIAX               = 0;
+      PFN_vkSetBufferCollectionConstraintsFUCHSIAX       vkSetBufferCollectionConstraintsFUCHSIAX       = 0;
+      PFN_vkSetBufferCollectionImageConstraintsFUCHSIAX  vkSetBufferCollectionImageConstraintsFUCHSIAX  = 0;
+      PFN_vkSetBufferCollectionBufferConstraintsFUCHSIAX vkSetBufferCollectionBufferConstraintsFUCHSIAX = 0;
+      PFN_vkDestroyBufferCollectionFUCHSIAX              vkDestroyBufferCollectionFUCHSIAX              = 0;
+      PFN_vkGetBufferCollectionPropertiesFUCHSIAX        vkGetBufferCollectionPropertiesFUCHSIAX        = 0;
+      PFN_vkGetBufferCollectionProperties2FUCHSIAX       vkGetBufferCollectionProperties2FUCHSIAX       = 0;
+#  else
+      PFN_dummy vkCreateBufferCollectionFUCHSIAX_placeholder                  = 0;
+      PFN_dummy vkSetBufferCollectionConstraintsFUCHSIAX_placeholder          = 0;
+      PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIAX_placeholder     = 0;
+      PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIAX_placeholder    = 0;
+      PFN_dummy vkDestroyBufferCollectionFUCHSIAX_placeholder                 = 0;
+      PFN_dummy vkGetBufferCollectionPropertiesFUCHSIAX_placeholder           = 0;
+      PFN_dummy vkGetBufferCollectionProperties2FUCHSIAX_placeholder          = 0;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_compact_image ===
+      PFN_vkTrimCompactImageDeviceMemoryFUCHSIA vkTrimCompactImageDeviceMemoryFUCHSIA = 0;
+#  else
+      PFN_dummy vkTrimCompactImageDeviceMemoryFUCHSIA_placeholder             = 0;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
       //=== VK_FUCHSIA_external_memory ===
       PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
       PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
@@ -1903,6 +1959,13 @@
       PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_memory_control ===
+      PFN_vkModifyMemoryRangesFUCHSIA vkModifyMemoryRangesFUCHSIA = 0;
+#  else
+      PFN_dummy vkModifyMemoryRangesFUCHSIA_placeholder                       = 0;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
       //=== VK_GOOGLE_display_timing ===
       PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
       PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
@@ -2302,6 +2365,11 @@
     class BufferCollectionFUCHSIA;
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_buffer_collection_x ===
+    class BufferCollectionFUCHSIAX;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
     //====================
     //=== RAII HANDLES ===
     //====================
@@ -2709,11 +2777,11 @@
                            getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageFormatProperties2
-        getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const;
+                           getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const;
 
       template <typename X, typename Y, typename... Z>
       VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-        getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const;
+                           getImageFormatProperties2( const VULKAN_HPP_NAMESPACE::PhysicalDeviceImageFormatInfo2 & imageFormatInfo ) const;
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::QueueFamilyProperties2>
                            getQueueFamilyProperties2() const VULKAN_HPP_NOEXCEPT;
@@ -2744,7 +2812,7 @@
       //=== VK_KHR_surface ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32
-        getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const;
+                           getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR
                            getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const;
@@ -2909,14 +2977,14 @@
       //=== VK_KHR_get_surface_capabilities2 ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SurfaceCapabilities2KHR
-        getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
+                           getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
 
       template <typename X, typename Y, typename... Z>
       VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-        getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
+                           getSurfaceCapabilities2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormat2KHR>
-        getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
+                           getSurfaceFormats2KHR( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
 
       //=== VK_KHR_get_display_properties2 ===
 
@@ -2926,12 +2994,12 @@
                            getDisplayPlaneProperties2KHR() const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DisplayPlaneCapabilities2KHR
-        getDisplayPlaneCapabilities2KHR( const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR & displayPlaneInfo ) const;
+                           getDisplayPlaneCapabilities2KHR( const VULKAN_HPP_NAMESPACE::DisplayPlaneInfo2KHR & displayPlaneInfo ) const;
 
       //=== VK_EXT_sample_locations ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
-        getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples ) const VULKAN_HPP_NOEXCEPT;
+                           getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples ) const VULKAN_HPP_NOEXCEPT;
 
       //=== VK_EXT_calibrated_timestamps ===
 
@@ -2961,7 +3029,7 @@
       //=== VK_EXT_full_screen_exclusive ===
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR>
-        getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
+                           getSurfacePresentModes2EXT( const VULKAN_HPP_NAMESPACE::PhysicalDeviceSurfaceInfo2KHR & surfaceInfo ) const;
 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
       //=== VK_EXT_acquire_drm_display ===
@@ -2981,7 +3049,7 @@
       //=== VK_EXT_directfb_surface ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Bool32
-        getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb ) const VULKAN_HPP_NOEXCEPT;
+                           getDirectFBPresentationSupportEXT( uint32_t queueFamilyIndex, IDirectFB & dfb ) const VULKAN_HPP_NOEXCEPT;
 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
 
 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
@@ -3232,7 +3300,7 @@
         VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::DescriptorSet>
-        allocateDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo ) const;
+                           allocateDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo ) const;
 
       void updateDescriptorSets(
         ArrayProxy<const VULKAN_HPP_NAMESPACE::WriteDescriptorSet> const & descriptorWrites,
@@ -3251,7 +3319,7 @@
         VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_RAII_NAMESPACE::CommandBuffer>
-        allocateCommandBuffers( VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo ) const;
+                           allocateCommandBuffers( VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo ) const;
 
       //=== VK_VERSION_1_1 ===
 
@@ -3277,7 +3345,7 @@
         const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info ) const VULKAN_HPP_NOEXCEPT;
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
-        getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info ) const
+                           getImageSparseMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageSparseMemoryRequirementsInfo2 & info ) const
         VULKAN_HPP_NOEXCEPT;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::Queue
@@ -3305,12 +3373,12 @@
         VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
-        waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const;
+                           waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const;
 
       void signalSemaphore( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo ) const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress
-        getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
+                           getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
 
       VULKAN_HPP_NODISCARD uint64_t getBufferOpaqueCaptureAddress(
         const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
@@ -3331,7 +3399,7 @@
                            getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const;
 
       VULKAN_HPP_NODISCARD std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t>
-        acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo ) const;
+                           acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo ) const;
 
       //=== VK_KHR_display_swapchain ===
 
@@ -3388,8 +3456,8 @@
         getMemoryWin32HandleKHR( const VULKAN_HPP_NAMESPACE::MemoryGetWin32HandleInfoKHR & getWin32HandleInfo ) const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR
-        getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                           HANDLE                                                 handle ) const;
+                           getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+                                                              HANDLE                                                 handle ) const;
 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 
       //=== VK_KHR_external_memory_fd ===
@@ -3397,7 +3465,7 @@
       VULKAN_HPP_NODISCARD int getMemoryFdKHR( const VULKAN_HPP_NAMESPACE::MemoryGetFdInfoKHR & getFdInfo ) const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR
-        getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd ) const;
+                           getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType, int fd ) const;
 
 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
       //=== VK_KHR_external_semaphore_win32 ===
@@ -3628,8 +3696,8 @@
       //=== VK_EXT_external_memory_host ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT
-        getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                           const void *                                           pHostPointer ) const;
+                           getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+                                                              const void *                                           pHostPointer ) const;
 
       //=== VK_EXT_calibrated_timestamps ===
 
@@ -3637,12 +3705,12 @@
         ArrayProxy<const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT> const & timestampInfos ) const;
 
       VULKAN_HPP_NODISCARD std::pair<uint64_t, uint64_t>
-        getCalibratedTimestampEXT( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT & timestampInfo ) const;
+                           getCalibratedTimestampEXT( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT & timestampInfo ) const;
 
       //=== VK_KHR_timeline_semaphore ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::Result
-        waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const;
+                           waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const;
 
       void signalSemaphoreKHR( const VULKAN_HPP_NAMESPACE::SemaphoreSignalInfo & signalInfo ) const;
 
@@ -3658,12 +3726,12 @@
                              VULKAN_HPP_NAMESPACE::PerformanceConfigurationAcquireInfoINTEL const & acquireInfo ) const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::PerformanceValueINTEL
-        getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter ) const;
+                           getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter ) const;
 
       //=== VK_EXT_buffer_device_address ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress
-        getBufferAddressEXT( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
+                           getBufferAddressEXT( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
 
 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
       //=== VK_EXT_full_screen_exclusive ===
@@ -3675,7 +3743,7 @@
       //=== VK_KHR_buffer_device_address ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::DeviceAddress
-        getBufferAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
+                           getBufferAddressKHR( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
 
       VULKAN_HPP_NODISCARD uint64_t getBufferOpaqueCaptureAddressKHR(
         const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT;
@@ -3691,7 +3759,7 @@
       //=== VK_KHR_pipeline_executable_properties ===
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>
-        getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo ) const;
+                           getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo ) const;
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutableStatisticKHR>
                            getPipelineExecutableStatisticsKHR(
@@ -3749,14 +3817,26 @@
         VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
 
 #  if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_memory_control ===
+
+      VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA> modifyMemoryRangesFUCHSIA(
+        VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges ) const;
+
+      VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA
+                           modifyMemoryRangeFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA       op,
+                                                     const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA & memoryRange ) const;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
       //=== VK_FUCHSIA_external_memory ===
 
       VULKAN_HPP_NODISCARD zx_handle_t getMemoryZirconHandleFUCHSIA(
         const VULKAN_HPP_NAMESPACE::MemoryGetZirconHandleInfoFUCHSIA & getZirconHandleInfo ) const;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA
-        getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
-                                                zx_handle_t zirconHandle ) const;
+                           getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+                                                                   zx_handle_t zirconHandle ) const;
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
 #  if defined( VK_USE_PLATFORM_FUCHSIA )
@@ -3777,6 +3857,14 @@
         VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_buffer_collection_x ===
+
+      VULKAN_HPP_NODISCARD VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIAX createBufferCollectionFUCHSIAX(
+        VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX const &                importInfo,
+        VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr ) const;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
       //=== VK_NV_external_memory_rdma ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::RemoteAddressNV getMemoryRemoteAddressNV(
@@ -3799,7 +3887,7 @@
         const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info ) const VULKAN_HPP_NOEXCEPT;
 
       VULKAN_HPP_NODISCARD std::vector<VULKAN_HPP_NAMESPACE::SparseImageMemoryRequirements2>
-        getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info ) const
+                           getImageSparseMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info ) const
         VULKAN_HPP_NOEXCEPT;
 
     private:
@@ -4225,6 +4313,119 @@
     };
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+    class BufferCollectionFUCHSIAX
+    {
+    public:
+      using CType = VkBufferCollectionFUCHSIAX;
+
+      static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::ObjectType objectType =
+        VULKAN_HPP_NAMESPACE::ObjectType::eBufferCollectionFUCHSIAX;
+      static VULKAN_HPP_CONST_OR_CONSTEXPR VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT debugReportObjectType =
+        VULKAN_HPP_NAMESPACE::DebugReportObjectTypeEXT::eBufferCollectionFUCHSIAX;
+
+    public:
+      BufferCollectionFUCHSIAX(
+        VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &                 device,
+        VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX const &                importInfo,
+        VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
+        : m_device( *device )
+        , m_allocator( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) )
+        , m_dispatcher( device.getDispatcher() )
+      {
+        VULKAN_HPP_NAMESPACE::Result result =
+          static_cast<VULKAN_HPP_NAMESPACE::Result>( device.getDispatcher()->vkCreateBufferCollectionFUCHSIAX(
+            static_cast<VkDevice>( *device ),
+            reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIAX *>( &importInfo ),
+            reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ),
+            reinterpret_cast<VkBufferCollectionFUCHSIAX *>( &m_collection ) ) );
+        if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+        {
+          throwResultException( result, "vkCreateBufferCollectionFUCHSIAX" );
+        }
+      }
+
+      BufferCollectionFUCHSIAX(
+        VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::Device const &                 device,
+        VkBufferCollectionFUCHSIAX                                                      collection,
+        VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator = nullptr )
+        : m_device( *device )
+        , m_collection( collection )
+        , m_allocator( static_cast<const VULKAN_HPP_NAMESPACE::AllocationCallbacks *>( allocator ) )
+        , m_dispatcher( device.getDispatcher() )
+      {}
+
+      BufferCollectionFUCHSIAX( std::nullptr_t ) {}
+
+      ~BufferCollectionFUCHSIAX()
+      {
+        if ( m_collection )
+        {
+          getDispatcher()->vkDestroyBufferCollectionFUCHSIAX(
+            static_cast<VkDevice>( m_device ),
+            static_cast<VkBufferCollectionFUCHSIAX>( m_collection ),
+            reinterpret_cast<const VkAllocationCallbacks *>( m_allocator ) );
+        }
+      }
+
+      BufferCollectionFUCHSIAX()                                   = delete;
+      BufferCollectionFUCHSIAX( BufferCollectionFUCHSIAX const & ) = delete;
+      BufferCollectionFUCHSIAX( BufferCollectionFUCHSIAX && rhs ) VULKAN_HPP_NOEXCEPT
+        : m_device( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} ) )
+        , m_collection( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_collection, {} ) )
+        , m_allocator( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} ) )
+        , m_dispatcher( VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_dispatcher, nullptr ) )
+      {}
+      BufferCollectionFUCHSIAX & operator=( BufferCollectionFUCHSIAX const & ) = delete;
+      BufferCollectionFUCHSIAX & operator=( BufferCollectionFUCHSIAX && rhs ) VULKAN_HPP_NOEXCEPT
+      {
+        if ( this != &rhs )
+        {
+          m_device     = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_device, {} );
+          m_collection = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_collection, {} );
+          m_allocator  = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_allocator, {} );
+          m_dispatcher = VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::exchange( rhs.m_dispatcher, nullptr );
+        }
+        return *this;
+      }
+
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX const & operator*() const VULKAN_HPP_NOEXCEPT
+      {
+        return m_collection;
+      }
+
+      VULKAN_HPP_NAMESPACE::Device getDevice() const
+      {
+        return m_device;
+      }
+
+      VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * getDispatcher() const
+      {
+        VULKAN_HPP_ASSERT( m_dispatcher->getVkHeaderVersion() == VK_HEADER_VERSION );
+        return m_dispatcher;
+      }
+
+      //=== VK_FUCHSIA_buffer_collection_x ===
+
+      void setConstraints( const VULKAN_HPP_NAMESPACE::ImageCreateInfo & imageInfo ) const;
+
+      void setImageConstraints( const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX & imageConstraintsInfo ) const;
+
+      void
+        setBufferConstraints( const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX & bufferConstraintsInfo ) const;
+
+      VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX getProperties() const;
+
+      VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX getProperties2() const;
+
+    private:
+      VULKAN_HPP_NAMESPACE::Device                                              m_device     = {};
+      VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX                            m_collection = {};
+      const VULKAN_HPP_NAMESPACE::AllocationCallbacks *                         m_allocator  = nullptr;
+      VULKAN_HPP_NAMESPACE::VULKAN_HPP_RAII_NAMESPACE::DeviceDispatcher const * m_dispatcher = nullptr;
+    };
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
     class BufferView
     {
     public:
@@ -6980,13 +7181,20 @@
                            getSparseMemoryRequirements() const VULKAN_HPP_NOEXCEPT;
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::SubresourceLayout
-        getSubresourceLayout( const VULKAN_HPP_NAMESPACE::ImageSubresource & subresource ) const VULKAN_HPP_NOEXCEPT;
+                           getSubresourceLayout( const VULKAN_HPP_NAMESPACE::ImageSubresource & subresource ) const VULKAN_HPP_NOEXCEPT;
 
       //=== VK_EXT_image_drm_format_modifier ===
 
       VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::ImageDrmFormatModifierPropertiesEXT
                            getDrmFormatModifierPropertiesEXT() const;
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+      //=== VK_FUCHSIA_compact_image ===
+
+      void trimCompactMemoryFUCHSIA( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                                     VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset ) const;
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
     private:
       VULKAN_HPP_NAMESPACE::Device                                              m_device     = {};
       VULKAN_HPP_NAMESPACE::Image                                               m_image      = {};
@@ -7569,7 +7777,7 @@
 
       template <typename T>
       VULKAN_HPP_NODISCARD std::vector<T>
-        getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const;
+                           getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const;
 
       template <typename T>
       VULKAN_HPP_NODISCARD T getRayTracingShaderGroupHandleNV( uint32_t firstGroup, uint32_t groupCount ) const;
@@ -7580,7 +7788,7 @@
 
       template <typename T>
       VULKAN_HPP_NODISCARD std::vector<T>
-        getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const;
+                           getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const;
 
       template <typename T>
       VULKAN_HPP_NODISCARD T getRayTracingShaderGroupHandleKHR( uint32_t firstGroup, uint32_t groupCount ) const;
@@ -9596,7 +9804,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties
-      PhysicalDevice::getFormatProperties( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
+                                           PhysicalDevice::getFormatProperties( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_NAMESPACE::FormatProperties formatProperties;
       getDispatcher()->vkGetPhysicalDeviceFormatProperties(
@@ -9607,7 +9815,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ImageFormatProperties
-      PhysicalDevice::getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format           format,
+                                           PhysicalDevice::getImageFormatProperties( VULKAN_HPP_NAMESPACE::Format           format,
                                                 VULKAN_HPP_NAMESPACE::ImageType        type,
                                                 VULKAN_HPP_NAMESPACE::ImageTiling      tiling,
                                                 VULKAN_HPP_NAMESPACE::ImageUsageFlags  usage,
@@ -9684,7 +9892,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties>
-      Context::enumerateInstanceExtensionProperties( Optional<const std::string> layerName ) const
+                                           Context::enumerateInstanceExtensionProperties( Optional<const std::string> layerName ) const
     {
       std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> properties;
       uint32_t                                               propertyCount;
@@ -9715,7 +9923,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties>
-      PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName ) const
+                                           PhysicalDevice::enumerateDeviceExtensionProperties( Optional<const std::string> layerName ) const
     {
       std::vector<VULKAN_HPP_NAMESPACE::ExtensionProperties> properties;
       uint32_t                                               propertyCount;
@@ -9986,7 +10194,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SparseImageFormatProperties>
-      PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
+                                           PhysicalDevice::getSparseImageFormatProperties( VULKAN_HPP_NAMESPACE::Format              format,
                                                       VULKAN_HPP_NAMESPACE::ImageType           type,
                                                       VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples,
                                                       VULKAN_HPP_NAMESPACE::ImageUsageFlags     usage,
@@ -10061,7 +10269,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
-      Device::waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
+                                           Device::waitForFences( ArrayProxy<const VULKAN_HPP_NAMESPACE::Fence> const & fences,
                              VULKAN_HPP_NAMESPACE::Bool32                          waitAll,
                              uint64_t                                              timeout ) const
     {
@@ -10358,7 +10566,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::DescriptorSet>
-      Device::allocateDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo ) const
+                                           Device::allocateDescriptorSets( VULKAN_HPP_NAMESPACE::DescriptorSetAllocateInfo const & allocateInfo ) const
     {
       return VULKAN_HPP_RAII_NAMESPACE::DescriptorSets( *this, allocateInfo );
     }
@@ -10419,7 +10627,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::CommandBuffer>
-      Device::allocateCommandBuffers( VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo ) const
+                                           Device::allocateCommandBuffers( VULKAN_HPP_NAMESPACE::CommandBufferAllocateInfo const & allocateInfo ) const
     {
       return VULKAN_HPP_RAII_NAMESPACE::CommandBuffers( *this, allocateInfo );
     }
@@ -11068,7 +11276,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info ) const
+                                           Device::getImageMemoryRequirements2( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info ) const
       VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
@@ -11094,7 +11302,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info ) const
+                                           Device::getBufferMemoryRequirements2( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info ) const
       VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_NAMESPACE::MemoryRequirements2 memoryRequirements;
@@ -11183,7 +11391,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
-      PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
+                                           PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_NAMESPACE::FormatProperties2 formatProperties;
       getDispatcher()->vkGetPhysicalDeviceFormatProperties2(
@@ -11195,7 +11403,7 @@
 
     template <typename X, typename Y, typename... Z>
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-      PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
+                                           PhysicalDevice::getFormatProperties2( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
     {
       StructureChain<X, Y, Z...>                structureChain;
       VULKAN_HPP_NAMESPACE::FormatProperties2 & formatProperties =
@@ -11335,7 +11543,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::Queue
-      Device::getQueue2( VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & queueInfo ) const
+                                           Device::getQueue2( VULKAN_HPP_NAMESPACE::DeviceQueueInfo2 const & queueInfo ) const
     {
       return VULKAN_HPP_RAII_NAMESPACE::Queue( *this, queueInfo );
     }
@@ -11392,7 +11600,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties
-      PhysicalDevice::getExternalSemaphoreProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo &
+                                           PhysicalDevice::getExternalSemaphoreProperties( const VULKAN_HPP_NAMESPACE::PhysicalDeviceExternalSemaphoreInfo &
                                                         externalSemaphoreInfo ) const VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_NAMESPACE::ExternalSemaphoreProperties externalSemaphoreProperties;
@@ -11515,7 +11723,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
-      Device::waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const
+                                           Device::waitSemaphores( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const
     {
       VULKAN_HPP_NAMESPACE::Result result =
         static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkWaitSemaphores(
@@ -11540,7 +11748,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceAddress
-      Device::getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT
+                                           Device::getBufferAddress( const VULKAN_HPP_NAMESPACE::BufferDeviceAddressInfo & info ) const VULKAN_HPP_NOEXCEPT
     {
       return static_cast<VULKAN_HPP_NAMESPACE::DeviceAddress>( getDispatcher()->vkGetBufferDeviceAddress(
         static_cast<VkDevice>( m_device ), reinterpret_cast<const VkBufferDeviceAddressInfo *>( &info ) ) );
@@ -11563,7 +11771,7 @@
     //=== VK_KHR_surface ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32
-      PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
+                                           PhysicalDevice::getSurfaceSupportKHR( uint32_t queueFamilyIndex, VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
     {
       VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceSupportKHR &&
                          "Function <vkGetPhysicalDeviceSurfaceSupportKHR> needs extension <VK_KHR_surface> enabled!" );
@@ -11582,7 +11790,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilitiesKHR
-      PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
+                                           PhysicalDevice::getSurfaceCapabilitiesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilitiesKHR &&
@@ -11602,7 +11810,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::SurfaceFormatKHR>
-      PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
+                                           PhysicalDevice::getSurfaceFormatsKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
     {
       VULKAN_HPP_ASSERT( getDispatcher()->vkGetPhysicalDeviceSurfaceFormatsKHR &&
                          "Function <vkGetPhysicalDeviceSurfaceFormatsKHR> needs extension <VK_KHR_surface> enabled!" );
@@ -11640,7 +11848,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PresentModeKHR>
-      PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
+                                           PhysicalDevice::getSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDeviceSurfacePresentModesKHR &&
@@ -11752,7 +11960,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
-      Queue::presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR & presentInfo ) const
+                                           Queue::presentKHR( const VULKAN_HPP_NAMESPACE::PresentInfoKHR & presentInfo ) const
     {
       VULKAN_HPP_ASSERT( getDispatcher()->vkQueuePresentKHR &&
                          "Function <vkQueuePresentKHR> needs extension <VK_KHR_swapchain> enabled!" );
@@ -11788,7 +11996,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::DeviceGroupPresentModeFlagsKHR
-      Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
+                                           Device::getGroupSurfacePresentModesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetDeviceGroupSurfacePresentModesKHR &&
@@ -11808,7 +12016,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::Rect2D>
-      PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
+                                           PhysicalDevice::getPresentRectanglesKHR( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDevicePresentRectanglesKHR &&
@@ -11847,7 +12055,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, uint32_t>
-      Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo ) const
+                                           Device::acquireNextImage2KHR( const VULKAN_HPP_NAMESPACE::AcquireNextImageInfoKHR & acquireInfo ) const
     {
       VULKAN_HPP_ASSERT( getDispatcher()->vkAcquireNextImage2KHR &&
                          "Function <vkAcquireNextImage2KHR> needs extension <VK_KHR_swapchain> enabled!" );
@@ -11942,7 +12150,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_RAII_NAMESPACE::DisplayKHR>
-      PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex ) const
+                                           PhysicalDevice::getDisplayPlaneSupportedDisplaysKHR( uint32_t planeIndex ) const
     {
       return VULKAN_HPP_RAII_NAMESPACE::DisplayKHRs( *this, planeIndex );
     }
@@ -12126,7 +12334,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Bool32
-      PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
+                                           PhysicalDevice::getWin32PresentationSupportKHR( uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDeviceWin32PresentationSupportKHR &&
@@ -12232,7 +12440,7 @@
     //=== VK_KHR_video_queue ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR
-      PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileKHR & videoProfile ) const
+                                           PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileKHR & videoProfile ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDeviceVideoCapabilitiesKHR &&
@@ -12253,7 +12461,7 @@
 
     template <typename X, typename Y, typename... Z>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileKHR & videoProfile ) const
+                         PhysicalDevice::getVideoCapabilitiesKHR( const VULKAN_HPP_NAMESPACE::VideoProfileKHR & videoProfile ) const
     {
       StructureChain<X, Y, Z...>                   structureChain;
       VULKAN_HPP_NAMESPACE::VideoCapabilitiesKHR & capabilities =
@@ -12692,7 +12900,7 @@
     //=== VK_AMD_shader_info ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<uint8_t>
-      Pipeline::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
+                                           Pipeline::getShaderInfoAMD( VULKAN_HPP_NAMESPACE::ShaderStageFlagBits shaderStage,
                                   VULKAN_HPP_NAMESPACE::ShaderInfoTypeAMD   infoType ) const
     {
       VULKAN_HPP_ASSERT( getDispatcher()->vkGetShaderInfoAMD &&
@@ -12886,7 +13094,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::FormatProperties2
-      PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
+                                           PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR &&
@@ -12902,7 +13110,7 @@
 
     template <typename X, typename Y, typename... Z>
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE StructureChain<X, Y, Z...>
-      PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
+                                           PhysicalDevice::getFormatProperties2KHR( VULKAN_HPP_NAMESPACE::Format format ) const VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDeviceFormatProperties2KHR &&
@@ -13214,7 +13422,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryWin32HandlePropertiesKHR
-      Device::getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+                                           Device::getMemoryWin32HandlePropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
                                                  HANDLE                                                 handle ) const
     {
       VULKAN_HPP_ASSERT(
@@ -13256,7 +13464,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryFdPropertiesKHR
-      Device::getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+                                           Device::getMemoryFdPropertiesKHR( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
                                         int                                                    fd ) const
     {
       VULKAN_HPP_ASSERT( getDispatcher()->vkGetMemoryFdPropertiesKHR &&
@@ -13509,7 +13717,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::DisplayKHR
-      PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput ) const
+                                           PhysicalDevice::getRandROutputDisplayEXT( Display & dpy, RROutput rrOutput ) const
     {
       return VULKAN_HPP_RAII_NAMESPACE::DisplayKHR( *this, dpy, rrOutput );
     }
@@ -13518,7 +13726,7 @@
     //=== VK_EXT_display_surface_counter ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::SurfaceCapabilities2EXT
-      PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
+                                           PhysicalDevice::getSurfaceCapabilities2EXT( VULKAN_HPP_NAMESPACE::SurfaceKHR surface ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPhysicalDeviceSurfaceCapabilities2EXT &&
@@ -13852,7 +14060,7 @@
 
     VULKAN_HPP_NODISCARD
       VULKAN_HPP_INLINE std::pair<std::vector<PerformanceCounterKHR>, std::vector<PerformanceCounterDescriptionKHR>>
-      PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex ) const
+                        PhysicalDevice::enumerateQueueFamilyPerformanceQueryCountersKHR( uint32_t queueFamilyIndex ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR &&
@@ -14287,7 +14495,7 @@
     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID
-      Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const
+                                           Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetAndroidHardwareBufferPropertiesANDROID &&
@@ -14309,7 +14517,7 @@
 
     template <typename X, typename Y, typename... Z>
     VULKAN_HPP_NODISCARD StructureChain<X, Y, Z...>
-      Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const
+                         Device::getAndroidHardwareBufferPropertiesANDROID( const struct AHardwareBuffer & buffer ) const
     {
       StructureChain<X, Y, Z...>                                     structureChain;
       VULKAN_HPP_NAMESPACE::AndroidHardwareBufferPropertiesANDROID & properties =
@@ -14362,7 +14570,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MultisamplePropertiesEXT
-      PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples ) const
+                                           PhysicalDevice::getMultisamplePropertiesEXT( VULKAN_HPP_NAMESPACE::SampleCountFlagBits samples ) const
       VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_ASSERT(
@@ -14380,7 +14588,7 @@
     //=== VK_KHR_get_memory_requirements2 ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info ) const
+                                           Device::getImageMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::ImageMemoryRequirementsInfo2 & info ) const
       VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_ASSERT(
@@ -14414,7 +14622,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info ) const
+                                           Device::getBufferMemoryRequirements2KHR( const VULKAN_HPP_NAMESPACE::BufferMemoryRequirementsInfo2 & info ) const
       VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_ASSERT(
@@ -14584,7 +14792,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
-      Device::copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
+                                           Device::copyAccelerationStructureKHR( VULKAN_HPP_NAMESPACE::DeferredOperationKHR deferredOperation,
                                             const VULKAN_HPP_NAMESPACE::CopyAccelerationStructureInfoKHR & info ) const
     {
       VULKAN_HPP_ASSERT(
@@ -15154,7 +15362,7 @@
 
     template <typename T>
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T>
-      Pipeline::getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const
+                                           Pipeline::getRayTracingShaderGroupHandlesNV( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetRayTracingShaderGroupHandlesNV &&
@@ -15344,7 +15552,7 @@
     //=== VK_EXT_external_memory_host ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryHostPointerPropertiesEXT
-      Device::getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+                                           Device::getMemoryHostPointerPropertiesEXT( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
                                                  const void * pHostPointer ) const
     {
       VULKAN_HPP_ASSERT(
@@ -15449,7 +15657,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<uint64_t, uint64_t>
-      Device::getCalibratedTimestampEXT( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT & timestampInfo ) const
+                                           Device::getCalibratedTimestampEXT( const VULKAN_HPP_NAMESPACE::CalibratedTimestampInfoEXT & timestampInfo ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetCalibratedTimestampsEXT &&
@@ -15581,7 +15789,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::Result
-      Device::waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const
+                                           Device::waitSemaphoresKHR( const VULKAN_HPP_NAMESPACE::SemaphoreWaitInfo & waitInfo, uint64_t timeout ) const
     {
       VULKAN_HPP_ASSERT( getDispatcher()->vkWaitSemaphoresKHR &&
                          "Function <vkWaitSemaphoresKHR> needs extension <VK_KHR_timeline_semaphore> enabled!" );
@@ -15715,7 +15923,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::PerformanceValueINTEL
-      Device::getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter ) const
+                                           Device::getPerformanceParameterINTEL( VULKAN_HPP_NAMESPACE::PerformanceParameterTypeINTEL parameter ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPerformanceParameterINTEL &&
@@ -16357,7 +16565,7 @@
     //=== VK_KHR_pipeline_executable_properties ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::PipelineExecutablePropertiesKHR>
-      Device::getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo ) const
+                                           Device::getPipelineExecutablePropertiesKHR( const VULKAN_HPP_NAMESPACE::PipelineInfoKHR & pipelineInfo ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetPipelineExecutablePropertiesKHR &&
@@ -16948,7 +17156,7 @@
 
     template <typename T>
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<T>
-      Pipeline::getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const
+                                           Pipeline::getRayTracingShaderGroupHandlesKHR( uint32_t firstGroup, uint32_t groupCount, size_t dataSize ) const
     {
       VULKAN_HPP_ASSERT(
         getDispatcher()->vkGetRayTracingShaderGroupHandlesKHR &&
@@ -17099,6 +17307,51 @@
     }
 
 #  if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_memory_control ===
+
+    VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA>
+                                           Device::modifyMemoryRangesFUCHSIA(
+        VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA                         op,
+        ArrayProxy<const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA> const & memoryRanges ) const
+    {
+      VULKAN_HPP_ASSERT(
+        getDispatcher()->vkModifyMemoryRangesFUCHSIA &&
+        "Function <vkModifyMemoryRangesFUCHSIA> needs extension <VK_FUCHSIA_memory_control> enabled!" );
+
+      std::vector<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA> opResults( memoryRanges.size() );
+      Result result = static_cast<Result>( getDispatcher()->vkModifyMemoryRangesFUCHSIA(
+        static_cast<VkDevice>( m_device ),
+        static_cast<VkMemoryOpFlagsFUCHSIA>( op ),
+        memoryRanges.size(),
+        reinterpret_cast<const VkMemoryRangeFUCHSIA *>( memoryRanges.data() ),
+        reinterpret_cast<VkMemoryOpResultFUCHSIA *>( opResults.data() ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::modifyMemoryRangesFUCHSIA" );
+      }
+      return opResults;
+    }
+
+    VULKAN_HPP_NODISCARD VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA
+                         Device::modifyMemoryRangeFUCHSIA( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA       op,
+                                        const VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA & memoryRange ) const
+    {
+      VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA opResult;
+      Result                                      result = static_cast<Result>(
+        getDispatcher()->vkModifyMemoryRangesFUCHSIA( static_cast<VkDevice>( m_device ),
+                                                      static_cast<VkMemoryOpFlagsFUCHSIA>( op ),
+                                                      1,
+                                                      reinterpret_cast<const VkMemoryRangeFUCHSIA *>( &memoryRange ),
+                                                      reinterpret_cast<VkMemoryOpResultFUCHSIA *>( &opResult ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Device::modifyMemoryRangeFUCHSIA" );
+      }
+      return opResult;
+    }
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
     //=== VK_FUCHSIA_external_memory ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE zx_handle_t Device::getMemoryZirconHandleFUCHSIA(
@@ -17122,7 +17375,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryZirconHandlePropertiesFUCHSIA
-      Device::getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
+                                           Device::getMemoryZirconHandlePropertiesFUCHSIA( VULKAN_HPP_NAMESPACE::ExternalMemoryHandleTypeFlagBits handleType,
                                                       zx_handle_t zirconHandle ) const
     {
       VULKAN_HPP_ASSERT(
@@ -17253,6 +17506,112 @@
     }
 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_buffer_collection_x ===
+
+    VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIAX
+                                           Device::createBufferCollectionFUCHSIAX(
+        VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX const &                importInfo,
+        VULKAN_HPP_NAMESPACE::Optional<const VULKAN_HPP_NAMESPACE::AllocationCallbacks> allocator ) const
+    {
+      return VULKAN_HPP_RAII_NAMESPACE::BufferCollectionFUCHSIAX( *this, importInfo, allocator );
+    }
+
+    VULKAN_HPP_INLINE void
+      BufferCollectionFUCHSIAX::setConstraints( const VULKAN_HPP_NAMESPACE::ImageCreateInfo & imageInfo ) const
+    {
+      VULKAN_HPP_ASSERT(
+        getDispatcher()->vkSetBufferCollectionConstraintsFUCHSIAX &&
+        "Function <vkSetBufferCollectionConstraintsFUCHSIAX> needs extension <VK_FUCHSIA_buffer_collection_x> enabled!" );
+
+      VULKAN_HPP_NAMESPACE::Result result =
+        static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSetBufferCollectionConstraintsFUCHSIAX(
+          static_cast<VkDevice>( m_device ),
+          static_cast<VkBufferCollectionFUCHSIAX>( m_collection ),
+          reinterpret_cast<const VkImageCreateInfo *>( &imageInfo ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIAX::setConstraints" );
+      }
+    }
+
+    VULKAN_HPP_INLINE void BufferCollectionFUCHSIAX::setImageConstraints(
+      const VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX & imageConstraintsInfo ) const
+    {
+      VULKAN_HPP_ASSERT(
+        getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIAX &&
+        "Function <vkSetBufferCollectionImageConstraintsFUCHSIAX> needs extension <VK_FUCHSIA_buffer_collection_x> enabled!" );
+
+      VULKAN_HPP_NAMESPACE::Result result =
+        static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSetBufferCollectionImageConstraintsFUCHSIAX(
+          static_cast<VkDevice>( m_device ),
+          static_cast<VkBufferCollectionFUCHSIAX>( m_collection ),
+          reinterpret_cast<const VkImageConstraintsInfoFUCHSIAX *>( &imageConstraintsInfo ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIAX::setImageConstraints" );
+      }
+    }
+
+    VULKAN_HPP_INLINE void BufferCollectionFUCHSIAX::setBufferConstraints(
+      const VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX & bufferConstraintsInfo ) const
+    {
+      VULKAN_HPP_ASSERT(
+        getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIAX &&
+        "Function <vkSetBufferCollectionBufferConstraintsFUCHSIAX> needs extension <VK_FUCHSIA_buffer_collection_x> enabled!" );
+
+      VULKAN_HPP_NAMESPACE::Result result =
+        static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkSetBufferCollectionBufferConstraintsFUCHSIAX(
+          static_cast<VkDevice>( m_device ),
+          static_cast<VkBufferCollectionFUCHSIAX>( m_collection ),
+          reinterpret_cast<const VkBufferConstraintsInfoFUCHSIAX *>( &bufferConstraintsInfo ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIAX::setBufferConstraints" );
+      }
+    }
+
+    VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX
+                                           BufferCollectionFUCHSIAX::getProperties() const
+    {
+      VULKAN_HPP_ASSERT(
+        getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIAX &&
+        "Function <vkGetBufferCollectionPropertiesFUCHSIAX> needs extension <VK_FUCHSIA_buffer_collection_x> enabled!" );
+
+      VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX properties;
+      VULKAN_HPP_NAMESPACE::Result                             result =
+        static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetBufferCollectionPropertiesFUCHSIAX(
+          static_cast<VkDevice>( m_device ),
+          static_cast<VkBufferCollectionFUCHSIAX>( m_collection ),
+          reinterpret_cast<VkBufferCollectionPropertiesFUCHSIAX *>( &properties ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIAX::getProperties" );
+      }
+      return properties;
+    }
+
+    VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX
+                                           BufferCollectionFUCHSIAX::getProperties2() const
+    {
+      VULKAN_HPP_ASSERT(
+        getDispatcher()->vkGetBufferCollectionProperties2FUCHSIAX &&
+        "Function <vkGetBufferCollectionProperties2FUCHSIAX> needs extension <VK_FUCHSIA_buffer_collection_x> enabled!" );
+
+      VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX properties;
+      VULKAN_HPP_NAMESPACE::Result                              result =
+        static_cast<VULKAN_HPP_NAMESPACE::Result>( getDispatcher()->vkGetBufferCollectionProperties2FUCHSIAX(
+          static_cast<VkDevice>( m_device ),
+          static_cast<VkBufferCollectionFUCHSIAX>( m_collection ),
+          reinterpret_cast<VkBufferCollectionProperties2FUCHSIAX *>( &properties ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::BufferCollectionFUCHSIAX::getProperties2" );
+      }
+      return properties;
+    }
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
     //=== VK_HUAWEI_subpass_shading ===
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE std::pair<VULKAN_HPP_NAMESPACE::Result, VULKAN_HPP_NAMESPACE::Extent2D>
@@ -17504,7 +17863,7 @@
     }
 
     VULKAN_HPP_NODISCARD VULKAN_HPP_INLINE VULKAN_HPP_NAMESPACE::MemoryRequirements2
-      Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info ) const
+                                           Device::getImageMemoryRequirementsKHR( const VULKAN_HPP_NAMESPACE::DeviceImageMemoryRequirementsKHR & info ) const
       VULKAN_HPP_NOEXCEPT
     {
       VULKAN_HPP_ASSERT(
@@ -17562,6 +17921,28 @@
       return sparseMemoryRequirements;
     }
 
+#  if defined( VK_USE_PLATFORM_FUCHSIA )
+    //=== VK_FUCHSIA_compact_image ===
+
+    VULKAN_HPP_INLINE void Image::trimCompactMemoryFUCHSIA( VULKAN_HPP_NAMESPACE::DeviceMemory memory,
+                                                            VULKAN_HPP_NAMESPACE::DeviceSize   memoryOffset ) const
+    {
+      VULKAN_HPP_ASSERT(
+        getDispatcher()->vkTrimCompactImageDeviceMemoryFUCHSIA &&
+        "Function <vkTrimCompactImageDeviceMemoryFUCHSIA> needs extension <VK_FUCHSIA_compact_image> enabled!" );
+
+      VULKAN_HPP_NAMESPACE::Result result = static_cast<VULKAN_HPP_NAMESPACE::Result>(
+        getDispatcher()->vkTrimCompactImageDeviceMemoryFUCHSIA( static_cast<VkDevice>( m_device ),
+                                                                static_cast<VkImage>( m_image ),
+                                                                static_cast<VkDeviceMemory>( memory ),
+                                                                static_cast<VkDeviceSize>( memoryOffset ) ) );
+      if ( result != VULKAN_HPP_NAMESPACE::Result::eSuccess )
+      {
+        throwResultException( result, VULKAN_HPP_NAMESPACE_STRING "::Image::trimCompactMemoryFUCHSIA" );
+      }
+    }
+#  endif /*VK_USE_PLATFORM_FUCHSIA*/
+
 #endif
   }  // namespace VULKAN_HPP_RAII_NAMESPACE
 }  // namespace VULKAN_HPP_NAMESPACE
diff --git a/include/vulkan/vulkan_structs.hpp b/include/vulkan/vulkan_structs.hpp
index 6a67c55..8922b18 100644
--- a/include/vulkan/vulkan_structs.hpp
+++ b/include/vulkan/vulkan_structs.hpp
@@ -8418,6 +8418,112 @@
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct BufferCollectionBufferCreateInfoFUCHSIAX
+  {
+    using NativeType = VkBufferCollectionBufferCreateInfoFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferCollectionBufferCreateInfoFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR
+      BufferCollectionBufferCreateInfoFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection_ = {},
+                                                uint32_t index_ = {} ) VULKAN_HPP_NOEXCEPT
+      : collection( collection_ )
+      , index( index_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR BufferCollectionBufferCreateInfoFUCHSIAX(
+      BufferCollectionBufferCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionBufferCreateInfoFUCHSIAX( VkBufferCollectionBufferCreateInfoFUCHSIAX const & rhs )
+      VULKAN_HPP_NOEXCEPT
+      : BufferCollectionBufferCreateInfoFUCHSIAX(
+          *reinterpret_cast<BufferCollectionBufferCreateInfoFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    BufferCollectionBufferCreateInfoFUCHSIAX &
+      operator=( BufferCollectionBufferCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionBufferCreateInfoFUCHSIAX &
+      operator=( VkBufferCollectionBufferCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    BufferCollectionBufferCreateInfoFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    BufferCollectionBufferCreateInfoFUCHSIAX &
+      setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection_ ) VULKAN_HPP_NOEXCEPT
+    {
+      collection = collection_;
+      return *this;
+    }
+
+    BufferCollectionBufferCreateInfoFUCHSIAX & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
+    {
+      index = index_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkBufferCollectionBufferCreateInfoFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkBufferCollectionBufferCreateInfoFUCHSIAX *>( this );
+    }
+
+    operator VkBufferCollectionBufferCreateInfoFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkBufferCollectionBufferCreateInfoFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( BufferCollectionBufferCreateInfoFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( BufferCollectionBufferCreateInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) &&
+             ( index == rhs.index );
+    }
+
+    bool operator!=( BufferCollectionBufferCreateInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType            sType = StructureType::eBufferCollectionBufferCreateInfoFUCHSIAX;
+    const void *                                   pNext = {};
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection = {};
+    uint32_t                                       index      = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIAX ) ==
+                              sizeof( VkBufferCollectionBufferCreateInfoFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_standard_layout<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIAX>::value,
+    "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCollectionBufferCreateInfoFUCHSIAX>::value,
+    "BufferCollectionBufferCreateInfoFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eBufferCollectionBufferCreateInfoFUCHSIAX>
+  {
+    using Type = BufferCollectionBufferCreateInfoFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   struct BufferCollectionConstraintsInfoFUCHSIA
   {
     using NativeType = VkBufferCollectionConstraintsInfoFUCHSIA;
@@ -8645,6 +8751,98 @@
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct BufferCollectionCreateInfoFUCHSIAX
+  {
+    using NativeType = VkBufferCollectionCreateInfoFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferCollectionCreateInfoFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIAX( zx_handle_t collectionToken_ = {} ) VULKAN_HPP_NOEXCEPT
+      : collectionToken( collectionToken_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR BufferCollectionCreateInfoFUCHSIAX( BufferCollectionCreateInfoFUCHSIAX const & rhs )
+      VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionCreateInfoFUCHSIAX( VkBufferCollectionCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionCreateInfoFUCHSIAX( *reinterpret_cast<BufferCollectionCreateInfoFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    BufferCollectionCreateInfoFUCHSIAX &
+      operator=( BufferCollectionCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionCreateInfoFUCHSIAX &
+      operator=( VkBufferCollectionCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    BufferCollectionCreateInfoFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    BufferCollectionCreateInfoFUCHSIAX & setCollectionToken( zx_handle_t collectionToken_ ) VULKAN_HPP_NOEXCEPT
+    {
+      collectionToken = collectionToken_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkBufferCollectionCreateInfoFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkBufferCollectionCreateInfoFUCHSIAX *>( this );
+    }
+
+    operator VkBufferCollectionCreateInfoFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkBufferCollectionCreateInfoFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( BufferCollectionCreateInfoFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( BufferCollectionCreateInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
+             ( memcmp( &collectionToken, &rhs.collectionToken, sizeof( zx_handle_t ) ) == 0 );
+    }
+
+    bool operator!=( BufferCollectionCreateInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eBufferCollectionCreateInfoFUCHSIAX;
+    const void *                        pNext           = {};
+    zx_handle_t                         collectionToken = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX ) ==
+                              sizeof( VkBufferCollectionCreateInfoFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCollectionCreateInfoFUCHSIAX>::value,
+    "BufferCollectionCreateInfoFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eBufferCollectionCreateInfoFUCHSIAX>
+  {
+    using Type = BufferCollectionCreateInfoFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   struct BufferCollectionImageCreateInfoFUCHSIA
   {
     using NativeType = VkBufferCollectionImageCreateInfoFUCHSIA;
@@ -8750,6 +8948,396 @@
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
 #if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct BufferCollectionImageCreateInfoFUCHSIAX
+  {
+    using NativeType = VkBufferCollectionImageCreateInfoFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferCollectionImageCreateInfoFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR
+      BufferCollectionImageCreateInfoFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection_ = {},
+                                               uint32_t index_ = {} ) VULKAN_HPP_NOEXCEPT
+      : collection( collection_ )
+      , index( index_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR BufferCollectionImageCreateInfoFUCHSIAX( BufferCollectionImageCreateInfoFUCHSIAX const & rhs )
+      VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionImageCreateInfoFUCHSIAX( VkBufferCollectionImageCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionImageCreateInfoFUCHSIAX(
+          *reinterpret_cast<BufferCollectionImageCreateInfoFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    BufferCollectionImageCreateInfoFUCHSIAX &
+      operator=( BufferCollectionImageCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionImageCreateInfoFUCHSIAX &
+      operator=( VkBufferCollectionImageCreateInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    BufferCollectionImageCreateInfoFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    BufferCollectionImageCreateInfoFUCHSIAX &
+      setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection_ ) VULKAN_HPP_NOEXCEPT
+    {
+      collection = collection_;
+      return *this;
+    }
+
+    BufferCollectionImageCreateInfoFUCHSIAX & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
+    {
+      index = index_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkBufferCollectionImageCreateInfoFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkBufferCollectionImageCreateInfoFUCHSIAX *>( this );
+    }
+
+    operator VkBufferCollectionImageCreateInfoFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkBufferCollectionImageCreateInfoFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( BufferCollectionImageCreateInfoFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( BufferCollectionImageCreateInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) &&
+             ( index == rhs.index );
+    }
+
+    bool operator!=( BufferCollectionImageCreateInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType            sType      = StructureType::eBufferCollectionImageCreateInfoFUCHSIAX;
+    const void *                                   pNext      = {};
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection = {};
+    uint32_t                                       index      = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIAX ) ==
+                              sizeof( VkBufferCollectionImageCreateInfoFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_standard_layout<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIAX>::value,
+    "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCollectionImageCreateInfoFUCHSIAX>::value,
+    "BufferCollectionImageCreateInfoFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eBufferCollectionImageCreateInfoFUCHSIAX>
+  {
+    using Type = BufferCollectionImageCreateInfoFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct SysmemColorSpaceFUCHSIAX
+  {
+    using NativeType = VkSysmemColorSpaceFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eSysmemColorSpaceFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIAX( uint32_t colorSpace_ = {} ) VULKAN_HPP_NOEXCEPT
+      : colorSpace( colorSpace_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR SysmemColorSpaceFUCHSIAX( SysmemColorSpaceFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    SysmemColorSpaceFUCHSIAX( VkSysmemColorSpaceFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : SysmemColorSpaceFUCHSIAX( *reinterpret_cast<SysmemColorSpaceFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    SysmemColorSpaceFUCHSIAX & operator=( SysmemColorSpaceFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    SysmemColorSpaceFUCHSIAX & operator=( VkSysmemColorSpaceFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    SysmemColorSpaceFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    SysmemColorSpaceFUCHSIAX & setColorSpace( uint32_t colorSpace_ ) VULKAN_HPP_NOEXCEPT
+    {
+      colorSpace = colorSpace_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkSysmemColorSpaceFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkSysmemColorSpaceFUCHSIAX *>( this );
+    }
+
+    operator VkSysmemColorSpaceFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkSysmemColorSpaceFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( SysmemColorSpaceFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( SysmemColorSpaceFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( colorSpace == rhs.colorSpace );
+    }
+
+    bool operator!=( SysmemColorSpaceFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType sType      = StructureType::eSysmemColorSpaceFUCHSIAX;
+    const void *                        pNext      = {};
+    uint32_t                            colorSpace = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX ) ==
+                              sizeof( VkSysmemColorSpaceFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX>::value,
+                            "SysmemColorSpaceFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eSysmemColorSpaceFUCHSIAX>
+  {
+    using Type = SysmemColorSpaceFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct BufferCollectionProperties2FUCHSIAX
+  {
+    using NativeType = VkBufferCollectionProperties2FUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferCollectionProperties2FUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR BufferCollectionProperties2FUCHSIAX(
+      uint32_t                                          memoryTypeBits_                   = {},
+      uint32_t                                          bufferCount_                      = {},
+      uint32_t                                          createInfoIndex_                  = {},
+      uint64_t                                          sysmemFormat_                     = {},
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags          formatFeatures_                   = {},
+      VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX    colorSpace_                       = {},
+      VULKAN_HPP_NAMESPACE::ComponentMapping            samplerYcbcrConversionComponents_ = {},
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel_ =
+        VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion::eRgbIdentity,
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrRange suggestedYcbcrRange_ = VULKAN_HPP_NAMESPACE::SamplerYcbcrRange::eItuFull,
+      VULKAN_HPP_NAMESPACE::ChromaLocation suggestedXChromaOffset_ = VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven,
+      VULKAN_HPP_NAMESPACE::ChromaLocation suggestedYChromaOffset_ =
+        VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven ) VULKAN_HPP_NOEXCEPT
+      : memoryTypeBits( memoryTypeBits_ )
+      , bufferCount( bufferCount_ )
+      , createInfoIndex( createInfoIndex_ )
+      , sysmemFormat( sysmemFormat_ )
+      , formatFeatures( formatFeatures_ )
+      , colorSpace( colorSpace_ )
+      , samplerYcbcrConversionComponents( samplerYcbcrConversionComponents_ )
+      , suggestedYcbcrModel( suggestedYcbcrModel_ )
+      , suggestedYcbcrRange( suggestedYcbcrRange_ )
+      , suggestedXChromaOffset( suggestedXChromaOffset_ )
+      , suggestedYChromaOffset( suggestedYChromaOffset_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR BufferCollectionProperties2FUCHSIAX( BufferCollectionProperties2FUCHSIAX const & rhs )
+      VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionProperties2FUCHSIAX( VkBufferCollectionProperties2FUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionProperties2FUCHSIAX( *reinterpret_cast<BufferCollectionProperties2FUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    BufferCollectionProperties2FUCHSIAX &
+      operator=( BufferCollectionProperties2FUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionProperties2FUCHSIAX &
+      operator=( VkBufferCollectionProperties2FUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    BufferCollectionProperties2FUCHSIAX & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX & setMemoryTypeBits( uint32_t memoryTypeBits_ ) VULKAN_HPP_NOEXCEPT
+    {
+      memoryTypeBits = memoryTypeBits_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX & setBufferCount( uint32_t bufferCount_ ) VULKAN_HPP_NOEXCEPT
+    {
+      bufferCount = bufferCount_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX & setCreateInfoIndex( uint32_t createInfoIndex_ ) VULKAN_HPP_NOEXCEPT
+    {
+      createInfoIndex = createInfoIndex_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX & setSysmemFormat( uint64_t sysmemFormat_ ) VULKAN_HPP_NOEXCEPT
+    {
+      sysmemFormat = sysmemFormat_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX &
+      setFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags formatFeatures_ ) VULKAN_HPP_NOEXCEPT
+    {
+      formatFeatures = formatFeatures_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX &
+      setColorSpace( VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX const & colorSpace_ ) VULKAN_HPP_NOEXCEPT
+    {
+      colorSpace = colorSpace_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX & setSamplerYcbcrConversionComponents(
+      VULKAN_HPP_NAMESPACE::ComponentMapping const & samplerYcbcrConversionComponents_ ) VULKAN_HPP_NOEXCEPT
+    {
+      samplerYcbcrConversionComponents = samplerYcbcrConversionComponents_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX & setSuggestedYcbcrModel(
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel_ ) VULKAN_HPP_NOEXCEPT
+    {
+      suggestedYcbcrModel = suggestedYcbcrModel_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX &
+      setSuggestedYcbcrRange( VULKAN_HPP_NAMESPACE::SamplerYcbcrRange suggestedYcbcrRange_ ) VULKAN_HPP_NOEXCEPT
+    {
+      suggestedYcbcrRange = suggestedYcbcrRange_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX &
+      setSuggestedXChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation suggestedXChromaOffset_ ) VULKAN_HPP_NOEXCEPT
+    {
+      suggestedXChromaOffset = suggestedXChromaOffset_;
+      return *this;
+    }
+
+    BufferCollectionProperties2FUCHSIAX &
+      setSuggestedYChromaOffset( VULKAN_HPP_NAMESPACE::ChromaLocation suggestedYChromaOffset_ ) VULKAN_HPP_NOEXCEPT
+    {
+      suggestedYChromaOffset = suggestedYChromaOffset_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkBufferCollectionProperties2FUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkBufferCollectionProperties2FUCHSIAX *>( this );
+    }
+
+    operator VkBufferCollectionProperties2FUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkBufferCollectionProperties2FUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( BufferCollectionProperties2FUCHSIAX const & ) const = default;
+#  else
+    bool operator==( BufferCollectionProperties2FUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits ) &&
+             ( bufferCount == rhs.bufferCount ) && ( createInfoIndex == rhs.createInfoIndex ) &&
+             ( sysmemFormat == rhs.sysmemFormat ) && ( formatFeatures == rhs.formatFeatures ) &&
+             ( colorSpace == rhs.colorSpace ) &&
+             ( samplerYcbcrConversionComponents == rhs.samplerYcbcrConversionComponents ) &&
+             ( suggestedYcbcrModel == rhs.suggestedYcbcrModel ) && ( suggestedYcbcrRange == rhs.suggestedYcbcrRange ) &&
+             ( suggestedXChromaOffset == rhs.suggestedXChromaOffset ) &&
+             ( suggestedYChromaOffset == rhs.suggestedYChromaOffset );
+    }
+
+    bool operator!=( BufferCollectionProperties2FUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType               sType = StructureType::eBufferCollectionProperties2FUCHSIAX;
+    void *                                            pNext = {};
+    uint32_t                                          memoryTypeBits                   = {};
+    uint32_t                                          bufferCount                      = {};
+    uint32_t                                          createInfoIndex                  = {};
+    uint64_t                                          sysmemFormat                     = {};
+    VULKAN_HPP_NAMESPACE::FormatFeatureFlags          formatFeatures                   = {};
+    VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX    colorSpace                       = {};
+    VULKAN_HPP_NAMESPACE::ComponentMapping            samplerYcbcrConversionComponents = {};
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion suggestedYcbcrModel =
+      VULKAN_HPP_NAMESPACE::SamplerYcbcrModelConversion::eRgbIdentity;
+    VULKAN_HPP_NAMESPACE::SamplerYcbcrRange suggestedYcbcrRange    = VULKAN_HPP_NAMESPACE::SamplerYcbcrRange::eItuFull;
+    VULKAN_HPP_NAMESPACE::ChromaLocation    suggestedXChromaOffset = VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven;
+    VULKAN_HPP_NAMESPACE::ChromaLocation    suggestedYChromaOffset = VULKAN_HPP_NAMESPACE::ChromaLocation::eCositedEven;
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX ) ==
+                              sizeof( VkBufferCollectionProperties2FUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCollectionProperties2FUCHSIAX>::value,
+    "BufferCollectionProperties2FUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eBufferCollectionProperties2FUCHSIAX>
+  {
+    using Type = BufferCollectionProperties2FUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
   struct SysmemColorSpaceFUCHSIA
   {
     using NativeType = VkSysmemColorSpaceFUCHSIA;
@@ -9033,6 +9621,107 @@
   };
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct BufferCollectionPropertiesFUCHSIAX
+  {
+    using NativeType = VkBufferCollectionPropertiesFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eBufferCollectionPropertiesFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIAX( uint32_t memoryTypeBits_ = {},
+                                                             uint32_t count_          = {} ) VULKAN_HPP_NOEXCEPT
+      : memoryTypeBits( memoryTypeBits_ )
+      , count( count_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR BufferCollectionPropertiesFUCHSIAX( BufferCollectionPropertiesFUCHSIAX const & rhs )
+      VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionPropertiesFUCHSIAX( VkBufferCollectionPropertiesFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : BufferCollectionPropertiesFUCHSIAX( *reinterpret_cast<BufferCollectionPropertiesFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    BufferCollectionPropertiesFUCHSIAX &
+      operator=( BufferCollectionPropertiesFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferCollectionPropertiesFUCHSIAX &
+      operator=( VkBufferCollectionPropertiesFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    BufferCollectionPropertiesFUCHSIAX & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    BufferCollectionPropertiesFUCHSIAX & setMemoryTypeBits( uint32_t memoryTypeBits_ ) VULKAN_HPP_NOEXCEPT
+    {
+      memoryTypeBits = memoryTypeBits_;
+      return *this;
+    }
+
+    BufferCollectionPropertiesFUCHSIAX & setCount( uint32_t count_ ) VULKAN_HPP_NOEXCEPT
+    {
+      count = count_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkBufferCollectionPropertiesFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkBufferCollectionPropertiesFUCHSIAX *>( this );
+    }
+
+    operator VkBufferCollectionPropertiesFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkBufferCollectionPropertiesFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( BufferCollectionPropertiesFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( BufferCollectionPropertiesFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memoryTypeBits == rhs.memoryTypeBits ) &&
+             ( count == rhs.count );
+    }
+
+    bool operator!=( BufferCollectionPropertiesFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType sType          = StructureType::eBufferCollectionPropertiesFUCHSIAX;
+    void *                              pNext          = {};
+    uint32_t                            memoryTypeBits = {};
+    uint32_t                            count          = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX ) ==
+                              sizeof( VkBufferCollectionPropertiesFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferCollectionPropertiesFUCHSIAX>::value,
+    "BufferCollectionPropertiesFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eBufferCollectionPropertiesFUCHSIAX>
+  {
+    using Type = BufferCollectionPropertiesFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct BufferCreateInfo
   {
     using NativeType = VkBufferCreateInfo;
@@ -9304,6 +9993,117 @@
   };
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct BufferConstraintsInfoFUCHSIAX
+  {
+    using NativeType = VkBufferConstraintsInfoFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eBufferConstraintsInfoFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR
+      BufferConstraintsInfoFUCHSIAX( const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pBufferCreateInfo_      = {},
+                                     VULKAN_HPP_NAMESPACE::FormatFeatureFlags       requiredFormatFeatures_ = {},
+                                     uint32_t                                       minCount_ = {} ) VULKAN_HPP_NOEXCEPT
+      : pBufferCreateInfo( pBufferCreateInfo_ )
+      , requiredFormatFeatures( requiredFormatFeatures_ )
+      , minCount( minCount_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR
+      BufferConstraintsInfoFUCHSIAX( BufferConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferConstraintsInfoFUCHSIAX( VkBufferConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : BufferConstraintsInfoFUCHSIAX( *reinterpret_cast<BufferConstraintsInfoFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    BufferConstraintsInfoFUCHSIAX &
+      operator=( BufferConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    BufferConstraintsInfoFUCHSIAX & operator=( VkBufferConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    BufferConstraintsInfoFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    BufferConstraintsInfoFUCHSIAX &
+      setPBufferCreateInfo( const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pBufferCreateInfo_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pBufferCreateInfo = pBufferCreateInfo_;
+      return *this;
+    }
+
+    BufferConstraintsInfoFUCHSIAX &
+      setRequiredFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ ) VULKAN_HPP_NOEXCEPT
+    {
+      requiredFormatFeatures = requiredFormatFeatures_;
+      return *this;
+    }
+
+    BufferConstraintsInfoFUCHSIAX & setMinCount( uint32_t minCount_ ) VULKAN_HPP_NOEXCEPT
+    {
+      minCount = minCount_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkBufferConstraintsInfoFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkBufferConstraintsInfoFUCHSIAX *>( this );
+    }
+
+    operator VkBufferConstraintsInfoFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkBufferConstraintsInfoFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( BufferConstraintsInfoFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( BufferConstraintsInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( pBufferCreateInfo == rhs.pBufferCreateInfo ) &&
+             ( requiredFormatFeatures == rhs.requiredFormatFeatures ) && ( minCount == rhs.minCount );
+    }
+
+    bool operator!=( BufferConstraintsInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType            sType             = StructureType::eBufferConstraintsInfoFUCHSIAX;
+    const void *                                   pNext             = {};
+    const VULKAN_HPP_NAMESPACE::BufferCreateInfo * pBufferCreateInfo = {};
+    VULKAN_HPP_NAMESPACE::FormatFeatureFlags       requiredFormatFeatures = {};
+    uint32_t                                       minCount               = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX ) ==
+                              sizeof( VkBufferConstraintsInfoFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::BufferConstraintsInfoFUCHSIAX>::value,
+    "BufferConstraintsInfoFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eBufferConstraintsInfoFUCHSIAX>
+  {
+    using Type = BufferConstraintsInfoFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct BufferCopy
   {
     using NativeType = VkBufferCopy;
@@ -13109,6 +13909,110 @@
                             "ConformanceVersion is not nothrow_move_constructible!" );
   using ConformanceVersionKHR = ConformanceVersion;
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct ControlOpsMemoryAllocateInfoFUCHSIA
+  {
+    using NativeType = VkControlOpsMemoryAllocateInfoFUCHSIA;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eControlOpsMemoryAllocateInfoFUCHSIA;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR ControlOpsMemoryAllocateInfoFUCHSIA(
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA supportedOperations_ = {},
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA initialOperations_   = {} ) VULKAN_HPP_NOEXCEPT
+      : supportedOperations( supportedOperations_ )
+      , initialOperations( initialOperations_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR ControlOpsMemoryAllocateInfoFUCHSIA( ControlOpsMemoryAllocateInfoFUCHSIA const & rhs )
+      VULKAN_HPP_NOEXCEPT = default;
+
+    ControlOpsMemoryAllocateInfoFUCHSIA( VkControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
+      : ControlOpsMemoryAllocateInfoFUCHSIA( *reinterpret_cast<ControlOpsMemoryAllocateInfoFUCHSIA const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    ControlOpsMemoryAllocateInfoFUCHSIA &
+      operator=( ControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    ControlOpsMemoryAllocateInfoFUCHSIA &
+      operator=( VkControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ControlOpsMemoryAllocateInfoFUCHSIA const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    ControlOpsMemoryAllocateInfoFUCHSIA & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    ControlOpsMemoryAllocateInfoFUCHSIA &
+      setSupportedOperations( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA supportedOperations_ ) VULKAN_HPP_NOEXCEPT
+    {
+      supportedOperations = supportedOperations_;
+      return *this;
+    }
+
+    ControlOpsMemoryAllocateInfoFUCHSIA &
+      setInitialOperations( VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA initialOperations_ ) VULKAN_HPP_NOEXCEPT
+    {
+      initialOperations = initialOperations_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkControlOpsMemoryAllocateInfoFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkControlOpsMemoryAllocateInfoFUCHSIA *>( this );
+    }
+
+    operator VkControlOpsMemoryAllocateInfoFUCHSIA &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkControlOpsMemoryAllocateInfoFUCHSIA *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( ControlOpsMemoryAllocateInfoFUCHSIA const & ) const = default;
+#  else
+    bool operator==( ControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( supportedOperations == rhs.supportedOperations ) &&
+             ( initialOperations == rhs.initialOperations );
+    }
+
+    bool operator!=( ControlOpsMemoryAllocateInfoFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType        sType = StructureType::eControlOpsMemoryAllocateInfoFUCHSIA;
+    const void *                               pNext = {};
+    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA supportedOperations = {};
+    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA initialOperations   = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ControlOpsMemoryAllocateInfoFUCHSIA ) ==
+                              sizeof( VkControlOpsMemoryAllocateInfoFUCHSIA ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::ControlOpsMemoryAllocateInfoFUCHSIA>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ControlOpsMemoryAllocateInfoFUCHSIA>::value,
+    "ControlOpsMemoryAllocateInfoFUCHSIA is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eControlOpsMemoryAllocateInfoFUCHSIA>
+  {
+    using Type = ControlOpsMemoryAllocateInfoFUCHSIA;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct CooperativeMatrixPropertiesNV
   {
     using NativeType = VkCooperativeMatrixPropertiesNV;
@@ -30789,6 +31693,367 @@
   };
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct ImageFormatConstraintsInfoFUCHSIAX
+  {
+    using NativeType = VkImageFormatConstraintsInfoFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImageFormatConstraintsInfoFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR ImageFormatConstraintsInfoFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::FormatFeatureFlags                  requiredFormatFeatures_ = {},
+      VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIAX flags_                  = {},
+      uint64_t                                                  sysmemFormat_           = {},
+      uint32_t                                                  colorSpaceCount_        = {},
+      const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX *    pColorSpaces_           = {} ) VULKAN_HPP_NOEXCEPT
+      : requiredFormatFeatures( requiredFormatFeatures_ )
+      , flags( flags_ )
+      , sysmemFormat( sysmemFormat_ )
+      , colorSpaceCount( colorSpaceCount_ )
+      , pColorSpaces( pColorSpaces_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR ImageFormatConstraintsInfoFUCHSIAX( ImageFormatConstraintsInfoFUCHSIAX const & rhs )
+      VULKAN_HPP_NOEXCEPT = default;
+
+    ImageFormatConstraintsInfoFUCHSIAX( VkImageFormatConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : ImageFormatConstraintsInfoFUCHSIAX( *reinterpret_cast<ImageFormatConstraintsInfoFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    ImageFormatConstraintsInfoFUCHSIAX &
+      operator=( ImageFormatConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    ImageFormatConstraintsInfoFUCHSIAX &
+      operator=( VkImageFormatConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    ImageFormatConstraintsInfoFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    ImageFormatConstraintsInfoFUCHSIAX &
+      setRequiredFormatFeatures( VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures_ ) VULKAN_HPP_NOEXCEPT
+    {
+      requiredFormatFeatures = requiredFormatFeatures_;
+      return *this;
+    }
+
+    ImageFormatConstraintsInfoFUCHSIAX &
+      setFlags( VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIAX flags_ ) VULKAN_HPP_NOEXCEPT
+    {
+      flags = flags_;
+      return *this;
+    }
+
+    ImageFormatConstraintsInfoFUCHSIAX & setSysmemFormat( uint64_t sysmemFormat_ ) VULKAN_HPP_NOEXCEPT
+    {
+      sysmemFormat = sysmemFormat_;
+      return *this;
+    }
+
+    ImageFormatConstraintsInfoFUCHSIAX & setColorSpaceCount( uint32_t colorSpaceCount_ ) VULKAN_HPP_NOEXCEPT
+    {
+      colorSpaceCount = colorSpaceCount_;
+      return *this;
+    }
+
+    ImageFormatConstraintsInfoFUCHSIAX &
+      setPColorSpaces( const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX * pColorSpaces_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pColorSpaces = pColorSpaces_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkImageFormatConstraintsInfoFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkImageFormatConstraintsInfoFUCHSIAX *>( this );
+    }
+
+    operator VkImageFormatConstraintsInfoFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkImageFormatConstraintsInfoFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( ImageFormatConstraintsInfoFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( ImageFormatConstraintsInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
+             ( requiredFormatFeatures == rhs.requiredFormatFeatures ) && ( flags == rhs.flags ) &&
+             ( sysmemFormat == rhs.sysmemFormat ) && ( colorSpaceCount == rhs.colorSpaceCount ) &&
+             ( pColorSpaces == rhs.pColorSpaces );
+    }
+
+    bool operator!=( ImageFormatConstraintsInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType      sType = StructureType::eImageFormatConstraintsInfoFUCHSIAX;
+    const void *                             pNext = {};
+    VULKAN_HPP_NAMESPACE::FormatFeatureFlags requiredFormatFeatures           = {};
+    VULKAN_HPP_NAMESPACE::ImageFormatConstraintsFlagsFUCHSIAX flags           = {};
+    uint64_t                                                  sysmemFormat    = {};
+    uint32_t                                                  colorSpaceCount = {};
+    const VULKAN_HPP_NAMESPACE::SysmemColorSpaceFUCHSIAX *    pColorSpaces    = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX ) ==
+                              sizeof( VkImageFormatConstraintsInfoFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX>::value,
+    "ImageFormatConstraintsInfoFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eImageFormatConstraintsInfoFUCHSIAX>
+  {
+    using Type = ImageFormatConstraintsInfoFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct ImageConstraintsInfoFUCHSIAX
+  {
+    using NativeType = VkImageConstraintsInfoFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eImageConstraintsInfoFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR ImageConstraintsInfoFUCHSIAX(
+      uint32_t                                                         createInfoCount_                 = {},
+      const VULKAN_HPP_NAMESPACE::ImageCreateInfo *                    pCreateInfos_                    = {},
+      const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX * pFormatConstraints_              = {},
+      uint32_t                                                         minBufferCount_                  = {},
+      uint32_t                                                         maxBufferCount_                  = {},
+      uint32_t                                                         minBufferCountForCamping_        = {},
+      uint32_t                                                         minBufferCountForDedicatedSlack_ = {},
+      uint32_t                                                         minBufferCountForSharedSlack_    = {},
+      VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIAX          flags_ = {} ) VULKAN_HPP_NOEXCEPT
+      : createInfoCount( createInfoCount_ )
+      , pCreateInfos( pCreateInfos_ )
+      , pFormatConstraints( pFormatConstraints_ )
+      , minBufferCount( minBufferCount_ )
+      , maxBufferCount( maxBufferCount_ )
+      , minBufferCountForCamping( minBufferCountForCamping_ )
+      , minBufferCountForDedicatedSlack( minBufferCountForDedicatedSlack_ )
+      , minBufferCountForSharedSlack( minBufferCountForSharedSlack_ )
+      , flags( flags_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR
+      ImageConstraintsInfoFUCHSIAX( ImageConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    ImageConstraintsInfoFUCHSIAX( VkImageConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : ImageConstraintsInfoFUCHSIAX( *reinterpret_cast<ImageConstraintsInfoFUCHSIAX const *>( &rhs ) )
+    {}
+
+#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
+    ImageConstraintsInfoFUCHSIAX(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ImageCreateInfo> const & createInfos_,
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+        const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX> const & formatConstraints_               = {},
+      uint32_t                                                                  minBufferCount_                  = {},
+      uint32_t                                                                  maxBufferCount_                  = {},
+      uint32_t                                                                  minBufferCountForCamping_        = {},
+      uint32_t                                                                  minBufferCountForDedicatedSlack_ = {},
+      uint32_t                                                                  minBufferCountForSharedSlack_    = {},
+      VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIAX                   flags_                           = {} )
+      : createInfoCount( static_cast<uint32_t>( createInfos_.size() ) )
+      , pCreateInfos( createInfos_.data() )
+      , pFormatConstraints( formatConstraints_.data() )
+      , minBufferCount( minBufferCount_ )
+      , maxBufferCount( maxBufferCount_ )
+      , minBufferCountForCamping( minBufferCountForCamping_ )
+      , minBufferCountForDedicatedSlack( minBufferCountForDedicatedSlack_ )
+      , minBufferCountForSharedSlack( minBufferCountForSharedSlack_ )
+      , flags( flags_ )
+    {
+#      ifdef VULKAN_HPP_NO_EXCEPTIONS
+      VULKAN_HPP_ASSERT( formatConstraints_.empty() || ( createInfos_.size() == formatConstraints_.size() ) );
+#      else
+      if ( !formatConstraints_.empty() && ( createInfos_.size() != formatConstraints_.size() ) )
+      {
+        throw LogicError(
+          VULKAN_HPP_NAMESPACE_STRING
+          "::ImageConstraintsInfoFUCHSIAX::ImageConstraintsInfoFUCHSIAX: !formatConstraints_.empty() && ( createInfos_.size() != formatConstraints_.size() )" );
+      }
+#      endif /*VULKAN_HPP_NO_EXCEPTIONS*/
+    }
+#    endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+#  endif   /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    ImageConstraintsInfoFUCHSIAX & operator=( ImageConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    ImageConstraintsInfoFUCHSIAX & operator=( VkImageConstraintsInfoFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    ImageConstraintsInfoFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    ImageConstraintsInfoFUCHSIAX & setCreateInfoCount( uint32_t createInfoCount_ ) VULKAN_HPP_NOEXCEPT
+    {
+      createInfoCount = createInfoCount_;
+      return *this;
+    }
+
+    ImageConstraintsInfoFUCHSIAX &
+      setPCreateInfos( const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pCreateInfos_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pCreateInfos = pCreateInfos_;
+      return *this;
+    }
+
+#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
+    ImageConstraintsInfoFUCHSIAX & setCreateInfos(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<const VULKAN_HPP_NAMESPACE::ImageCreateInfo> const & createInfos_ )
+      VULKAN_HPP_NOEXCEPT
+    {
+      createInfoCount = static_cast<uint32_t>( createInfos_.size() );
+      pCreateInfos    = createInfos_.data();
+      return *this;
+    }
+#    endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    ImageConstraintsInfoFUCHSIAX & setPFormatConstraints(
+      const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX * pFormatConstraints_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pFormatConstraints = pFormatConstraints_;
+      return *this;
+    }
+
+#    if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
+    ImageConstraintsInfoFUCHSIAX & setFormatConstraints(
+      VULKAN_HPP_NAMESPACE::ArrayProxyNoTemporaries<
+        const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX> const & formatConstraints_ ) VULKAN_HPP_NOEXCEPT
+    {
+      createInfoCount    = static_cast<uint32_t>( formatConstraints_.size() );
+      pFormatConstraints = formatConstraints_.data();
+      return *this;
+    }
+#    endif /*VULKAN_HPP_DISABLE_ENHANCED_MODE*/
+
+    ImageConstraintsInfoFUCHSIAX & setMinBufferCount( uint32_t minBufferCount_ ) VULKAN_HPP_NOEXCEPT
+    {
+      minBufferCount = minBufferCount_;
+      return *this;
+    }
+
+    ImageConstraintsInfoFUCHSIAX & setMaxBufferCount( uint32_t maxBufferCount_ ) VULKAN_HPP_NOEXCEPT
+    {
+      maxBufferCount = maxBufferCount_;
+      return *this;
+    }
+
+    ImageConstraintsInfoFUCHSIAX & setMinBufferCountForCamping( uint32_t minBufferCountForCamping_ ) VULKAN_HPP_NOEXCEPT
+    {
+      minBufferCountForCamping = minBufferCountForCamping_;
+      return *this;
+    }
+
+    ImageConstraintsInfoFUCHSIAX &
+      setMinBufferCountForDedicatedSlack( uint32_t minBufferCountForDedicatedSlack_ ) VULKAN_HPP_NOEXCEPT
+    {
+      minBufferCountForDedicatedSlack = minBufferCountForDedicatedSlack_;
+      return *this;
+    }
+
+    ImageConstraintsInfoFUCHSIAX &
+      setMinBufferCountForSharedSlack( uint32_t minBufferCountForSharedSlack_ ) VULKAN_HPP_NOEXCEPT
+    {
+      minBufferCountForSharedSlack = minBufferCountForSharedSlack_;
+      return *this;
+    }
+
+    ImageConstraintsInfoFUCHSIAX &
+      setFlags( VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIAX flags_ ) VULKAN_HPP_NOEXCEPT
+    {
+      flags = flags_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkImageConstraintsInfoFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkImageConstraintsInfoFUCHSIAX *>( this );
+    }
+
+    operator VkImageConstraintsInfoFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkImageConstraintsInfoFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( ImageConstraintsInfoFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( ImageConstraintsInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( createInfoCount == rhs.createInfoCount ) &&
+             ( pCreateInfos == rhs.pCreateInfos ) && ( pFormatConstraints == rhs.pFormatConstraints ) &&
+             ( minBufferCount == rhs.minBufferCount ) && ( maxBufferCount == rhs.maxBufferCount ) &&
+             ( minBufferCountForCamping == rhs.minBufferCountForCamping ) &&
+             ( minBufferCountForDedicatedSlack == rhs.minBufferCountForDedicatedSlack ) &&
+             ( minBufferCountForSharedSlack == rhs.minBufferCountForSharedSlack ) && ( flags == rhs.flags );
+    }
+
+    bool operator!=( ImageConstraintsInfoFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType           sType           = StructureType::eImageConstraintsInfoFUCHSIAX;
+    const void *                                  pNext           = {};
+    uint32_t                                      createInfoCount = {};
+    const VULKAN_HPP_NAMESPACE::ImageCreateInfo * pCreateInfos    = {};
+    const VULKAN_HPP_NAMESPACE::ImageFormatConstraintsInfoFUCHSIAX * pFormatConstraints              = {};
+    uint32_t                                                         minBufferCount                  = {};
+    uint32_t                                                         maxBufferCount                  = {};
+    uint32_t                                                         minBufferCountForCamping        = {};
+    uint32_t                                                         minBufferCountForDedicatedSlack = {};
+    uint32_t                                                         minBufferCountForSharedSlack    = {};
+    VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFlagsFUCHSIAX          flags                           = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX ) ==
+                              sizeof( VkImageConstraintsInfoFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImageConstraintsInfoFUCHSIAX>::value,
+    "ImageConstraintsInfoFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eImageConstraintsInfoFUCHSIAX>
+  {
+    using Type = ImageConstraintsInfoFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct ImageCopy
   {
     using NativeType = VkImageCopy;
@@ -33344,6 +34609,109 @@
   };
 #endif /*VK_USE_PLATFORM_FUCHSIA*/
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct ImportMemoryBufferCollectionFUCHSIAX
+  {
+    using NativeType = VkImportMemoryBufferCollectionFUCHSIAX;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::eImportMemoryBufferCollectionFUCHSIAX;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR
+      ImportMemoryBufferCollectionFUCHSIAX( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection_ = {},
+                                            uint32_t index_ = {} ) VULKAN_HPP_NOEXCEPT
+      : collection( collection_ )
+      , index( index_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR ImportMemoryBufferCollectionFUCHSIAX( ImportMemoryBufferCollectionFUCHSIAX const & rhs )
+      VULKAN_HPP_NOEXCEPT = default;
+
+    ImportMemoryBufferCollectionFUCHSIAX( VkImportMemoryBufferCollectionFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+      : ImportMemoryBufferCollectionFUCHSIAX( *reinterpret_cast<ImportMemoryBufferCollectionFUCHSIAX const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    ImportMemoryBufferCollectionFUCHSIAX &
+      operator=( ImportMemoryBufferCollectionFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    ImportMemoryBufferCollectionFUCHSIAX &
+      operator=( VkImportMemoryBufferCollectionFUCHSIAX const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIAX const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    ImportMemoryBufferCollectionFUCHSIAX & setPNext( const void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    ImportMemoryBufferCollectionFUCHSIAX &
+      setCollection( VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection_ ) VULKAN_HPP_NOEXCEPT
+    {
+      collection = collection_;
+      return *this;
+    }
+
+    ImportMemoryBufferCollectionFUCHSIAX & setIndex( uint32_t index_ ) VULKAN_HPP_NOEXCEPT
+    {
+      index = index_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkImportMemoryBufferCollectionFUCHSIAX const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkImportMemoryBufferCollectionFUCHSIAX *>( this );
+    }
+
+    operator VkImportMemoryBufferCollectionFUCHSIAX &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkImportMemoryBufferCollectionFUCHSIAX *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( ImportMemoryBufferCollectionFUCHSIAX const & ) const = default;
+#  else
+    bool operator==( ImportMemoryBufferCollectionFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( collection == rhs.collection ) &&
+             ( index == rhs.index );
+    }
+
+    bool operator!=( ImportMemoryBufferCollectionFUCHSIAX const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType            sType      = StructureType::eImportMemoryBufferCollectionFUCHSIAX;
+    const void *                                   pNext      = {};
+    VULKAN_HPP_NAMESPACE::BufferCollectionFUCHSIAX collection = {};
+    uint32_t                                       index      = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIAX ) ==
+                              sizeof( VkImportMemoryBufferCollectionFUCHSIAX ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIAX>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::ImportMemoryBufferCollectionFUCHSIAX>::value,
+    "ImportMemoryBufferCollectionFUCHSIAX is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eImportMemoryBufferCollectionFUCHSIAX>
+  {
+    using Type = ImportMemoryBufferCollectionFUCHSIAX;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct ImportMemoryFdInfoKHR
   {
     using NativeType = VkImportMemoryFdInfoKHR;
@@ -36460,6 +37828,82 @@
     using Type = MemoryHostPointerPropertiesEXT;
   };
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct MemoryOpResultFUCHSIA
+  {
+    using NativeType = VkMemoryOpResultFUCHSIA;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryOpResultFUCHSIA;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR
+      MemoryOpResultFUCHSIA( VULKAN_HPP_NAMESPACE::DeviceSize discardedOffset_ = {},
+                             VULKAN_HPP_NAMESPACE::DeviceSize discardedSize_   = {} ) VULKAN_HPP_NOEXCEPT
+      : discardedOffset( discardedOffset_ )
+      , discardedSize( discardedSize_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR MemoryOpResultFUCHSIA( MemoryOpResultFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    MemoryOpResultFUCHSIA( VkMemoryOpResultFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
+      : MemoryOpResultFUCHSIA( *reinterpret_cast<MemoryOpResultFUCHSIA const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    MemoryOpResultFUCHSIA & operator=( MemoryOpResultFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    MemoryOpResultFUCHSIA & operator=( VkMemoryOpResultFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA const *>( &rhs );
+      return *this;
+    }
+
+    operator VkMemoryOpResultFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkMemoryOpResultFUCHSIA *>( this );
+    }
+
+    operator VkMemoryOpResultFUCHSIA &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkMemoryOpResultFUCHSIA *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( MemoryOpResultFUCHSIA const & ) const = default;
+#  else
+    bool operator==( MemoryOpResultFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( discardedOffset == rhs.discardedOffset ) &&
+             ( discardedSize == rhs.discardedSize );
+    }
+
+    bool operator!=( MemoryOpResultFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType sType           = StructureType::eMemoryOpResultFUCHSIA;
+    void *                              pNext           = {};
+    VULKAN_HPP_NAMESPACE::DeviceSize    discardedOffset = {};
+    VULKAN_HPP_NAMESPACE::DeviceSize    discardedSize   = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA ) == sizeof( VkMemoryOpResultFUCHSIA ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::MemoryOpResultFUCHSIA>::value,
+                            "MemoryOpResultFUCHSIA is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eMemoryOpResultFUCHSIA>
+  {
+    using Type = MemoryOpResultFUCHSIA;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct MemoryOpaqueCaptureAddressAllocateInfo
   {
     using NativeType = VkMemoryOpaqueCaptureAddressAllocateInfo;
@@ -36641,6 +38085,110 @@
     using Type = MemoryPriorityAllocateInfoEXT;
   };
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct MemoryRangeFUCHSIA
+  {
+    using NativeType = VkMemoryRangeFUCHSIA;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType  = StructureType::eMemoryRangeFUCHSIA;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR MemoryRangeFUCHSIA( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ = {},
+                                             VULKAN_HPP_NAMESPACE::DeviceSize   offset_ = {},
+                                             VULKAN_HPP_NAMESPACE::DeviceSize   size_   = {} ) VULKAN_HPP_NOEXCEPT
+      : memory( memory_ )
+      , offset( offset_ )
+      , size( size_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR MemoryRangeFUCHSIA( MemoryRangeFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    MemoryRangeFUCHSIA( VkMemoryRangeFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
+      : MemoryRangeFUCHSIA( *reinterpret_cast<MemoryRangeFUCHSIA const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    MemoryRangeFUCHSIA & operator=( MemoryRangeFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    MemoryRangeFUCHSIA & operator=( VkMemoryRangeFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA const *>( &rhs );
+      return *this;
+    }
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
+    MemoryRangeFUCHSIA & setPNext( void * pNext_ ) VULKAN_HPP_NOEXCEPT
+    {
+      pNext = pNext_;
+      return *this;
+    }
+
+    MemoryRangeFUCHSIA & setMemory( VULKAN_HPP_NAMESPACE::DeviceMemory memory_ ) VULKAN_HPP_NOEXCEPT
+    {
+      memory = memory_;
+      return *this;
+    }
+
+    MemoryRangeFUCHSIA & setOffset( VULKAN_HPP_NAMESPACE::DeviceSize offset_ ) VULKAN_HPP_NOEXCEPT
+    {
+      offset = offset_;
+      return *this;
+    }
+
+    MemoryRangeFUCHSIA & setSize( VULKAN_HPP_NAMESPACE::DeviceSize size_ ) VULKAN_HPP_NOEXCEPT
+    {
+      size = size_;
+      return *this;
+    }
+#  endif /*VULKAN_HPP_NO_STRUCT_SETTERS*/
+
+    operator VkMemoryRangeFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkMemoryRangeFUCHSIA *>( this );
+    }
+
+    operator VkMemoryRangeFUCHSIA &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkMemoryRangeFUCHSIA *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( MemoryRangeFUCHSIA const & ) const = default;
+#  else
+    bool operator==( MemoryRangeFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) && ( memory == rhs.memory ) && ( offset == rhs.offset ) &&
+             ( size == rhs.size );
+    }
+
+    bool operator!=( MemoryRangeFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType sType  = StructureType::eMemoryRangeFUCHSIA;
+    void *                              pNext  = {};
+    VULKAN_HPP_NAMESPACE::DeviceMemory  memory = {};
+    VULKAN_HPP_NAMESPACE::DeviceSize    offset = {};
+    VULKAN_HPP_NAMESPACE::DeviceSize    size   = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA ) == sizeof( VkMemoryRangeFUCHSIA ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_standard_layout<VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA>::value,
+                            "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT( std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::MemoryRangeFUCHSIA>::value,
+                            "MemoryRangeFUCHSIA is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::eMemoryRangeFUCHSIA>
+  {
+    using Type = MemoryRangeFUCHSIA;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct MemoryRequirements
   {
     using NativeType = VkMemoryRequirements;
@@ -47084,6 +48632,112 @@
     using Type = PhysicalDeviceMemoryBudgetPropertiesEXT;
   };
 
+#if defined( VK_USE_PLATFORM_FUCHSIA )
+  struct PhysicalDeviceMemoryControlPropertiesFUCHSIA
+  {
+    using NativeType = VkPhysicalDeviceMemoryControlPropertiesFUCHSIA;
+
+    static const bool                                  allowDuplicate = false;
+    static VULKAN_HPP_CONST_OR_CONSTEXPR StructureType structureType =
+      StructureType::ePhysicalDeviceMemoryControlPropertiesFUCHSIA;
+
+#  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
+    VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryControlPropertiesFUCHSIA(
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA wholeMemoryOperations_      = {},
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA endMemoryOperations_        = {},
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA startMemoryOperations_      = {},
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA arbitraryMemoryOperations_  = {},
+      VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA initialMemoryOperations_    = {},
+      VULKAN_HPP_NAMESPACE::DeviceSize           memoryOperationGranularity_ = {},
+      uint32_t                                   memoryTypeBits_             = {} ) VULKAN_HPP_NOEXCEPT
+      : wholeMemoryOperations( wholeMemoryOperations_ )
+      , endMemoryOperations( endMemoryOperations_ )
+      , startMemoryOperations( startMemoryOperations_ )
+      , arbitraryMemoryOperations( arbitraryMemoryOperations_ )
+      , initialMemoryOperations( initialMemoryOperations_ )
+      , memoryOperationGranularity( memoryOperationGranularity_ )
+      , memoryTypeBits( memoryTypeBits_ )
+    {}
+
+    VULKAN_HPP_CONSTEXPR PhysicalDeviceMemoryControlPropertiesFUCHSIA(
+      PhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    PhysicalDeviceMemoryControlPropertiesFUCHSIA( VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs )
+      VULKAN_HPP_NOEXCEPT
+      : PhysicalDeviceMemoryControlPropertiesFUCHSIA(
+          *reinterpret_cast<PhysicalDeviceMemoryControlPropertiesFUCHSIA const *>( &rhs ) )
+    {}
+#  endif /*VULKAN_HPP_NO_STRUCT_CONSTRUCTORS*/
+
+    PhysicalDeviceMemoryControlPropertiesFUCHSIA &
+      operator=( PhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT = default;
+
+    PhysicalDeviceMemoryControlPropertiesFUCHSIA &
+      operator=( VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs ) VULKAN_HPP_NOEXCEPT
+    {
+      *this = *reinterpret_cast<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryControlPropertiesFUCHSIA const *>( &rhs );
+      return *this;
+    }
+
+    operator VkPhysicalDeviceMemoryControlPropertiesFUCHSIA const &() const VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<const VkPhysicalDeviceMemoryControlPropertiesFUCHSIA *>( this );
+    }
+
+    operator VkPhysicalDeviceMemoryControlPropertiesFUCHSIA &() VULKAN_HPP_NOEXCEPT
+    {
+      return *reinterpret_cast<VkPhysicalDeviceMemoryControlPropertiesFUCHSIA *>( this );
+    }
+
+#  if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
+    auto operator<=>( PhysicalDeviceMemoryControlPropertiesFUCHSIA const & ) const = default;
+#  else
+    bool operator==( PhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return ( sType == rhs.sType ) && ( pNext == rhs.pNext ) &&
+             ( wholeMemoryOperations == rhs.wholeMemoryOperations ) &&
+             ( endMemoryOperations == rhs.endMemoryOperations ) &&
+             ( startMemoryOperations == rhs.startMemoryOperations ) &&
+             ( arbitraryMemoryOperations == rhs.arbitraryMemoryOperations ) &&
+             ( initialMemoryOperations == rhs.initialMemoryOperations ) &&
+             ( memoryOperationGranularity == rhs.memoryOperationGranularity ) &&
+             ( memoryTypeBits == rhs.memoryTypeBits );
+    }
+
+    bool operator!=( PhysicalDeviceMemoryControlPropertiesFUCHSIA const & rhs ) const VULKAN_HPP_NOEXCEPT
+    {
+      return !operator==( rhs );
+    }
+#  endif
+
+  public:
+    VULKAN_HPP_NAMESPACE::StructureType        sType = StructureType::ePhysicalDeviceMemoryControlPropertiesFUCHSIA;
+    void *                                     pNext = {};
+    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA wholeMemoryOperations      = {};
+    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA endMemoryOperations        = {};
+    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA startMemoryOperations      = {};
+    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA arbitraryMemoryOperations  = {};
+    VULKAN_HPP_NAMESPACE::MemoryOpFlagsFUCHSIA initialMemoryOperations    = {};
+    VULKAN_HPP_NAMESPACE::DeviceSize           memoryOperationGranularity = {};
+    uint32_t                                   memoryTypeBits             = {};
+  };
+  VULKAN_HPP_STATIC_ASSERT( sizeof( VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryControlPropertiesFUCHSIA ) ==
+                              sizeof( VkPhysicalDeviceMemoryControlPropertiesFUCHSIA ),
+                            "struct and wrapper have different size!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_standard_layout<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryControlPropertiesFUCHSIA>::value,
+    "struct wrapper is not a standard layout!" );
+  VULKAN_HPP_STATIC_ASSERT(
+    std::is_nothrow_move_constructible<VULKAN_HPP_NAMESPACE::PhysicalDeviceMemoryControlPropertiesFUCHSIA>::value,
+    "PhysicalDeviceMemoryControlPropertiesFUCHSIA is not nothrow_move_constructible!" );
+
+  template <>
+  struct CppType<StructureType, StructureType::ePhysicalDeviceMemoryControlPropertiesFUCHSIA>
+  {
+    using Type = PhysicalDeviceMemoryControlPropertiesFUCHSIA;
+  };
+#endif /*VK_USE_PLATFORM_FUCHSIA*/
+
   struct PhysicalDeviceMemoryPriorityFeaturesEXT
   {
     using NativeType = VkPhysicalDeviceMemoryPriorityFeaturesEXT;
@@ -81625,9 +83279,9 @@
       : dstSet( dstSet_ )
       , dstBinding( dstBinding_ )
       , dstArrayElement( dstArrayElement_ )
-      , descriptorCount( static_cast<uint32_t>( !imageInfo_.empty()    ? imageInfo_.size()
-                                                : !bufferInfo_.empty() ? bufferInfo_.size()
-                                                                       : texelBufferView_.size() ) )
+      , descriptorCount( static_cast<uint32_t>( !imageInfo_.empty() ? imageInfo_.size()
+                                                                    : !bufferInfo_.empty() ? bufferInfo_.size()
+                                                                                           : texelBufferView_.size() ) )
       , descriptorType( descriptorType_ )
       , pImageInfo( imageInfo_.data() )
       , pBufferInfo( bufferInfo_.data() )
diff --git a/registry/vk.xml b/registry/vk.xml
index 4995c6f..d7d9226 100644
--- a/registry/vk.xml
+++ b/registry/vk.xml
@@ -52,6 +52,7 @@
         <tag name="ANDROID"     author="Google LLC"                    contact="Jesse Hall @critsec"/>
         <tag name="CHROMIUM"    author="Google LLC"                    contact="Jesse Hall @critsec"/>
         <tag name="FUCHSIA"     author="Google LLC"                    contact="Craig Stout @cdotstout, Jesse Hall @critsec, John Rosasco @rosasco"/>
+        <tag name="FUCHSIAX"    author="Google LLC"                    contact="Craig Stout @cdotstout, Jesse Hall @critsec, John Rosasco @rosasco"/>
         <tag name="GGP"         author="Google, LLC"                   contact="Jean-Francois Roy @jfroy, Hai Nguyen @chaoticbob, Jesse Hall @critsec"/>
         <tag name="GOOGLE"      author="Google LLC"                    contact="Jesse Hall @critsec"/>
         <tag name="QCOM"        author="Qualcomm Technologies, Inc."   contact="Jeff Leger @jackohounhd"/>
@@ -383,6 +384,9 @@
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkPipelineRasterizationDepthClipStateCreateFlagsEXT</name>;</type>
         <type requires="VkSwapchainImageUsageFlagBitsANDROID" category="bitmask">typedef <type>VkFlags</type> <name>VkSwapchainImageUsageFlagsANDROID</name>;</type>
         <type requires="VkToolPurposeFlagBitsEXT"         category="bitmask">typedef <type>VkFlags</type> <name>VkToolPurposeFlagsEXT</name>;</type>
+        <type requires="VkImageFormatConstraintsFlagBitsFUCHSIAX"     category="bitmask">typedef <type>VkFlags</type> <name>VkImageFormatConstraintsFlagsFUCHSIAX</name>;</type>
+        <type requires="VkImageConstraintsInfoFlagBitsFUCHSIAX"     category="bitmask">typedef <type>VkFlags</type> <name>VkImageConstraintsInfoFlagsFUCHSIAX</name>;</type>
+        <type requires="VkMemoryOpFlagBitsFUCHSIA"     category="bitmask">typedef <type>VkFlags</type> <name>VkMemoryOpFlagsFUCHSIA</name>;</type>
         <type requires="VkSubmitFlagBitsKHR"              category="bitmask">typedef <type>VkFlags</type> <name>VkSubmitFlagsKHR</name>;</type>
         <type                                             category="bitmask">typedef <type>VkFlags</type> <name>VkImageFormatConstraintsFlagsFUCHSIA</name>;</type>
         <type requires="VkImageConstraintsInfoFlagBitsFUCHSIA"     category="bitmask">typedef <type>VkFlags</type> <name>VkImageConstraintsInfoFlagsFUCHSIA</name>;</type>
@@ -457,6 +461,7 @@
         <type category="handle" name="VkDescriptorUpdateTemplateKHR" alias="VkDescriptorUpdateTemplate"/>
         <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_SAMPLER_YCBCR_CONVERSION"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkSamplerYcbcrConversion</name>)</type>
         <type category="handle" name="VkSamplerYcbcrConversionKHR"   alias="VkSamplerYcbcrConversion"/>
+        <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIAX"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkBufferCollectionFUCHSIAX</name>)</type>
         <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_VALIDATION_CACHE_EXT"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkValidationCacheEXT</name>)</type>
         <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_KHR"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkAccelerationStructureKHR</name>)</type>
         <type category="handle" parent="VkDevice"         objtypeenum="VK_OBJECT_TYPE_ACCELERATION_STRUCTURE_NV"><type>VK_DEFINE_NON_DISPATCHABLE_HANDLE</type>(<name>VkAccelerationStructureNV</name>)</type>
@@ -629,6 +634,9 @@
         <type name="VkPipelineCompilerControlFlagBitsAMD" category="enum"/>
         <type name="VkShaderCorePropertiesFlagBitsAMD" category="enum"/>
         <type name="VkToolPurposeFlagBitsEXT" category="enum"/>
+        <type name="VkImageFormatConstraintsFlagBitsFUCHSIAX" category="enum"/>
+        <type name="VkImageConstraintsInfoFlagBitsFUCHSIAX" category="enum"/>
+        <type name="VkMemoryOpFlagBitsFUCHSIA" category="enum"/>
         <type name="VkFragmentShadingRateNV" category="enum"/>
         <type name="VkFragmentShadingRateTypeNV" category="enum"/>
         <type name="VkAccessFlagBits2KHR" category="enum"/>
@@ -2060,6 +2068,12 @@
             <member optional="true">const <type>SECURITY_ATTRIBUTES</type>*       <name>pAttributes</name></member>
             <member optional="true"><type>DWORD</type>                            <name>dwAccess</name></member>
         </type>
+        <type category="struct" name="VkControlOpsMemoryAllocateInfoFUCHSIA" structextends="VkMemoryAllocateInfo">
+            <member values="VK_STRUCTURE_TYPE_CONTROL_OPS_MEMORY_ALLOCATE_INFO_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member optional="true"><type>VkMemoryOpFlagsFUCHSIA</type>           <name>supportedOperations</name></member>
+            <member optional="true"><type>VkMemoryOpFlagsFUCHSIA</type>           <name>initialOperations</name><comment>Operations apply to entire memory</comment></member>
+        </type>
         <type category="struct" name="VkWin32KeyedMutexAcquireReleaseInfoNV" structextends="VkSubmitInfo,VkSubmitInfo2KHR">
             <member values="VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV"><type>VkStructureType</type> <name>sType</name></member>
             <member optional="true">const <type>void</type>*                      <name>pNext</name></member>
@@ -2395,6 +2409,84 @@
             <member><type>VkDeviceMemory</type>                   <name>memory</name></member>
             <member><type>VkExternalMemoryHandleTypeFlagBits</type> <name>handleType</name></member>
         </type>
+        <type category="struct" name="VkImportMemoryBufferCollectionFUCHSIAX" structextends="VkMemoryAllocateInfo">
+            <member values="VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member><type>VkBufferCollectionFUCHSIAX</type>        <name>collection</name></member>
+            <member><type>uint32_t</type>                         <name>index</name></member>
+        </type>
+        <type category="struct" name="VkBufferCollectionImageCreateInfoFUCHSIAX" structextends="VkImageCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member><type>VkBufferCollectionFUCHSIAX</type>        <name>collection</name></member>
+            <member><type>uint32_t</type>                         <name>index</name></member>
+        </type>
+        <type category="struct" name="VkBufferCollectionBufferCreateInfoFUCHSIAX" structextends="VkBufferCreateInfo">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member><type>VkBufferCollectionFUCHSIAX</type>        <name>collection</name></member>
+            <member><type>uint32_t</type>                         <name>index</name></member>
+        </type>
+        <type category="struct" name="VkBufferCollectionCreateInfoFUCHSIAX">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member><type>zx_handle_t</type>                      <name>collectionToken</name></member>
+        </type>
+        <type category="struct" name="VkBufferCollectionPropertiesFUCHSIAX">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*                            <name>pNext</name></member>
+            <member><type>uint32_t</type>                         <name>memoryTypeBits</name></member>
+            <member><type>uint32_t</type>                         <name>count</name></member>
+        </type>
+        <type category="struct" name="VkBufferCollectionProperties2FUCHSIAX">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*                            <name>pNext</name></member>
+            <member><type>uint32_t</type>                         <name>memoryTypeBits</name></member>
+            <member><type>uint32_t</type>                         <name>bufferCount</name></member>
+            <member><type>uint32_t</type>                         <name>createInfoIndex</name></member>
+            <member><type>uint64_t</type>                         <name>sysmemFormat</name></member>
+            <member><type>VkFormatFeatureFlags</type>             <name>formatFeatures</name></member>
+            <member><type>VkSysmemColorSpaceFUCHSIAX</type>        <name>colorSpace</name></member>
+            <member><type>VkComponentMapping</type>               <name>samplerYcbcrConversionComponents</name></member>
+            <member><type>VkSamplerYcbcrModelConversion</type>    <name>suggestedYcbcrModel</name></member>
+            <member><type>VkSamplerYcbcrRange</type>              <name>suggestedYcbcrRange</name></member>
+            <member><type>VkChromaLocation</type>                 <name>suggestedXChromaOffset</name></member>
+            <member><type>VkChromaLocation</type>                 <name>suggestedYChromaOffset</name></member>
+        </type>
+        <type category="struct" name="VkBufferConstraintsInfoFUCHSIAX">
+            <member values="VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                      <name>pNext</name></member>
+            <member>const <type>VkBufferCreateInfo</type>*        <name>pBufferCreateInfo</name></member>
+            <member optional="true"><type>VkFormatFeatureFlags</type>             <name>requiredFormatFeatures</name></member>
+            <member><type>uint32_t</type>                         <name>minCount</name></member>
+        </type>
+        <type category="struct" name="VkSysmemColorSpaceFUCHSIAX">
+            <member values="VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                     <name>pNext</name></member>
+            <member><type>uint32_t</type>                        <name>colorSpace</name></member>
+        </type>
+        <type category="struct" name="VkImageFormatConstraintsInfoFUCHSIAX">
+            <member values="VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                     <name>pNext</name></member>
+            <member optional="true"><type>VkFormatFeatureFlags</type>            <name>requiredFormatFeatures</name></member>
+            <member optional="true"><type>VkImageFormatConstraintsFlagsFUCHSIAX</type>       <name>flags</name></member>
+            <member><type>uint64_t</type>                        <name>sysmemFormat</name></member>
+            <member><type>uint32_t</type>                        <name>colorSpaceCount</name></member>
+            <member optional="true">const <type>VkSysmemColorSpaceFUCHSIAX</type>*      <name>pColorSpaces</name></member>
+        </type>
+        <type category="struct" name="VkImageConstraintsInfoFUCHSIAX">
+            <member values="VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIAX"><type>VkStructureType</type> <name>sType</name></member>
+            <member>const <type>void</type>*                     <name>pNext</name></member>
+            <member><type>uint32_t</type>                        <name>createInfoCount</name></member>
+            <member len="createInfoCount">const <type>VkImageCreateInfo</type>*  <name>pCreateInfos</name></member>
+            <member len="createInfoCount" optional="true">const <type>VkImageFormatConstraintsInfoFUCHSIAX</type>* <name>pFormatConstraints</name></member>
+            <member><type>uint32_t</type>                        <name>minBufferCount</name></member>
+            <member><type>uint32_t</type>                        <name>maxBufferCount</name></member>
+            <member><type>uint32_t</type>                        <name>minBufferCountForCamping</name></member>
+            <member><type>uint32_t</type>                        <name>minBufferCountForDedicatedSlack</name></member>
+            <member><type>uint32_t</type>                        <name>minBufferCountForSharedSlack</name></member>
+            <member optional="true"><type>VkImageConstraintsInfoFlagsFUCHSIAX</type>       <name>flags</name></member>
+        </type>
         <type category="struct" name="VkMemoryWin32HandlePropertiesKHR" returnedonly="true">
             <member values="VK_STRUCTURE_TYPE_MEMORY_WIN32_HANDLE_PROPERTIES_KHR"><type>VkStructureType</type> <name>sType</name></member>
             <member optional="true"><type>void</type>*                            <name>pNext</name></member>
@@ -5230,6 +5322,30 @@
             <member optional="true"><type>void</type>*        <name>pNext</name></member>
             <member><type>VkBool32</type>                           <name>robustImageAccess</name></member>
         </type>
+        <type category="struct" name="VkPhysicalDeviceMemoryControlPropertiesFUCHSIA" structextends="VkPhysicalDeviceProperties2" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_CONTROL_PROPERTIES_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member noautovalidity="true"><type>void</type>*    <name>pNext</name></member>
+            <member><type>VkMemoryOpFlagsFUCHSIA</type>              <name>wholeMemoryOperations</name><comment>Operations that can act on entire memory</comment></member>
+            <member><type>VkMemoryOpFlagsFUCHSIA</type>              <name>endMemoryOperations</name><comment>Operations that can act on end of memory</comment></member>
+            <member><type>VkMemoryOpFlagsFUCHSIA</type>              <name>startMemoryOperations</name><comment>Operations that can act on start of memory</comment></member>
+            <member><type>VkMemoryOpFlagsFUCHSIA</type>              <name>arbitraryMemoryOperations</name><comment>Operations that can act on arbitrary ranges, subject to the granularity</comment></member>
+            <member><type>VkMemoryOpFlagsFUCHSIA</type>              <name>initialMemoryOperations</name><comment>Operations that can be specified in initialOperations.</comment></member>
+            <member><type>VkDeviceSize</type>                   <name>memoryOperationGranularity</name></member>
+            <member><type>uint32_t</type>               <name>memoryTypeBits</name><comment>Bitmask of the allowed memory type indices into memoryTypes[] that are supported</comment></member>
+        </type>
+        <type category="struct" name="VkMemoryRangeFUCHSIA">
+            <member values="VK_STRUCTURE_TYPE_MEMORY_RANGE_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*    <name>pNext</name></member>
+            <member><type>VkDeviceMemory</type>         <name>memory</name><comment>memory object</comment></member>
+            <member><type>VkDeviceSize</type>           <name>offset</name><comment>Offset within the memory object where the range starts</comment></member>
+            <member><type>VkDeviceSize</type>           <name>size</name><comment>Size of the range within the memory object</comment></member>
+        </type>
+        <type category="struct" name="VkMemoryOpResultFUCHSIA" returnedonly="true">
+            <member values="VK_STRUCTURE_TYPE_MEMORY_OP_RESULT_FUCHSIA"><type>VkStructureType</type> <name>sType</name></member>
+            <member><type>void</type>*    <name>pNext</name></member>
+            <member><type>VkDeviceSize</type>                   <name>discardedOffset</name></member>
+            <member><type>VkDeviceSize</type>                   <name>discardedSize</name></member>
+        </type>
         <type category="struct" name="VkPhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR" structextends="VkPhysicalDeviceFeatures2,VkDeviceCreateInfo">
             <member values="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_FEATURES_KHR"><type>VkStructureType</type> <name>sType</name></member>
             <member optional="true" noautovalidity="true"><type>void</type>*        <name>pNext</name></member>
@@ -7849,6 +7965,23 @@
         <enum bitpos="3"     name="VK_TOOL_PURPOSE_ADDITIONAL_FEATURES_BIT_EXT"/>
         <enum bitpos="4"     name="VK_TOOL_PURPOSE_MODIFYING_FEATURES_BIT_EXT"/>
     </enums>
+    <enums name="VkImageFormatConstraintsFlagBitsFUCHSIAX" type="bitmask">
+    </enums>
+    <enums name="VkImageConstraintsInfoFlagBitsFUCHSIAX" type="bitmask">
+        <enum bitpos="0"    name="VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_RARELY_FUCHSIAX"/>
+        <enum bitpos="1"    name="VK_IMAGE_CONSTRAINTS_INFO_CPU_READ_OFTEN_FUCHSIAX"/>
+        <enum bitpos="2"    name="VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_RARELY_FUCHSIAX"/>
+        <enum bitpos="3"    name="VK_IMAGE_CONSTRAINTS_INFO_CPU_WRITE_OFTEN_FUCHSIAX"/>
+        <enum bitpos="4"    name="VK_IMAGE_CONSTRAINTS_INFO_PROTECTED_OPTIONAL_FUCHSIAX"/>
+    </enums>
+    <enums name="VkMemoryOpFlagBitsFUCHSIA" type="bitmask">
+        <enum bitpos="0"    name="VK_MEMORY_OP_UNPIN_BIT_FUCHSIA"/>
+        <enum bitpos="1"    name="VK_MEMORY_OP_DECOMMIT_BIT_FUCHSIA"/>
+        <enum bitpos="2"    name="VK_MEMORY_OP_PIN_BIT_FUCHSIA"/>
+        <enum bitpos="3"    name="VK_MEMORY_OP_COMMIT_BIT_FUCHSIA"/>
+        <enum bitpos="4"    name="VK_MEMORY_OP_LOCK_BIT_FUCHSIA"/>
+        <enum bitpos="5"    name="VK_MEMORY_OP_UNLOCK_BIT_FUCHSIA"/>
+    </enums>
     <enums name="VkFragmentShadingRateCombinerOpKHR" type="enum">
         <enum value="0" name="VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR"/>
         <enum value="1" name="VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR"/>
@@ -9307,6 +9440,56 @@
             <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
             <param><type>VkSurfaceKHR</type>* <name>pSurface</name></param>
         </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+            <proto><type>VkResult</type> <name>vkCreateBufferCollectionFUCHSIAX</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param>const <type>VkBufferCollectionCreateInfoFUCHSIAX</type>* <name>pImportInfo</name></param>
+            <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
+            <param><type>VkBufferCollectionFUCHSIAX</type>* <name>pCollection</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+            <proto><type>VkResult</type> <name>vkSetBufferCollectionConstraintsFUCHSIAX</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkBufferCollectionFUCHSIAX</type> <name>collection</name></param>
+            <param>const <type>VkImageCreateInfo</type>* <name>pImageInfo</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+            <proto><type>VkResult</type> <name>vkSetBufferCollectionBufferConstraintsFUCHSIAX</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkBufferCollectionFUCHSIAX</type> <name>collection</name></param>
+            <param>const <type>VkBufferConstraintsInfoFUCHSIAX</type>* <name>pBufferConstraintsInfo</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+            <proto><type>VkResult</type> <name>vkSetBufferCollectionImageConstraintsFUCHSIAX</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkBufferCollectionFUCHSIAX</type> <name>collection</name></param>
+            <param>const <type>VkImageConstraintsInfoFUCHSIAX</type>* <name>pImageConstraintsInfo</name></param>
+        </command>
+        <command>
+            <proto><type>void</type> <name>vkDestroyBufferCollectionFUCHSIAX</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkBufferCollectionFUCHSIAX</type> <name>collection</name></param>
+            <param optional="true">const <type>VkAllocationCallbacks</type>* <name>pAllocator</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+            <proto><type>VkResult</type> <name>vkGetBufferCollectionPropertiesFUCHSIAX</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkBufferCollectionFUCHSIAX</type> <name>collection</name></param>
+            <param><type>VkBufferCollectionPropertiesFUCHSIAX</type>* <name>pProperties</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY">
+            <proto><type>VkResult</type> <name>vkGetBufferCollectionProperties2FUCHSIAX</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkBufferCollectionFUCHSIAX</type> <name>collection</name></param>
+            <param><type>VkBufferCollectionProperties2FUCHSIAX</type>* <name>pProperties</name></param>
+        </command>
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY">
+            <proto><type>VkResult</type> <name>vkTrimCompactImageDeviceMemoryFUCHSIA</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkImage</type> <name>image</name></param>
+            <param><type>VkDeviceMemory</type> <name>memory</name></param>
+            <param><type>VkDeviceSize</type> <name>memoryOffset</name></param>
+        </command>
         <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_OUT_OF_DEVICE_MEMORY,VK_ERROR_NATIVE_WINDOW_IN_USE_KHR">
             <proto><type>VkResult</type> <name>vkCreateStreamDescriptorSurfaceGGP</name></proto>
             <param><type>VkInstance</type> <name>instance</name></param>
@@ -10906,7 +11089,15 @@
             <param><type>VkPrivateDataSlotEXT</type> <name>privateDataSlot</name></param>
             <param><type>uint64_t</type>* <name>pData</name></param>
         </command>
-        <command queues="transfer,graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary">
+        <command successcodes="VK_SUCCESS" errorcodes="VK_ERROR_OUT_OF_HOST_MEMORY,VK_ERROR_MEMORY_PINNED_FUCHSIA">
+            <proto><type>VkResult</type> <name>vkModifyMemoryRangesFUCHSIA</name></proto>
+            <param><type>VkDevice</type> <name>device</name></param>
+            <param><type>VkMemoryOpFlagsFUCHSIA</type> <name>op</name></param>
+            <param><type>uint32_t</type> <name>memoryRangeCount</name></param>
+            <param len="memoryRangeCount">const <type>VkMemoryRangeFUCHSIA</type>* <name>pMemoryRanges</name></param>
+            <param len="memoryRangeCount" optional="true"><type>VkMemoryOpResultFUCHSIA</type>* <name>pOpResults</name></param>
+        </command>
+        <command queues="transfer,graphics,compute" renderpass="outside" cmdbufferlevel="primary,secondary" pipeline="transfer">
             <proto><type>void</type> <name>vkCmdCopyBuffer2KHR</name></proto>
             <param externsync="true"><type>VkCommandBuffer</type> <name>commandBuffer</name></param>
             <param>const <type>VkCopyBufferInfo2KHR</type>* <name>pCopyBufferInfo</name></param>
@@ -16548,6 +16739,14 @@
                 <enum value="&quot;VK_AMD_extension_323&quot;"              name="VK_AMD_EXTENSION_323_EXTENSION_NAME"/>
             </require>
         </extension>
+        <extension name="VK_FUCHSIA_compact_image" number="1008" type="device" author="FUCHSIA" contact="David Reveman @reveman" supported="vulkan" platform="fuchsia">
+            <require>
+                <enum value="1"                                             name="VK_FUCHSIA_COMPACT_IMAGE_SPEC_VERSION"/>
+                <enum value="&quot;VK_FUCHSIA_compact_image&quot;"          name="VK_FUCHSIA_COMPACT_IMAGE_EXTENSION_NAME"/>
+                <enum bitpos="30" extends="VkImageCreateFlagBits"           name="VK_IMAGE_CREATE_COMPACT_BIT_FUCHSIA"/>
+                <command name="vkTrimCompactImageDeviceMemoryFUCHSIA"/>
+            </require>
+        </extension>
         <extension name="VK_KHR_shader_subgroup_uniform_control_flow" number="324" type="device" requiresCore="1.1" author="KHR" contact="Alan Baker @alan-baker" supported="vulkan">
             <require>
                 <enum value="1" name="VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION"/>
@@ -16891,10 +17090,22 @@
                 <enum value="&quot;VK_EXT_extension_363&quot;"              name="VK_EXT_EXTENSION_363_EXTENSION_NAME"/>
             </require>
         </extension>
-        <extension name="VK_FUCHSIA_extension_364" number="364" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
+        <extension name="VK_FUCHSIA_memory_control" number="364" type="device" author="FUCHSIA" contact="John Bauman @jbauman42" platform="fuchsia" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_FUCHSIA_EXTENSION_364_SPEC_VERSION"/>
-                <enum value="&quot;VK_FUCHSIA_extension_364&quot;"          name="VK_FUCHSIA_EXTENSION_364_EXTENSION_NAME"/>
+                <enum value="1"                                         name="VK_FUCHSIA_MEMORY_CONTROL_SPEC_VERSION"/>
+                <enum value="&quot;VK_FUCHSIA_memory_control&quot;"     name="VK_FUCHSIA_MEMORY_CONTROL_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_CONTROL_PROPERTIES_FUCHSIA"/>
+                <enum offset="1" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_MEMORY_RANGE_FUCHSIA"/>
+                <enum offset="2" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_MEMORY_OP_RESULT_FUCHSIA"/>
+                <enum offset="3" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_CONTROL_OPS_MEMORY_ALLOCATE_INFO_FUCHSIA"/>
+                <enum offset="0" extends="VkResult" dir="-"             name="VK_ERROR_MEMORY_PINNED_FUCHSIA"/>
+                <type name="VkMemoryOpFlagBitsFUCHSIA"/>
+                <type name="VkMemoryOpFlagsFUCHSIA"/>
+                <type name="VkPhysicalDeviceMemoryControlPropertiesFUCHSIA"/>
+                <type name="VkMemoryRangeFUCHSIA"/>
+                <type name="VkMemoryOpResultFUCHSIA"/>
+                <type name="VkControlOpsMemoryAllocateInfoFUCHSIA"/>
+                <command name="vkModifyMemoryRangesFUCHSIA"/>
             </require>
         </extension>
         <extension name="VK_FUCHSIA_external_memory" number="365" type="device" requires="VK_KHR_external_memory_capabilities,VK_KHR_external_memory" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan">
@@ -16925,7 +17136,7 @@
                 <command name="vkGetSemaphoreZirconHandleFUCHSIA"/>
             </require>
         </extension>
-        <extension name="VK_FUCHSIA_buffer_collection" number="367" type="device" requires="VK_FUCHSIA_external_memory,VK_KHR_sampler_ycbcr_conversion" author="FUCHSIA" contact="John Rosasco @rosasco" supported="vulkan" platform="fuchsia">
+        <extension name="VK_FUCHSIA_buffer_collection" number="367" type="device" requires="VK_FUCHSIA_external_memory,VK_KHR_sampler_ycbcr_conversion" author="FUCHSIA" contact="John Rosasco @rosasco" platform="fuchsia" supported="vulkan">
             <require>
                 <enum value="2"                                         name="VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION"/>
                 <enum value="&quot;VK_FUCHSIA_buffer_collection&quot;"  name="VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME"/>
@@ -16962,10 +17173,44 @@
                 <command name="vkGetBufferCollectionPropertiesFUCHSIA"/>
             </require>
         </extension>
-        <extension name="VK_FUCHSIA_extension_368" number="368" author="FUCHSIA" contact="Craig Stout @cdotstout" supported="disabled">
+        <extension name="VK_FUCHSIA_buffer_collection_x" number="368" type="device" requires="VK_FUCHSIA_external_memory,VK_KHR_sampler_ycbcr_conversion" author="FUCHSIA" contact="John Bauman @jbauman" platform="fuchsia" supported="vulkan">
             <require>
-                <enum value="0"                                             name="VK_FUCHSIA_EXTENSION_368_SPEC_VERSION"/>
-                <enum value="&quot;VK_FUCHSIA_extension_368&quot;"          name="VK_FUCHSIA_EXTENSION_368_EXTENSION_NAME"/>
+                <enum value="1"                                         name="VK_FUCHSIA_BUFFER_COLLECTION_X_SPEC_VERSION"/>
+                <enum value="&quot;VK_FUCHSIA_buffer_collection_x&quot;"  name="VK_FUCHSIA_BUFFER_COLLECTION_X_EXTENSION_NAME"/>
+                <enum offset="0" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIAX"/>
+                <enum offset="2" extends="VkObjectType"                 name="VK_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIAX" comment="VkBufferCollectionFUCHSIAX"/>
+                <enum offset="3" extends="VkDebugReportObjectTypeEXT"   name="VK_DEBUG_REPORT_OBJECT_TYPE_BUFFER_COLLECTION_FUCHSIAX_EXT"/>
+                <enum offset="4" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIAX"/>
+                <enum offset="5" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIAX"/>
+                <enum offset="6" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIAX"/>
+                <enum offset="7" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIAX"/>
+                <enum offset="8" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIAX"/>
+                <enum offset="9" extends="VkStructureType"              name="VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIAX"/>
+                <enum offset="10" extends="VkStructureType"             name="VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIAX"/>
+                <enum offset="11" extends="VkStructureType"             name="VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES2_FUCHSIAX"/>
+                <enum offset="12" extends="VkStructureType"             name="VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIAX"/>
+                <type name="VkBufferCollectionFUCHSIAX"/>
+                <type name="VkBufferCollectionCreateInfoFUCHSIAX"/>
+                <type name="VkImportMemoryBufferCollectionFUCHSIAX"/>
+                <type name="VkBufferCollectionImageCreateInfoFUCHSIAX"/>
+                <type name="VkBufferConstraintsInfoFUCHSIAX"/>
+                <type name="VkBufferCollectionBufferCreateInfoFUCHSIAX"/>
+                <type name="VkBufferCollectionPropertiesFUCHSIAX"/>
+                <type name="VkBufferCollectionProperties2FUCHSIAX"/>
+                <type name="VkImageFormatConstraintsFlagBitsFUCHSIAX"/>
+                <type name="VkImageFormatConstraintsFlagsFUCHSIAX"/>
+                <type name="VkSysmemColorSpaceFUCHSIAX"/>
+                <type name="VkImageConstraintsInfoFlagBitsFUCHSIAX"/>
+                <type name="VkImageConstraintsInfoFlagsFUCHSIAX"/>
+                <type name="VkImageConstraintsInfoFUCHSIAX"/>
+                <type name="VkImageFormatConstraintsInfoFUCHSIAX"/>
+                <command name="vkCreateBufferCollectionFUCHSIAX"/>
+                <command name="vkSetBufferCollectionConstraintsFUCHSIAX"/>
+                <command name="vkSetBufferCollectionImageConstraintsFUCHSIAX"/>
+                <command name="vkSetBufferCollectionBufferConstraintsFUCHSIAX"/>
+                <command name="vkDestroyBufferCollectionFUCHSIAX"/>
+                <command name="vkGetBufferCollectionPropertiesFUCHSIAX"/>
+                <command name="vkGetBufferCollectionProperties2FUCHSIAX"/>
             </require>
         </extension>
         <extension name="VK_QCOM_extension_369" number="369" author="QCOM" contact="Matthew Netsch @mnetsch" supported="disabled">
diff --git a/scripts/rebuild.sh b/scripts/rebuild.sh
new file mode 100755
index 0000000..952c68d
--- /dev/null
+++ b/scripts/rebuild.sh
@@ -0,0 +1,34 @@
+#!/bin/bash
+# Copyright 2020 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+set -e
+
+script_path="$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )"
+headers_path=$script_path/..
+
+if [[ $# -lt 2 ]]
+then
+  echo "Usage: rebuild.sh <Vulkan-Docs path> <Vulkan-Hpp path>"
+  exit 1
+fi
+vulkan_docs_path=$1
+vullkan_hpp_path=$2
+
+cd $vulkan_docs_path/xml
+cp -v $headers_path/registry/vk.xml .
+make
+cp -v ../gen/include/vulkan/vulkan_core.h $headers_path/include/vulkan
+cp -v ../gen/include/vulkan/vulkan_fuchsia.h $headers_path/include/vulkan
+
+cd $vullkan_hpp_path
+./VulkanHppGenerator $headers_path/registry/vk.xml
+
+case "$OSTYPE" in
+  darwin*)  arch="mac-x64" ;;
+  linux*)   arch="linux-x64" ;;
+  *)        echo "Unknown: $OSTYPE"; exit ;;
+esac
+$headers_path/../../prebuilt/third_party/clang/${arch}/bin/clang-format --style=file -i vulkan/vulkan.hpp
+cp -v vulkan/vulkan.hpp $headers_path/include/vulkan